Skip to main content

Notice

If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: How can I play only unplayed songs? (Read 739 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

How can I play only unplayed songs?

Yeah I know, there are two different components out there, foo_playcount and foo_enhanced_playcoiunt.  I don't know how to use them so I thought I'd ask which of these does what I need it to.

I'm basically looking to play only songs that have not been played before, or where their playcount=0, probably.  I don't see any properties that handle this.

Is there a way to do this and if so, how?

Re: How can I play only unplayed songs?

Reply #1
Install foo_playcount.

Play songs for at least 1 minute to count as played.

Create an autoplaylist with 'Library > Search' and use this query:
Code: [Select]
%play_count% MISSING
(Click on '... > Create autoplaylist' to create the playlist.)

Re: How can I play only unplayed songs?

Reply #2
Install foo_playcount.

Play songs for at least 1 minute to count as played.

Create an autoplaylist with 'Library > Search' and use this query:
Code: [Select]
%play_count% MISSING
(Click on '... > Create autoplaylist' to create the playlist.)

Can I instead, create a Filter in Facets to accomplish the same thing?

What about for songs that HAVE been played?  Do either of these work?
NOT(%play_count% MISSING)
or
%play_count% NOT MISSING

Or is there another way?  I actually just played a track all the way through and tried to get this track to display by searching both queries.  Neither of them worked.  Could it be that Playback Statistics isn't properly installed and/or enabled?  Not quite sure how I would figure that one out.

What about songs that HAVE been played, in descending order?  Is it then possible to display each track's play count?


Re: How can I play only unplayed songs?

Reply #3
Facets uses query syntax so you can use it there as a filter.

To show tracks that have been played (either of these works):
Code: [Select]
%play_count% GREATER 0
%play_count% PRESENT
NOT (%play_count% MISSING)
This is not a valid query:
%play_count% NOT MISSING

To sort by %play_count%:
Code: [Select]
%play_count% GREATER 0 SORT DESCENDING BY %play_count%
%play_count% GREATER 0 SORT ASCENDING BY %play_count%
More info:
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax

For tracks to be counted as played you need to continuously play them for at least 1 minute. You can check if foo_playcount is installed via 'File > Preferences > Components'. If you have other versions of playcount installed (that is not foo_playcount), remove them.

Re: How can I play only unplayed songs?

Reply #4
Facets uses query syntax so you can use it there as a filter.

To show tracks that have been played (either of these works):
Code: [Select]
%play_count% GREATER 0
%play_count% PRESENT
NOT (%play_count% MISSING)
This is not a valid query:
%play_count% NOT MISSING

To sort by %play_count%:
Code: [Select]
%play_count% GREATER 0 SORT DESCENDING BY %play_count%
%play_count% GREATER 0 SORT ASCENDING BY %play_count%
More info:
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax

For tracks to be counted as played you need to continuously play them for at least 1 minute. You can check if foo_playcount is installed via 'File > Preferences > Components'. If you have other versions of playcount installed (that is not foo_playcount), remove them.
[/quote

Thank you so much for some very good information.  The queries all make sense to me.  I think I essentially tried to do the same thing, and in theory, what I tried should've worked, but apparently what I was thinking isn't by a method supported by foobar2000.

Yes, playcount IS installed, I'd even updated it to the newest version.  I don't think it's working, though.  That, or I don't know how to use it correctly  I was playing with the Preferences, and in here: Preferences>Advanced>Tools>Playback Statistics

I found this option, which was not checked.

Automatically synchonize file tags with statistics (cause file tag rewrites during playback, disrecommended)

For this to register play counts, does this need to be checked?  If I check it, should I really be worried about performance?

If not, then how does foobar2000 know which items had been played? Is it in a database of some sort?

Re: How can I play only unplayed songs?

Reply #5
I found this option, which was not checked.
Automatically synchonize file tags with statistics (cause file tag rewrites during playback, disrecommended)
For this to register play counts, does this need to be checked?  If I check it, should I really be worried about performance?
If not, then how does foobar2000 know which items had been played? Is it in a database of some sort?
My understanding is that the component updates the file tag sometime other than when the file is playing. So no, you wouldn't be helped by selecting this option in any normal situations, and no, there isn't a database. As long as the component updates the tag after the song is played, the song will then not be selected by a properly formed 'playcount=0' query.

For me the question is whether to give the time before updating a file a zero value, so I would hear only songs I've never listen to any of. Perhaps a value of one or two seconds or more would be better in this regard? Is there a variable value indicating the max time a song has been played?
Quis custodiet ipsos custodes?  ;~)

Re: How can I play only unplayed songs?

Reply #6
Playback Statistics (foo_playcount) are indeed stored in a database by default. The Advanced Preferences option allows you to also tag the files, but that is not necessary for the statistics to update.

Make sure you have Library menu > Playback Statistics > 'Monitor Playing Tracks' enabled (this is the on/off switch) - it is on by default.

A default install of Facets already comes with a "Never Played" filter (on the toolbar button), so there is no need to add that one.

In track Properties > Details tab you should see a Playback Statistics heading with the stats for that track.

Re: How can I play only unplayed songs?

Reply #7
i use foo_playcount + foo_skip.

found solution here. Post by InCaseItRains:
Quote
Shuffle wasn't doing it for me... some tracks were getting skipped entirely, while others were getting more than their share of repeats.

Took me a while, but I now have this setup:

    Under Components > Display > Default User Interface > Playlist View I have custom columns... Name = Plays, Pattern = %play_count%. I think I had to install foo_playcount 3.0.2 to get this. This will show the number of plays for each song. I don't know if it's necessary for the next part, but it confirmed for me that this was working the way I wanted.

    Install foo_skip 1.9.9. Then Components > Tools > Skip Track add the query %play_count% GREATER n, where n is a number of plays that you want to skip.

Ex: %play_count% GREATER 0 means skip all songs that have a playcount greater than 0. Your entire library will have to be played at least once before repeating again. In fact, after all songs have been played Foobar will jump around continually looking for something to play until you change this equation.

Hope that helps!

also you could try foo_playlist_attributes. this component can remove played tracks from playlist and more.

Re: How can I play only unplayed songs?

Reply #8
I set up a few rules in Random Pools and Playlist Attributes so that only tracks NOT played in the last 15 days are considered.
After a track is completely played it's automatically removed from the playlist.
If, after the removal it will remain only two tracks, RP will load a couple of hours tracks, following the filtering rules
I defined for the pool formation (rating > x, genre HAS, etc).
In our house, music is randomly on for most time of the day and it is nice not to listen to the same track for some days.

 
SimplePortal 1.0.0 RC1 © 2008-2021