Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_DAR: auto rating (Read 126455 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_DAR: auto rating

Reply #100

I wouldn't like that. I don't depend on my filename on anything, since i regularly might change them. However, what prevents you from writing it to a tag?

Nothing. I think that it should be up to the user. But IMO audio files were never designed to be perpetually altered; whereas databases are (this is especially the case regarding dynamic ratings data linked to time, as it changes perpetually). A plus side of storing play stats in a database is backups: with a DB you are backing up all the info in one file. If you want to backup your play stat data held in tags you have to backup gigabytes of data. But that's just my opinion / preference; ultimately I agree with you, it's a user's choice, how they wish to store their data and use their file system.

I agree with you, but I just feel that a music database is too fragile since it's dynamically generated. That's why I like static info in the files. It doesn't really bother me that my files are updated everytime they are played, if it's done silently
Can't wait for a HD-AAC encoder :P

foo_DAR: auto rating

Reply #101
foobar has this %played_per_day% thing. That's maybe something to consider in creating an autoratingscheme without systemtime available.

foo_DAR: auto rating

Reply #102
foobar has this %played_per_day% thing. That's maybe something to consider in creating an autoratingscheme without systemtime available.

Plays per day in my book is Total Plays / No. of Days in Library.
However, %played_per_day% "returns the average daily playcount between %first_played% and %last_played%", which is NOT the same as "plays per day".

For example, let's say I have a very unpopular track, it's been in my library for 2 years, and I've only just got round to playing it - I play it once yesterday and once today. A true plays per day would give:

2 / (365 * 2)
= 0.002739726 plays per day

However %played_per_day% will give:
2 / 1*
= 2 plays per day

* or maybe 2, not sure how the difference between %first_played% (yesterday) and %last_played% today is calculated.

Extrapolated over the 2 years it's ACTUALLY been sitting in my library, this %played_per_day% result suggests I've played the song not twice BUT 1460 times (or maybe 730 times).

So I can't really see the use of %played_per_day% (whether in an auto-rating scheme or not).

Peter has employed this formulation because %first_played% and %last_played% are static. What is required for a true play per day is %added% minus %now%, but NOW is not static and requires the use of system time, which Peter will not use for previously stated reasons.

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #103
wow, thats huge...

heres what i came up with years ago for the playlist_tree. it just calculates how frequently files are played and sorts them.

Code: [Select]
rating GREATER 3 AND ("$cwb_datediff(%last_played%,%cwb_systemdate%)" GREATER 7 AND %play_count% GREATER 5)


Code: [Select]
%rating%$sub(10000000000,$num($div($mul($cwb_datediff(%first_played%,%cwb_systemdatetime%),1000000),%play_count%),10))

foo_DAR: auto rating

Reply #104
Lovely.
But what's your point?

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #105
I just want to give a big thanks to the author for this awesome plugin.

I've been wanting to use something like ratings for ages, but not based on my input but on listening habits.

I've made this little dots based in the DAR rating, so it looks nice like this  :



thansk a lot

foo_DAR: auto rating

Reply #106
Thank you.
I'm very glad you've found it useful.

C.

ps. How did you determine the value of each dot? By ranges? If so are they fixed, like one dot = 0 to 4999, 2 dots = 5000 to 6999, etc ...?

pps. fb2k looks good.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #107
Quote
For example, let's say I have a very unpopular track, it's been in my library for 2 years, and I've only just got round to playing it - I play it once yesterday and once today. A true plays per day would give:



If you've only just got around to playing it how do you know its unpopular?

I think a "true" plays per day is one that actually counts how many times it has been played per day since the first time it was played (just like foobar currently does), in your example you are "punishing" a song simply because you never listened to it, not because it is bad or even because you don't like it.

Quote
Extrapolated over the 2 years it's ACTUALLY been sitting in my library, this %played_per_day% result suggests I've played the song not twice BUT 1460 times (or maybe 730 times).


You would still have an actual playcount which would show how many times you listened to it.

foo_DAR: auto rating

Reply #108
If you've only just got around to playing it how do you know its unpopular?

I think a "true" plays per day is one that actually counts how many times it has been played per day since the first time it was played (just like foobar currently does), in your example you are "punishing" a song simply because you never listened to it, not because it is bad or even because you don't like it.

If it takes 2 years to get round to listening to a song, you're hardly excited by the prospect. If I get a new piece  of music I don't tend to treat it like some badly knitted jumper from a distant relative, instead I put it on straight away. Surely that tells you something. Imagine if you treated a girl friend the same way, I think it would be safe to conclude she wasn't your favourite woman in the world; yet you're right in that she may be the best lover you ever had, but then you have to ask why you were going out with her for 2 years before you bothered to find out.

You would still have an actual playcount which would show how many times you listened to it.

Sure, but my point was to highlight the dangers of using this in a formula, because as you can see, it can have a hugely distorting effect, and such distortions are precisely what one is desperate to avoid. Whereas:

Playcount / Days in Database doesn't lie. As I said, it tells you that you haven't been bothered to find out whether you like that song. foo_DAR deals with this pretty well IMO, one of the ways it does this is:

$puts(pd5,$div($mul($cwb_datediff(%added%,%first_played%),5),%play_counter%))

("the no. of days between when it was added and when it was first played" x 5 ) / play count

The track is penalised if you've taken a long time to get round to playing it, but that penalty is worked off pretty quickly the more you play it until it becomes inconsequential. So yes, it's penalising tracks that one takes a long time to get round to playing, but, like with the girl analogy, if one falls in love with a song, the penalty will disappear very quickly, and they all live happily ever after.

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #109
Some songs tend to get 'forgotten' but can be quite popular once you discover it (again). This happens much if you have a library with a total listening time > a couple of weeks. %played_per_day% gives some kind of popularity over time, it just chooses another window then you do in DAR.

In my collection there can be a great difference between added and first_played. I add to much music per week to listen to all of it in the short period before I add new music, so firstplayed is a better starting point for me. but thats personal.

I hope you come up with a code for default ui without using hooks. Even better if one that can be qeuried on.

foo_DAR: auto rating

Reply #110
Hi Mar2zz

I see your point. I know some people have very, very large collections. As I said above, for me there's no problem with penalising the track for a delay in playing it -- the key is to not make that penalty static. As long as the penalty can be reduced as plays increase then that seems okay. Also keep in mind that, in terms of foo_DARs total score, which increases in relatively large steps, not only is the penalty reducing, it's getting swamped by the increasing score. So it's not too much of a big deal.

I hope you come up with a code for default ui without using hooks. Even better if one that can be qeuried on.

This is really something for the foobar devs and component developers. As long as the Default UI does not support system time, all the "clever" bits of foo_DAR are disabled the "DAR" stands for date/duration adjusted ratings. Without system time, there's no reference point for date calculations.

I've already outlined what's required. If you want a default UI solution then support these ideas (which would allow the ability to query on the ratings - which, I agree, would really improve things - and not only on foo_DAR but other ratings schemes too).

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #111
Hello Carpman,

Actually i'm Running foobar 0.9.5.3
Is ist possible to run foo_DAR in this version (perhaps i'm going to update to 0.9.5.5)

kind regards
northwall

foo_DAR: auto rating

Reply #112
From memory, 0.9.5.3 is the version that abandoned support for cwb_hooks, so AFAIK the answer is foo_DAR won't currently work on any version > 0.9.5.2.

If I'm wrong can someone please correct the above.

Thanks,

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #113
Any plans to make foo_DAR in newer versions runable ? (>0.9.5.2)

Or is another Auto-Rating component available ?

foo_DAR: auto rating

Reply #114
That's what this is about.

[EDIT] and this.

ps. If you want to help then show support for the ideas ( a simple +1, would show there's demand for such improvements).

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #115
Hello carpman

your idea about an Auto-Rating-Component is realy great. I love this component running under foobar 0.9.5.2

I'd like to see foo_DAR or an integrated comparable Component in the future of foobar. (+1)

kind regards
northwall

foo_DAR: auto rating

Reply #116
ps. If you want to help then show support for the ideas ( a simple +1, would show there's demand for such improvements).

your idea about an Auto-Rating-Component is realy great. I love this component running under foobar 0.9.5.2

I'd like to see foo_DAR or an integrated comparable Component in the future of foobar. (+1)

Yeah, that kind of thing 
Thanks Northwall!
Fully appreciated and officially logged as support for foo_DAR in latest fb2k 

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #117
+1. I would love if DAR worked with 0.9.5.2+

foo_DAR: auto rating

Reply #118
+1. Voting for foo_DAR compatible > 0.9.5.2

foo_DAR: auto rating

Reply #119
foo_DAR in latest fb2k

All those who want foo_DAR working in the latest versions of fb2k I suggest you go here and let the devs know just how much you'd like these three title formatting fields, as without them it's simply not going to happen.

Cheers,

[have your +1's ready  ]

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)


foo_DAR: auto rating

Reply #121
Oh, my misunderstanding.
I thought they were a way of showing support for something.

Thanks for informing the misinformed.

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #122
I think a better way for showing what everyone want to support is to make a poll thread, explaining what we have discussed here.

foo_DAR: auto rating

Reply #123
Okay. Not quite sure what questions need to be asked over and above:

1) Would you use auto-ratings (such as hotness and foo_DAR etc ..) if you were able to in 0.9.5.3+ ?


Y / N / Don't care because I use an earlier version.

2) Do you consider you've watched a film if you've only seen the first 5 minutes?

Yes, I'm happy with the current Playback Statistics component
No, I think Playback Statistics needs to be improved


Do you mean that kind of thing?

The problem is, I'm not sure I care that much any longer. I use 0.9.4.3 and everything's fine.
The playcount I use only counts a song as played after 67% played and foo_DAR works like a charm with autoplaylist sorting my songs perfectly by their foo_DAR rating (and it's never crashed).
Additionally there's not a single feature in 0.9.5+ that I miss or need.

I've done my bit to try and get foo_DAR working for user of 0.9.5.3+.
I guess if there's real demand then it's up to those users to make themselves heard.
I wrote foo_DAR for me. The only reason I made it public was because I was so impressed that foobar could do everything I wanted a player to do, that it was my small contribution and thanks to those on HA who'd answered my questions. Since then foobar's shed a skin or two and no longer supports it - but really, that's not my problem.

In terms of autoratings and foobar in the future, it's pretty obvious what needs to happen. As far as I'm concerned I've put forward thoughtful ideas and possible alternatives, such as the recent post on title formatting fields, which would solve the system time (so-called) "problem" and I get this kind of reply:
What about users who keep foobar2000 running for multiple days, or even weeks?

I can really sense the fevered enthusiasm of the developers to accomodate auto-ratings into the new foobar.
Like I say, what's required is:

1) The playcount needs an overhaul.
2) They need to either allow people to "mis-use" title-formatting (which would mean providing fields that replace some of cwb_hooks functions) or to create an environment for scripting.

I think from now I'll take a reasonably disinterested back-seat and see what happens.

C.
PC = TAK + LossyWAV  ::  Portable = Opus (130)

foo_DAR: auto rating

Reply #124
I can really sense the fevered enthusiasm of the developers to accomodate auto-ratings into the new foobar.
I think your posts were often stimulating good discussion and I'm sure the fb2k team is aware that some solution to this is wanted, even without dumb "+1" posts and polls. Don't assume that it's the feature No. 1 on their TODO list, though. I know quite a few people who don't care at all about rating their music, or are absolutely satisfied with what current official Playback statistics component does.

That said, anyone with appropriate skills can develop a component which does many things you are thinking about. For example, providing a static %start time% is possible and extremely easy. Adding some kind of refresh command to update all tracks is not so hard either. Heck, even making another statistics collector is possible without any additional changes in foobar2000 itself. Still, there is no single person in the huge amount of people desperately waiting for such features who cares enough to create such a component, what a shame!

I think from now I'll take a reasonably disinterested back-seat and see what happens.
I wish you a restful hiatus.
Full-quoting makes you scroll past the same junk over and over.