You are not logged in.
In 0.92.4, the "times played" was changed to when the song starts, instead of when it ends, which is kind of an improvement I guess. But the problem now is that songs which you always skip after a few seconds now seem just as popular as the next song that you really like. The most correct would be to add the song to the "times played" list after, let's say 20 seconds or so. It that case you don't have to hear a song from start to end to let MC know that you like it, and it would also take care of the problem of adding crappy songs to the 10 most played list.
Offline
Agreed. Maybe the amount of seconds could be set as an option?
Offline
I completely disagree, but I guess that's the whole point of these forums ![]()
To me the information about # of times played refers ONLY to how many times a user has selected that song and hit play. It doesn't say Times Played through 20 seconds, it says "Times Played." If you don't want to listen to it and have it showing up in your most played list it's simple, play other songs 1 more time than you played this song that you don't like as well. You could also bump the rating for the song down to say 2 stars and have a dynamic playlist only select most played songs greater than or equal to 3 stars. Don't make the Times Played column into something it doesn't need to be.[/rant] ![]()
Now having said this I agree that an option could be helpful for you guys but imo it would also be unnecessary.
Offline
I'll join in and say i think it should be when the song has completed play! In the end I don't care as I don't use the play count, but to me it makes sense if its logged after the track is done (that way the track has been completely played which is the important bit to me).
Think just options for the different ways people work is important.
Offline
maybe if audioscrobber is to be implemented (as a plugin) it should follow the rules for that....
Offline
for me, I would prefer to see a percentage played rather than a time duration of say 20 seconds.
I use this feature a lot.
I would like to be able to tweak the values. To up them or reduce them myself. How do I do that ???
Offline
I agree that "Times Played" should be (a) a user selectable value and (b) set as a percentage (with a default of 50%).
The "Times Played" algorithm needs to be smart enough to keep track of how many seconds of a song have been played to reach the specified percentage. So if I have mine set to 33%, and I listen to 5 seconds, then drag the progress bar and skip 60 seconds, then listen to another 90 seconds of the song, then click "Next", it should count as having being played.
A percentage of 0% would mean "count as soon as the song starts playing" (which is apparently what it does now, and it is sub-optimal when a song you don't like starts and you hit "Next" and it still counts the song as having been played). 100% would mean you had to listen to every second of the song for the play counter to increment.
Offline
I am pretty sure that right now musikCube does not count based on how many times it has played, but how many times you actually choose to individually select a song and play it. I don't think it counts if you just put it on shuffle and play songs. I am basing this just on my own experience, not on hard info.
-Rajiv
Offline
FWIW, there's lots of debate about this sort of thing.
-iTunes and the iPod increment the playcount when the song ends.
-AudioScrobbler uses some kind of percentage thing to tell it when it's played (and hasn't seeked).
I personally dislike the idea of incrementing when the song starts because I skip through songs a lot. "Song ends" seems much better for the way I listen to music. After X seconds or X percentage would also be acceptable to me, I suppose. And playcount is an important column too... I have several playlists that are based on the top X% of playcount, sort of thing.
Anyway, this could be done in a plugin. Make a plugin that decrements the playcount on start of a song (to undo what the program does), then monitors for a while and increments if needed.
Last edited by Otto (2005-05-31 07:59:57)
Offline
I agree with eddy-- make "Times Played" (1) a user selectable value and (2) set it as a percentage with a default of 50%. (My reason for this is that I use random playback a lot and I do not want a song to be displayed as "played" if I only briefly listened to it before going to the next song.)
Offline
I use mC all day every day - I like it ..!!
For me this is an important feature. What's the chances of us seeing this added in the near future ???
Offline
i agree with the % people...
i always hated winamp for its behavior, because sometimes i dont wait until a song is played until the very end and skip forward, but still like it. others get skipped after i see the title, because i heard them too often already. these songs should not get rewarded for just still being in the playlist.
Offline
[Original version of this post was on 2005-Dec-15; updated on 2005-Dec-20.]
Here are my notes regarding what would need to be changed. What are your thoughts regarding this proposal?
A song's "Times Played" attribute is updated by the following method in musikLibrary.cpp:
int musikCore::Library::UpdateTimesPlayed(musikCore::SongInfo & Song)
That method is called from the following method in musikPlayer.cpp when the following method's song_begin parameter == true:
void musikCore::Player::UpdateSongHistory(bool song_begin)
The only place that the UpdateSongHistory method is called with song_begin==true is within the following method within the musikPlayer.cpp file.
void musikCore::Player::OnNextTrack(...)
I am not sure, but I think we would want to comment-out/remove the line in OnNextTrack that calls UpdateSongHistory, and comment-out/remove the line in UpdateSongHistory that calls UpdateTimesPlayed.
For the solution we want, I think we would want to call the UpdateTimesPlayed method from somewhere inside the code that is related to updating the progress bar in the user interface. The method that initiates the update of the progress bar is within the musikCubeFunctor.cpp file:
void CmusikCubeFunctor::OnTaskProgress( size_t progress, musikCore::Task* task_addr )
It seems that we could add code to this OnTaskProgress method that evaluates whether the progress is 50% (or whatever the user-desired setting is) and then calls the UpdateTimesPlayed method.
However, I don't know if this is architecturally feasible or desirable to call the UpdateTimesPlayed method from within the OnTaskProgress method. Is it? How would it affect the cubeScrobbler/Audioscrobbler plugin?
Thoughts? Anybody? (Beuller?) ![]()
Last edited by JFxx (2005-12-20 12:26:30)
Offline
Hello JFxx, I haven't a clue what you're talking about, however I am very pleased to see that you are delving into this topic. Thank You and good luck with testing your understanding.
Offline
I think the play count should work like a mail programm, the mail is marked as read after 3 sec. Why not make it marked after played 3 sec? (or make it changeable)
Last edited by mcbobo (2005-12-15 06:59:12)
Offline
I think "changeable" would work better, as sometimes it takes me three seconds to actually get around to skipping a song.
I think the best way to set this would be to have either a simple slider with a percentage box so that the user can decide. This will keep both song-start and song-end users happy, along with everybody in between.
Offline
Adding a user settable option for this seems like way overkill. Too many options, too much confusion. Your average user neither knows nor cares about this sort of thing.
I propose changing it to default to 50% and leaving it at that. This number can be made into a setting in the INI file for those who really care about it enough to want to change it, but we don't need an actual user interface slider somewhere to control it. Having an interface to adjust it just makes people question what it does, and the likely answer is that they don't really care to adjust it from the default anyway. Anybody who does ask how to change it can then be referred to the INI setting.
Offline
I think ~80% of MC users NEED this feature,me too.
i agree with Otto. Its enough to have an option in .INI file
Offline
Otto wrote:
...a setting in the INI file for those who really care about it enough to want to change it.
Anybody who does ask how to change it can then be referred to the INI setting.
Hooray Otto..!!
I like this idea a lot. Umm, can I have it for Christmas please..!!
Last edited by MusicBringer (2005-12-16 04:43:47)
Offline
I've changed my thoughts on this just slightly. I think we should have a "Times Started" number that is always incremented when a song starts, and then a "Times Played" number that increments when the song is 75% over (or a user set percentage).
Having these two numbers will allow people to see what songs they have started to hear versus what songs they actually let finish. For some people (like me), this would be a far better basis for ratings than the -1 to 5 stars. (I personally can't be bothered with giving songs a star rating except for -1, which I use for "don't ever play this again".)
Offline
JFxx wrote:
...I personally can't be bothered with giving songs a star rating
nor do I. I either like a song, and it's in my 15000+ mC database, or I don't like a song. In which case it gets zapped. No point in keeping it in the database. And certainly no point in awarding it a low rating.
Offline
i think it should be at least a couple seconds or a percentage of a song. i am always listening to music and skipping back to the song before to repeat it but this gives extra play counts to the song following the song i want to repeat. i want my play counts to be a accurate indication of my favorite songs.
I agree,
There 'times played' count should be changed after only 40% or something of a song has played through. Far too many songs in my library end up with higher play counts because they follow songs that I play a lot.
This % value should also be variable in an .ini file for those that wish to change it.
If someone finds a plugin that can do this can they email me. Thanks
Here's my edit of the request :
totplaytime > (SELECT avg(totplaytime) FROM songs WHERE totplaytime > 0) ORDER BY totplaytime DESC LIMIT 30;
Malnilion wrote:
To me the information about # of times played refers ONLY to how many times a user has selected that song and hit play. It doesn't say Times Played through 20 seconds, it says "Times Played."
This would make sense if "times played" wasn't the column used to determine who my "favorite artist" is. If you really want to be pedantic about what "times played" means then we need another column for "times skipped" or "times played all the way through" or "times played most of the way through."
All I want is a way to have songs that I skip a lot have a lower probability of being played the next time.