HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: TheDom on 2005-01-03 11:23:42

Title: foo_skip: skip tracks that match a specified search query
Post by: TheDom on 2005-01-03 11:23:42
Hi!

I would like to see a plugin that skips tracks that are marked via a tag as inactive. I don't like some tracks on albums and so I don't want to hear them (except if I click on them) but I want to keep them on my playlist because of the completeness.

Would be great if anybody could code something like this!
Title: foo_skip: skip tracks that match a specified search query
Post by: Silverbolt on 2005-01-03 11:33:06
Sounds like a cool idea.
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-03 12:20:54
Very impressive and cool!
I like this idea.

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-03 17:47:48
Another way:
Maybe there is a way only to play tracks with rating and skip all other tracks without rating-tag. Would be nice so!
Not a specially mark via a "tag for inactive" needs!

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: TheDom on 2005-01-03 18:33:46
I don't have and don't like ratings...
Title: foo_skip: skip tracks that match a specified search query
Post by: Lyx on 2005-01-03 21:41:57
Great idea!

It would be especially cool, if one could not just set a "dontplay"-tag to a file, but could also tell the plugin to "play only files with a rating of at least [dropdown-menu] but not higher than [dropdown-menu]."

- Lyx
Title: foo_skip: skip tracks that match a specified search query
Post by: mazy on 2005-01-03 22:06:10
well i'm all for configurable plugin, that would sit on top of playback flow and simply skip tracks that evaluate given formatting string to 'true' ...

edit: and if you could save some presets and then select them from toolbar, that would be uber cool
Title: foo_skip: skip tracks that match a specified search query
Post by: TheDom on 2005-01-06 12:01:00
*bump*
Anyone?
Title: foo_skip: skip tracks that match a specified search query
Post by: Der_Iltis on 2005-01-06 15:19:02
Isn't it possible with playlist_gen or Playlist tree?

Another suggestion would be to use Shuffle control (don't know if it is possible to increment the tracknumber in the playlist (just like the tracknumbers in Album shuffle mode) and to use something like +%Active% +$inc(%_Playlist_entry%)
Title: foo_skip: skip tracks that match a specified search query
Post by: TheDom on 2005-01-06 16:47:37
Quote
Isn't it possible with playlist_gen or Playlist tree?

No because I want that the tracks to show up on the playlist.
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-09 21:27:53
Well, I quickly put something together which might at least be a start.

If the plugin is enabled, all files with a 'skip'-tag are skipped except it's 'false' or '0'. The only way to play skip-tagged files is either to disable the plugin with 'Skip/deactivate' or to stop playback first and then play it. I made it this way, because I don't know any way to find out, if the user has double-clicked on a track or pressed the 'next'-button.

Get it here (http://www.youngpixel.de/foobar/foo_skip.dll), may need the msvcr71.dll (http://www.youngpixel.de/foobar/msvcr71.dll)
Title: foo_skip: skip tracks that match a specified search query
Post by: mazy on 2005-01-10 00:46:21
nice!

but could you please add adjustable formatting string to evaluate for that?
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-10 15:02:00
okay, done

The formatting string now must evaluate to 'true' or '1' to skip. Default is '$if2(%skip%,0)'

new version here (http://www.youngpixel.de/foobar/foo_skip.dll)
Title: foo_skip: skip tracks that match a specified search query
Post by: anza on 2005-01-10 16:11:18
Cool, now we'll only have to wait for Peter to implemet the "store these tags in the database instead of writing them to the files" option :B
Title: foo_skip: skip tracks that match a specified search query
Post by: TheDom on 2005-01-10 16:16:36
Works great. Thank you!!!
Title: foo_skip: skip tracks that match a specified search query
Post by: mazy on 2005-01-10 18:10:44
thanks a lot!
Title: foo_skip: skip tracks that match a specified search query
Post by: lightbulb on 2005-01-10 20:06:12
EDIT - never mind.
Title: foo_skip: skip tracks that match a specified search query
Post by: Fishy Joe on 2005-01-11 02:17:20
Quote
Cool, now we'll only have to wait for Peter to implemet the "store these tags in the database instead of writing them to the files" option :B
[a href="index.php?act=findpost&pid=264234"][{POST_SNAPBACK}][/a]



Would it be possible to implement a "DB Only Mask" like the play count plugin? Any file masks listed there will have the playcount saved in the foobar database rather than in the tag of the file.
Title: foo_skip: skip tracks that match a specified search query
Post by: Zurman on 2005-01-11 18:22:12
Amazing plugin. I would just suggest a few things :
The ability to have more than one format string, and choose the one that I want to use. For example some times I may want to skip the tracks marked "skip", and other times I want to play only rated tracks, etc...
It would be really nice if we could choose this quickly from the interface

keep up the good work 
Title: foo_skip: skip tracks that match a specified search query
Post by: Zurman on 2005-01-11 18:34:59
Just another thing : make the plugin always play the track whan double-clicked
Title: foo_skip: skip tracks that match a specified search query
Post by: Lyx on 2005-01-11 19:19:27
Cool, thanks :)

- Lyx

edit: eek, go away smiley!
Title: foo_skip: skip tracks that match a specified search query
Post by: Zurman on 2005-01-11 19:22:42
Sorry to have another request 

When the plugin skips a track, it plays automatically the following, but it should (I think) play the following or a random one, according to the playing mode.

Anyway thanks for the plugin
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-13 01:30:42
Quote
Amazing plugin. I would just suggest a few things :
The ability to have more than one format string, and choose the one that I want to use. For example some times I may want to skip the tracks marked "skip", and other times I want to play only rated tracks, etc...
It would be really nice if we could choose this quickly from the interface

okay, is in
..not choosable from interface but you can always make a keyboard-shortcut, if you want to change it that quickly

Quote
When the plugin skips a track, it plays automatically the following, but it should (I think) play the following or a random one, according to the playing mode.

hmk, fixed .. but why aren't you using the shuffle plugin ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Zurman on 2005-01-13 11:47:47
Thanks for updating
Title: foo_skip: skip tracks that match a specified search query
Post by: andreas on 2005-01-15 10:13:52
Hi,

I'm not quite sure, if I absolutely understood the function of the menu entries.
If I manually add a SKIP tag to my files everything works perfectly. And 'Activate' and 'Deactivate' also seem to work as i expect, but I would have loved some sort of signal, if skip-mode is activated (perhaps a checkmark in front of 'Activate' or 'Deactivate'). At the moment I seem to have to remember or try.

Then I thought, 'toggle' would toggle the SKIP tag in files, but it also seems to activate or deactivate the skip mode. I'm missing a way to add the skip tags. Currently im using the Quick-Tag plugin for this, but I would have liked this feature in the Skip submenu and I can't get the Quick-Tag functions in the main menu.
Also I can't realize a "Toggle" function with quicktag.

Another thing: I've changed my playlist (based on plisk's column_ui playlist)  to sort of grey out the entries, which will be skipped. I could try to post my changes, if somebody is interested in this.

In foo_trackinfo I use the following to show the skipped info:
Code: [Select]
$if($strcmp(%skip%,1),,0080ff)$caps2(%artist%)$if($strcmp(%skip%,1), '['skipped']',)


Many thanks for this plugin,
Andreas
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-15 11:37:22
Quote
Another thing: I've changed my playlist (based on plisk's column_ui playlist)  to sort of grey out the entries, which will be skipped. I could try to post my changes, if somebody is interested in this.
[a href="index.php?act=findpost&pid=265502"][{POST_SNAPBACK}][/a]

Nice, i have interest for it! - THX

@kdx
Realy good work and THX for that!

One question:
If i mark a song for "skipped", all other songs behind are not playing too, without SKIP-TAG.
Whats wrong?

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: andreas on 2005-01-15 15:36:16
Quote
Nice, i have interest for it! - THX

Well, here we go.
Only files which have their skip tag set to "1" will be greyed out.

Please, don't mind that I do not post my entire skripts, because I changed some stuff in plisks-config, which don't seem usefull for everybody (e.g.: I removed the colour theme switching for a bit more performance) and the scripts look a bit messy.

It basically comes down to add this to your "Globals":
Code: [Select]
$if($strcmp(%skip%,1),is_skipped=1,)

Now, you can use %_is_skipped% in your columns.
In plisks configuration this basically involves two flavours of insertions:

First flavour for columns, where there's already something configured in the "Colour"-Tab.

E.g. the Title column: Go to the "Colour"-Tab:
Change this:
Code: [Select]
$if(%_isplaying%,%_ptext%,
$if($and(%_is_first%,$not(%_is_single%)),%_altext%,
%_ntext%))|

into this:
Code: [Select]
$if(%_isplaying%,%_ptext%,
$if(%_is_skipped%,%_brtext%,$if($and(%_is_first%,$not(%_is_single%)),%_altext%,
%_ntext%)))|

Pay attention to the third closing braket at the end! This way, the song title colour is changed only, when the song is NOT playing (remember: you can play songs marked as skipped with a double-click). Actually the colour is changed to the colour normally used for less important text %_brtext% (e.g. text in brakets).

The other sort of change is bit more concise, for columns which don't have anything in their "Colour"-tab:
E.g.: Bitrate-column: Go to the "Display"-Tab:
Change this:
Code: [Select]
$if(%_isplaying%,%__bitrate_dynamic%,%__bitrate%)

into this:
Code: [Select]
$if(%_isplaying%,%__bitrate_dynamic%,$if(%_is_skipped%,%_brtext%,)%__bitrate%)

Since there's no colour, we only need to set the new one for skipped files, so the second change boils down to the insertion of the following in such columns:
Code: [Select]
$if(%_is_skipped%,%_brtext%,)

I hope, this sounds somewhat sensible to you.

Quote
One question:
If i mark a song for "skipped", all other songs behind are not playing too, without SKIP-TAG.
Whats wrong?

For me everything works as it ought to. So I guess, I can't be of any help here.

Regards,
Andreas
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-15 21:10:31
@andreas
Nice explanation ..... THX! 

But i have still this problem with my skipped tracks, behind the tagged one! 
Damn.

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-17 01:23:53
Quote
I'm not quite sure, if I absolutely understood the function of the menu entries.
If I manually add a SKIP tag to my files everything works perfectly. And 'Activate' and 'Deactivate' also seem to work as i expect, but I would have loved some sort of signal, if skip-mode is activated (perhaps a checkmark in front of 'Activate' or 'Deactivate'). At the moment I seem to have to remember or try.

are your sure, you have the second version ? I have added checkmarks there ...

Quote
Then I thought, 'toggle' would toggle the SKIP tag in files, but it also seems to activate or deactivate the skip mode. I'm missing a way to add the skip tags. Currently im using the Quick-Tag plugin for this, but I would have liked this feature in the Skip submenu and I can't get the Quick-Tag functions in the main menu.
Also I can't realize a "Toggle" function with quicktag.

"toggle" simply activates/deactivates the skip mode, yes. Why would you need to toggle the skip tags itself ..?

Quote
One question:
If i mark a song for "skipped", all other songs behind are not playing too, without SKIP-TAG.
Whats wrong?

hmm .. I actually have no idea why this could happen. Are you using some special .. ah .. "playback-flow-control-plugin" (something like shuffle) ?
if you are in default-mode .. what happens if you come to a file, which has the skip-tag ? does it just skip all files to the end of the playlist ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-17 01:33:05
Quote
Are you using some special .. ah .. "playback-flow-control-plugin" (something like shuffle) ?
if you are in default-mode .. what happens if you come to a file, which has the skip-tag ? does it just skip all files to the end of the playlist ?
[a href="index.php?act=findpost&pid=265920"][{POST_SNAPBACK}][/a]

Yes, it just skip all files to the end of the playlist! 
I'm in "repeat"-mode! - Maybe i have to change in "default"-mode?

EDIT: Ok, in "default"-mode it happens the same.

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: andreas on 2005-01-17 07:14:25
Quote
Quote
I'm not quite sure, if I absolutely understood the function of the menu entries.
If I manually add a SKIP tag to my files everything works perfectly. And 'Activate' and 'Deactivate' also seem to work as i expect, but I would have loved some sort of signal, if skip-mode is activated (perhaps a checkmark in front of 'Activate' or 'Deactivate'). At the moment I seem to have to remember or try.

are your sure, you have the second version ? I have added checkmarks there ...

Aaaargh! You're right, I'm too dumb
Sorry, I somehow thought, I'd got the latest version.
Checkmarks work great and were nearly (see below) everything I needed.
Thanks a lot.

Quote
Quote
Then I thought, 'toggle' would toggle the SKIP tag in files, but it also seems to activate or deactivate the skip mode. I'm missing a way to add the skip tags. Currently im using the Quick-Tag plugin for this, but I would have liked this feature in the Skip submenu and I can't get the Quick-Tag functions in the main menu.
Also I can't realize a "Toggle" function with quicktag.

"toggle" simply activates/deactivates the skip mode, yes. Why would you need to toggle the skip tags itself ..?

Well, in case I want to skip the files temporarily, only.
At the moment, I'm using quick tag plugin (as described before) or I've to open the file properties in order to set/change/remove the skip tag. Correct me, if I missed another smooth way of doing it. I would personally like a possibility to do this within my Skip-submenu (in order to keep this functionality in one spot).
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-17 11:13:33
Quote
Well, in case I want to skip the files temporarily, only.

Hm, what speaks against enabling/disabling the skip mode ? i thought thats what its for
if you could toggle the skip tags, you wouldnt need to toggle skip mode (and the other way round ..)

Quote
Yes, it just skip all files to the end of the playlist!
I'm in "repeat"-mode! - Maybe i have to change in "default"-mode?

EDIT: Ok, in "default"-mode it happens the same.

the only reason for this i can think of is that you have an expression which always evaluates to
'true' or '1' .. which one do you have ? or try to change it to "false" ..
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-17 11:23:41
Quote
'true' or '1' .. which one do you have ? or try to change it to "false"

I use "true"now , but i also tried "1". I don't think with "false" it will run. 
Any other idea for me?

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-17 11:40:16
Quote
I use "true"now , but i also tried "1"

well, lol, okay .. the plugin skips all tracks for which the expression you entered evaluates to "true" or "1" .. so if you have entered "true" as the expression, it will skip all tracks .. try the default '$if2(%skip%,0)' .. it should work as you think it should
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-01-17 12:06:02
Quote
try the default '$if2(%skip%,0)' .. it should work as you think it should

*g* .... thats crazy!
With "$if2(%skip%,0)" it works perfect! 
THX for your help, man! 

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: andreas on 2005-01-17 18:00:33
Quote
Quote
Well, in case I want to skip the files temporarily, only.

Hm, what speaks against enabling/disabling the skip mode ? i thought thats what its for
if you could toggle the skip tags, you wouldnt need to toggle skip mode (and the other way round ..)

But what, if I've marked a dozen files in a playlist for skipping, but want to enable only a few them temporarily?
And also, as I said, I would like to have the entire skip control in one menu, without the need for adding a tag manually.
On the other hand, if it's only me, who thinks of this as a useful functionality, you shouldn't bother too much. You've already done a nice plugin, and I can't thank you enough for this.
Title: foo_skip: skip tracks that match a specified search query
Post by: Olive on 2005-01-18 22:58:13
Nice plugin! Could you make it so that when you click previous it'll skip back instead of forward? For example I'm playing track i and track i-1 is marked %skip% then clicking Previous should play track i-2.
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2005-01-19 02:09:45
Quote
Nice plugin! Could you make it so that when you click previous it'll skip back instead of forward? For example I'm playing track i and track i-1 is marked %skip% then clicking Previous should play track i-2.
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=266401")

okay, [a href="http://www.youngpixel.de/foobar/foo_skip.dll]updated[/url]. I had to cheat a litte again and the whole thing is based on the assumption that a track with skip-tag wants to be played only once between starting and stopping playback but it should work in practically all scenarios ...

edit: in your described case, it only works, if track i-1 was skipped before. otherwise you have to click previous twice

problem is that there is no callback 'user has clicked previous' (at least not that i know  )
Title: foo_skip: skip tracks that match a specified search query
Post by: Olive on 2005-01-19 04:02:17
I was assuming that Previous & Next were more or less symmetrical routines, apparently not. Ok thanks -)
Title: foo_skip: skip tracks that match a specified search query
Post by: anza on 2005-03-26 21:50:51
Thanks for teh plugin! It works well enough for me with foo_quicktag_sql.dll.
Title: foo_skip: skip tracks that match a specified search query
Post by: xliu5 on 2005-03-27 20:30:37
How does it work on multiple evaluations? I see that you can add more than one expressions at the configuration. Does it do "OR" or "AND"?
Say if I want to skip the tracking either with "SKIP" tag (equal "1") or with "RATING" tag (lower than "3"), it doesn't seem to do it. What about the same with "AND"?
Title: foo_skip: skip tracks that match a specified search query
Post by: matth6546 on 2005-04-24 05:57:32
great plug-in, but i have a suggestion:

it'd be nice if i could customize what value or range of values that skip control looks for.

example: i made a custom setting that evaluates %play_counter%, this way foobar won't play songs with a play count of 1 without me having to individually mark any songs.

what i'd like to do is evaluate a tag, %play_counter% in my case, and see if the value is greater/less than x. right now, foobar will only skip songs with a play count of 1, but it still plays any song with a play count greater than 1. i'd like to make a setting to skip all songs with a play count greater than 0.
Title: foo_skip: skip tracks that match a specified search query
Post by: Lance Uppercut on 2005-04-24 13:31:24
Quote
great plug-in, but i have a suggestion:

it'd be nice if i could customize what value or range of values that skip control looks for.

example: i made a custom setting that evaluates %play_counter%, this way foobar won't play songs with a play count of 1 without me having to individually mark any songs.

what i'd like to do is evaluate a tag, %play_counter% in my case, and see if the value is greater/less than x. right now, foobar will only skip songs with a play count of 1, but it still plays any song with a play count greater than 1. i'd like to make a setting to skip all songs with a play count greater than 0.
[a href="index.php?act=findpost&pid=292995"][{POST_SNAPBACK}][/a]


This plugin is great.  I use the following to skip songs with a rating of 2 or less:

Code: [Select]
$ifgreater(%rating%,2,0,1)


matth6546, for your situation, the following should work:

Code: [Select]
$ifgreater(%play_counter%,0,1,0)
Title: foo_skip: skip tracks that match a specified search query
Post by: Squeller on 2005-04-27 08:06:21
I found a problem.

I use foo_dsp_continuator. At the end of a track and if the next track in playlist is a skipped track, foobar plays about 1/2 sec. of the skipped track and then goes on with the next, unskipped track.

I fear foo_skip has no influence on this and the author of the continuator has to take care of the skip-tag?

EDIT: Even worse. If a track is followed by, say 15 skip tracks. Foobar does play 1/2 second of about the following 10 tracks, then it goes backwards and starts playing the last unskip track, which already has been played.
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2005-06-16 22:00:15
Quote
matth6546, for your situation, the following should work:
Code: [Select]
$ifgreater(%play_counter%,0,1,0)

This code is not working for me! Any idea else?

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: Anas on 2005-06-17 07:12:58
Thanks a lot for this great plugin! It's really useful for me. 
Finally no more crippled albums in the playlist 

EDIT:
Found a weird bug:
I've 242 files in palylist. The last ones are all active. The first 8 ones are all inactive.
Now when the end of the playlist is reached and it starts at the beginning, then the cursor goes excactly down till the first active track (9) and then goes backwards  back to the end of the playlist and starts again with the last song.
F*cking weird.... 
Title: foo_skip: skip tracks that match a specified search query
Post by: fabiospark on 2005-10-04 22:06:32
Just installed foo_skip 0.1.

Found a bug:

Playback mode = repeat one

If I play an active track followed by inactive ones, when the active ends fb skips after the inactive even if it is in repeat one.

If the active is not just before the inactive ones, at the end of the active I can see some flickering in the trackinfo panel. I think it is skipping somewhere...

Can you have a look, please?

Thanks.
Title: foo_skip: skip tracks that match a specified search query
Post by: SoulMan on 2005-10-05 11:07:38
Good little plugin, thank you.
Title: foo_skip: skip tracks that match a specified search query
Post by: iOsiris on 2005-12-12 18:33:05
Due to the fact that my ratings use bars instead of #s
Eg:
|
||
|||
||||
|||||

$ifgreater(%play_counter%,0,1,0) - doesn't work for me

So I tried writing one for strings

$iflonger($len(%rating%), 3, 0, 1)

But can anyone help me out, it looks right to me but doesn't work ?
Title: foo_skip: skip tracks that match a specified search query
Post by: digidistortions on 2005-12-12 18:53:06
$ifgreater($len(%rating%),3,0,1)

I didn't really read this thread so I'm not sure what you're trying to do, but it looked like you were misusing $iflonger() when you really wanted $ifgreater()
Title: foo_skip: skip tracks that match a specified search query
Post by: iOsiris on 2005-12-12 23:37:03
Well Lance Uppercut uses "$ifgreater(%rating%,2,0,1)" to play songs with ratings over two.  But I'm assuming that his music collection uses rating tagged accordingly "1, 2, 3, 4, 5" but mine uses "|, ||, |||, ||||, |||||" so you can't use numeric values to compare the rating metadata.  So that's why I tried to make it so it just compares the length of the string of the %rating% tag with "$iflonger($len(%rating%), 3, 0, 1)" but it doesn't work, I was just wondering if anyone knows why ? or if my code is completely wrong..
Title: foo_skip: skip tracks that match a specified search query
Post by: digidistortions on 2005-12-13 00:54:51
Quote
Well Lance Uppercut uses "$ifgreater(%rating%,2,0,1)" to play songs with ratings over two.  But I'm assuming that his music collection uses rating tagged accordingly "1, 2, 3, 4, 5" but mine uses "|, ||, |||, ||||, |||||" so you can't use numeric values to compare the rating metadata.  So that's why I tried to make it so it just compares the length of the string of the %rating% tag with "$iflonger($len(%rating%), 3, 0, 1)" but it doesn't work, I was just wondering if anyone knows why ? or if my code is completely wrong..
[a href="index.php?act=findpost&pid=349755"][{POST_SNAPBACK}][/a]

Did you try what I suggested? Using $iflonger() you are comparing the LENGTH of $len(%rating%) (which would be a single digit number) to the LENGTH of " 3" (which is two characters...the space counts). Therefore every track you point that at will come back false because the first length (1) is not longer than the second length (2).

What I suggested should instead take the length of %rating% (it will be either 1, 2, 3, 4, 5) and if it is greater than 3, it will play the song (I guess).
Title: foo_skip: skip tracks that match a specified search query
Post by: iOsiris on 2005-12-13 01:50:24
Ah I see, your code does work

$ifgreater($len(%rating%),3,0,1)

thank you so much
Title: foo_skip: skip tracks that match a specified search query
Post by: iStormy on 2005-12-14 04:44:14
[removed]
Title: foo_skip: skip tracks that match a specified search query
Post by: SoulMan on 2005-12-14 09:58:27
A great way to have a random that play mors most rated tracks :

$if($or(%talking%,$and(%rating%,$greater($add(1,$mod($rand(),10)),$sub($mul(%rating%,2),1)))),1,0)

The track is skiped if the TALKING tag is present, and if the tag RATING is present, I compare a 1-10 random number to the (RATING * 2) - 1
The resulting probability is :
Rating < 1 --> 0 / 10
Rating = 1 --> 1 / 10
Rating = 2 --> 3 / 10
Rating = 3 --> 5 / 10
Rating = 4 --> 7 / 10
Rating = 5 --> 9 / 10
Rating > 5 --> 10 / 10
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-04-09 20:27:56
is there any plan to update this for .9?
Title: foo_skip: skip tracks that match a specified search query
Post by: Bacchus95 on 2006-04-23 11:58:47
is there any plan to update this for .9?

+1
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-05-25 09:04:38
anyone feel like porting this?
Title: foo_skip: skip tracks that match a specified search query
Post by: iOsiris on 2006-06-13 17:50:45
anyone feel like porting this?

Yeh would someone please port this to .9 ! 
Title: foo_skip: skip tracks that match a specified search query
Post by: DanDanRevolution on 2006-06-25 04:26:16
(*bump*)

some kind coder, please port? i think i'm developing RSI from skipping manually

     

thank you in advance ;-)
Title: foo_skip: skip tracks that match a specified search query
Post by: DanDanRevolution on 2006-07-02 21:10:51
(*bump*)

some kind coder, please port? i think i'm developing RSI from skipping manually

     

thank you in advance ;-)


  pa-palease, kind sirs?
Title: foo_skip: skip tracks that match a specified search query
Post by: bytemastr on 2006-07-05 04:02:12
Unless I'm missing something (and I've tried extensive searches on Google, the author's web site, and here on the forums), the source isn't available for anyone but the author to port.  I did send'm an email, but have gotten no response yet.

pa-palease, kind sirs?
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2006-07-06 00:50:05
Unless I'm missing something (and I've tried extensive searches on Google, the author's web site, and here on the forums), the source isn't available for anyone but the author to port.  I did send'm an email, but have gotten no response yet.

got your email and just ported it to 0.9

the good thing is that with 0.9 i didnt have to do the workaround which assumes that a file gets played only once, the bad thing that i dont see a way to *really* skip the song instead of programmatically press the next button (this is how it worked before as well, but 0.9 doesnt like it even less than 0.8  )

well, try it out and see, if it does any problems, you can get it here (http://pelit.koillismaa.fi/plugins/general.php#148)
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-07-06 05:39:22

Unless I'm missing something (and I've tried extensive searches on Google, the author's web site, and here on the forums), the source isn't available for anyone but the author to port.  I did send'm an email, but have gotten no response yet.

got your email and just ported it to 0.9

the good thing is that with 0.9 i didnt have to do the workaround which assumes that a file gets played only once, the bad thing that i dont see a way to *really* skip the song instead of programmatically press the next button (this is how it worked before as well, but 0.9 doesnt like it even less than 0.8  )

well, try it out and see, if it does any problems, you can get it here (http://pelit.koillismaa.fi/plugins/general.php#148)

this is great news......but...um....there doesnt appear to be a download link...
Title: foo_skip: skip tracks that match a specified search query
Post by: bytemastr on 2006-07-06 06:09:14
I went back and used this original link in the forum (http://www.youngpixel.de/foobar/foo_skip.dll) and ended up with the correct 0.9 binary, which I'm using right now.

this is great news......but...um....there doesnt appear to be a download link...
Title: foo_skip: skip tracks that match a specified search query
Post by: kdx on 2006-07-06 10:44:10
this is great news......but...um....there doesnt appear to be a download link...

sorry, it was a bit late .. should work now
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-07-06 18:58:23

this is great news......but...um....there doesnt appear to be a download link...

sorry, it was a bit late .. should work now

sweet! thanks for porting this, i find it really useful.
Title: foo_skip: skip tracks that match a specified search query
Post by: Brainbug on 2006-07-06 20:04:05
cool thing! big big thanx
Title: foo_skip: skip tracks that match a specified search query
Post by: DanDanRevolution on 2006-07-07 02:13:25

Unless I'm missing something (and I've tried extensive searches on Google, the author's web site, and here on the forums), the source isn't available for anyone but the author to port.  I did send'm an email, but have gotten no response yet.

got your email and just ported it to 0.9

the good thing is that with 0.9 i didnt have to do the workaround which assumes that a file gets played only once, the bad thing that i dont see a way to *really* skip the song instead of programmatically press the next button (this is how it worked before as well, but 0.9 doesnt like it even less than 0.8  )

well, try it out and see, if it does any problems, you can get it here (http://pelit.koillismaa.fi/plugins/general.php#148)



... I ... love... I ... I LOVE YOU!   
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-07-22 16:50:35
would it be possible for foo_skip to recognize %_system_xxxx% time fields? like %_system_year%, etc..
Title: foo_skip: skip tracks that match a specified search query
Post by: TheTravis on 2006-07-24 13:41:50
Is there some way to change font on the playlist for skipped tracks? I'd like to have skipped tracks with striketrough font and normal tracks with defaul font.

Example:
Title | Artist | Album
Voodoo Chile | The Jimi Hendrix Experience | The Best air guitar...
Me and Bill | The Knob | -                        <--- This track is is skipped
Want You Bad | The Offspring | Conspiracy of one

Is there something like $striketrough() function? At the moment I'm using $rgb() to change the colour of skipped track titles. I'm using columns_ui version 0.1.3 beta.
Title: foo_skip: skip tracks that match a specified search query
Post by: Brother John on 2006-07-25 15:35:28
Thanks for the port, kdx. This was the last plugin needed to make fb2k 0.9 complete.

Quote
Is there some way to change font on the playlist for skipped tracks?

No. Neither Default UI nor Columns UI allow font changes for individual tracks.

Brother John
Title: foo_skip: skip tracks that match a specified search query
Post by: randal1013 on 2006-08-01 18:56:36
it would be of great help if this plug-in could read variables in columns_ui global tab. would this be possible?
Title: foo_skip: skip tracks that match a specified search query
Post by: rouge on 2006-08-08 19:33:41
This is sort-of related, but I thought a plug-in that would skip a predefined section of a song would be cool.  Like, the annoying intro to a good song, or a 20 minute outtro.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2006-08-13 20:39:53
Thanks for porting! 

I would like to make a feature request:

Could you implement a variable like %will_be_skipped% that will show you wich track is going to be skipped in dependence of the string you use.

Not so important but very nice would be a dropdown box from which you can choose your string (why not represented by friendly names) or disable the skip function.
Title: foo_skip: skip tracks that match a specified search query
Post by: Sam Stoat on 2006-08-14 19:57:06
would it be possible for foo_skip to recognize %_system_xxxx% time fields? like %_system_year%, etc..
I'll second this one.  You could stop christmas songs playing all year round and limit them to December. 
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2006-08-15 12:39:51
@sam stoat
This plugin (http://foobar.bowron.us/foo_cwb_hooks.zip) will make %systemdate% and%systemdatetime% available for foobar
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2006-09-01 14:41:49
In this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=47865) I'm requesting a new feature: Weighted random playback. If foo_skip also could deal with values between 0 (never skip) and 1 (skip always) which represent a "skip probability" this plugin could provide the requested functionality. As there any chance that the author of this plugin could code that?

Waiting and hoping,
ojdo
Title: foo_skip: skip tracks that match a specified search query
Post by: Bacchus95 on 2006-09-01 15:24:22
In this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=47865) I'm requesting a new feature: Weighted random playback. If foo_skip also could deal with values between 0 (never skip) and 1 (skip always) which represent a "skip probability" this plugin could provide the requested functionality. As there any chance that the author of this plugin could code that?

Waiting and hoping,
ojdo


You can use $rand() to do this.
Title: foo_skip: skip tracks that match a specified search query
Post by: TheTravis on 2006-09-01 16:45:10
You can use $rand() to do this.


Hmm... Something like $ifgreater($rand(100),80,1,0) will skip a track with 20 percent propability? I must try it
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2006-09-03 21:50:58

In this post (http://www.hydrogenaudio.org/forums/index.php?showtopic=47865) I'm requesting a new feature: Weighted random playback. If foo_skip also could deal with values between 0 (never skip) and 1 (skip always) which represent a "skip probability" this plugin could provide the requested functionality. As there any chance that the author of this plugin could code that?


You can use $rand() to do this.

Thank you so much! How could I forget about good old $rand()...
Title: foo_skip: skip tracks that match a specified search query
Post by: lakser on 2006-11-01 18:36:15
download link is dead
anyone can help?
Title: foo_skip: skip tracks that match a specified search query
Post by: Strictly4me on 2006-11-01 18:39:16
foo_skip Download (http://www.savefile.com/files/216914)

((((( Strictly4me )))))
Title: foo_skip: skip tracks that match a specified search query
Post by: lakser on 2006-11-01 19:49:55
thanks

Kdx also sent link for old version (http://foobar.dramepics.net/foo_skip.0.8.dll),

Mucho gracias to both
Title: foo_skip: skip tracks that match a specified search query
Post by: worldestroyer on 2006-12-31 11:00:14
How would one go about adapting the "$ifgreater($rand(100),80,1,0)" to make it only skip a percentage of skip tag'd songs.
Title: foo_skip: skip tracks that match a specified search query
Post by: Zoominee on 2007-01-31 12:07:22
How would one go about adapting the "$ifgreater($rand(100),80,1,0)" to make it only skip a percentage of skip tag'd songs.

That code would skip 80/100 (i.e. 80%) of the time. If you want to customise the skip percentage, you can change the numbers. For example, if you have a tag called "skip" that contains an integer between 0 and 100, which denotes the probability that you want to skip, you can put %skip% instead of 80, i.e.
$ifgreater($rand(100),%skip%,1,0).

-------------------------------------------------------------

Dear kdx, maker of this very useful plugin! I'm wondering, would it be possible to recognise tracks from the "enqueue" queue and never skip them?

(I've tried three times posting this, it looks fine on the preview but always ends up in my previous post... Hopefully this time it won't!)
Title: foo_skip: skip tracks that match a specified search query
Post by: chair on 2007-03-14 01:08:23
foo_skip Download (http://www.savefile.com/files/216914)

((((( Strictly4me )))))


This link seems to be dead as well, and the link on the components repository wiki site is dead too. 

Repository Link (http://pelit.koillismaa.fi/plugins/redir.php?id=679)

Can someone else please set up a mirror?  I am running foobar2000 v0.9.4.1. 

Thanks.
Title: foo_skip: skip tracks that match a specified search query
Post by: Jugdish on 2007-03-27 01:38:25
If playback mode is set to repeat the playlist and the playlist contains only skipped items, foo_skip should STOP playback. What it does currently is get stuck in an infinite loop, constantly printing to the console "skipping: file://X.mp3".

Here's an example scenario to illustrate this bug:
1. Set playback mode to "Repeat (playlist)"
2. Start playing a playlist which contains a single song.
2. During playback, mark the song to be skipped.
3. When the song finishes playing, foo_skip will get stuck in an infinite loop (check the console).
Title: foo_skip: skip tracks that match a specified search query
Post by: x10 on 2007-04-03 19:51:45
just discoverd this
so when i make it
$ifgreater(%rating%,3,0,1)
to play rating 3+

and
$if2(%rating%,0)
to play unrated files?
Title: foo_skip: skip tracks that match a specified search query
Post by: funkfuzz on 2007-04-27 20:00:42
just discoverd this
so when i make it
$ifgreater(%rating%,3,0,1)
to play rating 3+

and
$if2(%rating%,0)
to play unrated files?


That didn't work for me.

I'd like to be able to:

Play songs that have no rating
AND
Play songs that have a rating of 3, 4 or 5.

In other words, I want to SKIP songs with ratings of 1 or 2.  "$ifgreater" in this case, won't work.

Anyone know how to do this?  I'm using the Custom Info SQLite DB for my ratings (if that helps).

Thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: BenAddiction on 2007-04-27 22:29:13
@funkfuzz

$if(%rating%,$ifgreater(3,%rating%,1,0),0)
Title: foo_skip: skip tracks that match a specified search query
Post by: funkfuzz on 2007-04-30 18:31:53
@funkfuzz

$if(%rating%,$ifgreater(3,%rating%,1,0),0)



Worked like a charm.  Thanks BenAddiction. 
Title: foo_skip: skip tracks that match a specified search query
Post by: eradumvelhinho on 2007-05-03 13:09:45
Let's see if someone can help me.
Problem: when I have 2 files from the same album (one .cue and another .mp3), they both go to the library of foobar. So basically you have two times the same album. I want to have only the cue file. I installed foo_skip hoping that this dll would solve my problem (I put a SKIP tag in the big files). But, when you play a file from the .cue file, they inherit the properties of the .mp3 file. So, all the songs in the .cue file stay with "SKIP = 1" value.
How do you do with your library in this case? Do you use another component?
With lossless files I dont have this problem, because I put the .cue file inside the tag "cuesheet" of the big files. But with mp3 files, you cannot do this.

Thanks for any help
Title: foo_skip: skip tracks that match a specified search query
Post by: locutus on 2007-08-13 14:02:05
Any working link for this plugin for foobar 0.9 available?
Title: foo_skip: skip tracks that match a specified search query
Post by: locutus on 2007-08-13 15:58:13
Any working link for this plugin for foobar 0.9 available?

Found the link, installed and have seen the new topic in the menu. But how do i mark a file for skipping?
Title: foo_skip: skip tracks that match a specified search query
Post by: ppnilpa on 2008-02-04 18:35:20
Script
Code: [Select]
$if($or(%talking%,$and(%rating%,$greater($add(1,$mod($cwb_rand(),10)),$sub($mul(%rating%,2),1)))),1,0)


posted here is really nice. But what if i want to use hotness (http://www.hydrogenaudio.org/forums/index.php?showtopic=31287) instead of rating?

I cant use multiline scripts with foo_skip as i understand.
buktore (http://www.hydrogenaudio.org/forums/index.php?showuser=38011) adopted (http://www.hotlinkfiles.com/files/890769_cl2co/hot_081721.txt) hotness script to single line, but i didnt manage to make it work with foo_skip alike %rating% did.

Does anybody here use hotness with foo_skip? Any ideas? Maybe i can calculate hotness for every track in playlist with... hmmm... columns_ui or something. And then skip tracks using %hotness%
Title: foo_skip: skip tracks that match a specified search query
Post by: Zoominee on 2008-02-04 19:23:13
Maybe i can calculate hotness for every track in playlist with... hmmm... columns_ui or something. And then skip tracks using %hotness%

Does it work with $get_global(hotness) as suggested at the top of the hotness thread? Otherwise, you could I suppose put the whole hotness code on one line into the skip control (get rid of anything that is comments, i.e. anything to the right ot // including that symbol).
Title: foo_skip: skip tracks that match a specified search query
Post by: ppnilpa on 2008-02-04 19:37:13

Maybe i can calculate hotness for every track in playlist with... hmmm... columns_ui or something. And then skip tracks using %hotness%

Does it work with $get_global(hotness) as suggested at the top of the hotness thread?

No. For me - No. It is displayed correctly in column, but is useless with foo_skip. So I asked here whether this trick works for anybody.

Otherwise, you could I suppose put the whole hotness code on one line into the skip control

I've mentioned single line hotness script. It does not work for me either.
Title: foo_skip: skip tracks that match a specified search query
Post by: buktore on 2008-02-04 21:38:39
Quote
I've mentioned single line hotness script. It does not work for me either.

What he meant is to use hotness code inside skip control + a bit change.

Here, should work.
Quote
$ifgreater($mod($cwb_rand(),100),PASTE ENTIRE SINGLE LINE HOTNESS SCRIPT HERE,1,0)

This will use hotness as it shown as a play probability.

And here the another version for rating that work.
Quote
$if($or(%skip%,$greater($mod($cwb_rand(),100),$if(%rating%,$mul(%rating%,20),50))),1,0)

1 star = 20% to pick the track.
If there is SKIP tag present, it will always skip that track.
The bold number is the probability rate in % for track that don't have rating. Change to 0 will make it skip all track that don't have rating.
Title: foo_skip: skip tracks that match a specified search query
Post by: jacobbrett on 2008-03-19 10:39:39
A database method implementation would convince me to use this, as with this plugin (allows entry of custom comments without modifying the file's tags as they are stored in a local db): http://wiki.hydrogenaudio.org/index.php?ti...o_custominfo%29 (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Custom_Info_%28foo_custominfo%29)

The user is given the choice of storing data via:
In fact, couldn't these two plugins be used in conjunction? Use 'Custom Info' to store a rating of 1-5, output it as %rating%, then use that with foo skip?
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-08-26 13:59:46
And here the another version for rating that work.
Quote
$if($or(%skip%,$greater($mod($cwb_rand(),100),$if(%rating%,$mul(%rating%,20),50))),1,0)

1 star = 20% to pick the track.
If there is SKIP tag present, it will always skip that track.
The bold number is the probability rate in % for track that don't have rating. Change to 0 will make it skip all track that don't have rating.


your script doesn't work. nor do mine, which i made editing yours.

Code: [Select]
$ifgreater(
   $mod($cwb_rand(),100),
   $if(%RATING%,
      $ifequal(%RATING%,0,50,
         $ifequal(%RATING%,9,0,
            $mul(%RATING%,20)
         )
      ),
   50),
1,0)

or
Code: [Select]
$ifgreater($mod($cwb_rand(),100),$if(%RATING%,$ifequal(%RATING%,0,50,$ifequal(%RATING%,9,0,$mul(%RATING%,20))),50),1,0)


i use rating from 0 to 6, plus a rating of 9 for double tracks or not-song-tracks, wich is related to a special mark. i don't use the %skip% tag. i want tracks rated 0 to be treated as unmarked, and the tracks rated 9 to be skipped.

something doesn't work in this script.. can you spot any error?

EDIT
i think that the result of $mod($cwb_rand(),100), is too low. which is the interval in wich cwb_rand generates the numbers?
EDIT2
it seems that $cwb_rand() and $rand don't work. i've installed cwb_hooks
Title: foo_skip: skip tracks that match a specified search query
Post by: servimo on 2008-08-26 18:46:00
How should be a script for playing not played songs? I have foo_playcounter_custom installed with only database enabled and I want to play the songs not played yet in my playlist, or the ones less played, how should be a script for this?
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-08-26 18:52:26
How should be a script for playing not played songs? I have foo_playcounter_custom installed with only database enabled and I want to play the songs not played yet in my playlist, or the ones less played, how should be a script for this?


try
$if(%count%,1,0)
or
$if(%count%,$ifgreater(%count%,0,1,0),0)

where count is the name of the variable used by the playcounter. this will make foobar play only songs never played before. while this:

$if(%count%,$ifgreater(%count%,3,1,0),0)
skips all the songs played more than 3 times. you can change this limit as you like
Title: foo_skip: skip tracks that match a specified search query
Post by: servimo on 2008-08-26 19:06:33
Thanks for the quick reply.
I am using this and looks like is working.
Quote
if(%play_count%,ifgreater(%play_count%,0,1,0),0)

I have a lot of music in my library, and I am always playing randomly and I see that foobar often repeat some songs, and there is some I never heard.
Many thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: buktore on 2008-08-26 19:06:36
What foobar version you use?

cwb_hooks doesn't work with current version of foobar. It mean that my code no longer work anymore.

@servimo

You can simplified it to..

$ifgreater(%play_count%,0,1,0)

or if $if(%play_count%,1,0) work, use this.
Title: foo_skip: skip tracks that match a specified search query
Post by: servimo on 2008-08-26 19:12:33
I am using foobar2000 version 0.9.5.5 and for the songs I tried looks like working. It is playing only songs that was played 1 or 0 times. Maybe this could be an illusion... I'll try more times
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-08-26 19:18:49
What foobar version you use?

cwb_hooks doesn't work with current version of foobar. It mean that my code no longer work anymore.


 
i'm using 9.5, cwb_hooks figures in my settings menu
is there any alternative to get some random numbers?

thanks
Title: foo_skip: skip tracks that match a specified search query
Post by: buktore on 2008-08-26 19:23:53
No.

Last version of foobar that work with cwb_hooks (and some other components) is 0.9.5.2
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-08-26 19:30:59
No.

Last version of foobar that work with cwb_hooks (and some other components) is 0.9.5.2


i don't know which version i'm running but cwb_hook seems to work. in the settings panel it says to be 9.5
so i can't understand what's wrong..
Title: foo_skip: skip tracks that match a specified search query
Post by: buktore on 2008-08-26 19:37:16
Go to preference >Components and check at "foobar2000 core"

If it is 0.9.5 as you said, check cwb_hooks version, it must be 1.2.6 (last version) or else it won't work.
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-08-26 19:39:34
Go to preference >Components and check at "foobar2000 core"


0.9.5

EDIT: in fact i had an older version of cwb_hooks. updating solved my problem.
thank you very much 
your script works fine
Title: foo_skip: skip tracks that match a specified search query
Post by: servimo on 2008-09-06 18:59:56
One thing I notice in this component is that it doesn't keep the last option you choose between sessions on foobar2000-0.9.5.5, it always back to the first option. When I begin foobar again I have to choose the option I want in the menu again. Maybe it should have a way of store the last configuration.
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-09-23 11:33:50
One thing I notice in this component is that it doesn't keep the last option you choose between sessions on foobar2000-0.9.5.5, it always back to the first option. When I begin foobar again I have to choose the option I want in the menu again. Maybe it should have a way of store the last configuration.


that's a issue i experienced too.
Title: foo_skip: skip tracks that match a specified search query
Post by: v.1 on 2008-09-25 18:00:11
is there any chance that this plug in shall be updated to support rand() function (http://www.hydrogenaudio.org/forums/index.php?showtopic=66069)? this to avoid to use of (the beloved) cwb_hooks
Title: foo_skip: skip tracks that match a specified search query
Post by: Sounds Blast on 2008-10-20 22:03:15
If anyone could update this foo_skip for the latest foobar2000 9.6....., or maybe someone has a version that works with this?
Title: foo_skip: skip tracks that match a specified search query
Post by: 2E7AH on 2008-10-29 01:34:57
I use foo_dsp_continuator. At the end of a track and if the next track in playlist is a skipped track, foobar plays about 1/2 sec. of the skipped track and then goes on with the next, unskipped track.

What about this?
I have the same problem even without continuator.
Title: foo_skip: skip tracks that match a specified search query
Post by: Schuft on 2009-01-05 18:37:02
Hey 2E7AH,

maybe you got fading activated?

(http://img387.imageshack.us/img387/5112/foobarfadingih1.th.jpg) (http://img387.imageshack.us/my.php?image=foobarfadingih1.jpg)
Title: foo_skip: skip tracks that match a specified search query
Post by: Yirkha on 2009-01-05 19:40:45
I don't know how specifically does this work, but if it works as I think it does, it issues a "Next" command when a notification about track change comes and the new one should be skipped. Unfortunately, that notification is fired when the next track really starts playing, therefore some of its samples are already on their way to speakers.
I don't think it can work reliably better unless done in a completely different way, maybe only with additional support in fb2k core.
Title: foo_skip: skip tracks that match a specified search query
Post by: Thundik81 on 2009-01-05 19:55:27
If anyone could update this foo_skip for the latest foobar2000 9.6....., or maybe someone has a version that works with this?


by Case :
http://www.saunalahti.fi/~cse/foobar2000/foo_skip.zip (http://www.saunalahti.fi/~cse/foobar2000/foo_skip.zip)
Title: foo_skip: skip tracks that match a specified search query
Post by: 2E7AH on 2009-01-05 20:52:10
maybe you got fading activated?

hey Schuft, thanks for replying

the post is somewhat old, but not the point
you're right about fading, and only fade out has the effect on this plugin, but unfortunately it doesn't do the trick as Yirkha explained
Title: foo_skip: skip tracks that match a specified search query
Post by: s33m33 on 2009-01-19 07:25:52
Thanks for foo_skip update.

For those who might need it. Will play track only if both, Playcount and Rating are missing:
$if(%rating%,1,$if(%play_count%,1,0))

Lost some of my playback statistics while organizing files but Rating tag still exists. Above script plays music which I haven't heard before.
Title: foo_skip: skip tracks that match a specified search query
Post by: odyssey on 2009-03-06 23:45:39
I don't know how specifically does this work, but if it works as I think it does, it issues a "Next" command when a notification about track change comes and the new one should be skipped. Unfortunately, that notification is fired when the next track really starts playing, therefore some of its samples are already on their way to speakers.
I don't think it can work reliably better unless done in a completely different way, maybe only with additional support in fb2k core.

What if it was developed as a DSP that checks the tag and then clear all audio? I guess that would work and work more reliable than this method. But I'm not aware how well it would work with crossfaders?
Title: foo_skip: skip tracks that match a specified search query
Post by: Yirkha on 2009-03-07 11:04:12
Might work well on DSP level, placing it as the first in the chain. It is possible to get exact track change point, but it forces flush of all DSPs before the current one.
Title: foo_skip: skip tracks that match a specified search query
Post by: SoulMan on 2009-03-12 07:56:18
Hello,

There is a pluggin dooing this job for FB 9.6.3 ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Yirkha on 2009-03-12 09:25:43
Hello,

http://www.hydrogenaudio.org/forums/index....st&p=607923 (http://www.hydrogenaudio.org/forums/index.php?showtopic=30361&view=findpost&p=607923)
Title: foo_skip: skip tracks that match a specified search query
Post by: burn416 on 2009-05-04 22:27:35
Hi, I just downloaded foobar, and was hoping to install this add on. The only thing is I dont know how to use it. So far I have downloaded foo_skip and placed it in my components folder. Under playback, I can see that it is installed correctly because an option says skip tracks. from here I dont know what to do. I was wondering if someone could give my step by step instructions on how to use this. Thanks.
Title: foo_skip: skip tracks that match a specified search query
Post by: 2E7AH on 2009-05-04 22:44:33
In "Preferences > Advanced > Playback > Skip Track" you have to enter title formatting script that will be used for skip action, f.e.:

[font= "Lucida Console"]$if(%rating%,$ifgreater(3,%rating%,skip,))[/font] will skip any track with rating less than 3
[font= "Lucida Console"]$ifequal(%skip%,1,skip,)[/font] will skip if you have added skip tag in your file, and set it to 1
Title: foo_skip: skip tracks that match a specified search query
Post by: vogliadicane on 2009-05-17 21:11:15
is this component still in development?

I like and use it a lot. What I would like to see, is the ability to set some tag, which skips tracks only when shuffle(tracks) is set.

Why? Cause there are many albums I would like to listen to but don´t want them to be part of some mix play. If I set all ratings to 1 (my condition to skip a track), I can only hear this particular track by double-clicking, whereas all others are skipped...

edit: or something like %playback_order% to make $ifequal(%playback_order%,"Shuffle (tracks)",$ifequal(%rating%,1,skip,),)
Title: foo_skip: skip tracks that match a specified search query
Post by: v.43 on 2009-06-03 01:13:36
EDIT:
sorry, i was unaware of the updated version.
maybe that link should be put in the first post of the thread and on the wiki page (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Inactive_Tracks_(foo_skip))

EDIT2:
i've some problems finding the settings for the component O_o

(http://i39.tinypic.com/28tvo6p.jpg)

i only got that command: playback/skip tracks
Title: foo_skip: skip tracks that match a specified search query
Post by: Dirhael on 2009-06-03 01:55:45
Look under Advanced -> Playback.
Title: foo_skip: skip tracks that match a specified search query
Post by: v.43 on 2009-06-03 02:18:47
Look under Advanced -> Playback.


thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: pstrg on 2009-06-13 23:00:23
Look under Advanced -> Playback.

Downloaded and copied up261.dll to the \Components folder.
Tried to see a new entry under Advanced -> Playback, there was none.
Looked for the component under Components, it was not loaded.
Is foo_skip incompatible with fb2k 0.9.6.8 and thus not loadable?
Title: foo_skip: skip tracks that match a specified search query
Post by: fbuser on 2009-06-13 23:16:46
You have to rename it to foo_skip.dll. up261.dll is not a valid name for a foobar plugin.
Title: foo_skip: skip tracks that match a specified search query
Post by: Sam Stoat on 2009-08-10 09:35:13
Foobar says foo_skip is incompatible with Windows 7 RC.  Any chance of re-compiling?
Title: foo_skip: skip tracks that match a specified search query
Post by: odyssey on 2009-08-10 10:24:46
Why not use autoplaylists?
Title: foo_skip: skip tracks that match a specified search query
Post by: smkk on 2009-08-10 10:28:36
Autoplaylists don't even come close to the functionality prvided by foo_skip.
Title: foo_skip: skip tracks that match a specified search query
Post by: Yirkha on 2009-08-10 10:59:50
Case kindly provides an up-to-date version.
http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip (http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip)
Title: foo_skip: skip tracks that match a specified search query
Post by: odyssey on 2009-08-10 11:41:03
Personally I like the idea of using foo_skip, but most of the functionality did I just put in my autoplaylists.

A thing I don't like with the current foo_skip is the way it's implemented. I think it should have been a DSP instead, since a DSP can control exactly what to be played and thus prevent the possibility of playing small part of a skipped track that are currently a problem with foo_skip.

Another thing that could be implemented if it was a DSP, is partial skipping in songs. Many album-tracks have interludes appended on tracks instead of separated, which would be nice to circumvent in a shuffle-play.
Title: foo_skip: skip tracks that match a specified search query
Post by: Sam Stoat on 2009-08-11 10:03:56
Case kindly provides an up-to-date version.
http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip (http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip)

Working.  Thank you.
Title: foo_skip: skip tracks that match a specified search query
Post by: crusher on 2009-08-19 05:57:08
hi,

I'm trying to use this plugin to skip songs that I don't wanna hear when I listen to the last.fm radio using foobar.
after studying the foobar helpfile I've got this one working:

$if($stricmp(%title%,A Random Songtitle),skip,)

Unfortunatly it seems not to support wildcards and I didn't find a better function for this case.
Oh and of course I'd like to add several songs, artists and albums that I want to skip.

do you have any suggestion?
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2009-10-11 16:44:41
What is the correct syntax to exclude a specific playlist for this plugin?

Example with 3 Playlists:

1 Autoplaylist with Monitoring all Musicfolders - skipping should be allowed
1 Custom Playlists - skipping should be allowed
1 Empty Playlist - a doubleclick on a mp3 in my windows explorer add this file to this empty playlist and plays it.
- this works for all non-tagged (rating!=1) music files
- but rated files are of course skipped 


In this specific case, I want to play this file even though it is marked for skipping (rating=1)
This is my skip command: $if(%rating%,$ifgreater(2,%rating%,skip,))
IF rating IS 1 AND activeplaylist IS NOT "mywindowsplaylist"
Can somebody transform this to the correct syntax?

Title: foo_skip: skip tracks that match a specified search query
Post by: crimson on 2009-10-28 01:34:01
Just wanted to share....I've implemented foo_skip with foo_custominfo in .9.5.1 and now in .9.6.9 with foo_customdb
I use a toggle mechanism with boxes which I don't think you can create with playlist statistics.  For toggle using the same keyboard shortcut or context menu item you need the db. 

(http://img196.imageshack.us/img196/4403/foobar0951.png)


If you like this implementation you can read about it in this thread: 
http://www.hydrogenaudio.org/forums/index....mp;#entry664533 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69143&st=0&p=664533&#entry664533)


I'm very grateful to the updaters of foo_skip and foo_customdb for the excellent work, thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2009-12-14 08:48:51
How do I get the name of an active playlist?
The  Titleformat_Reference (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference#.25list_index.25) didn't helped me enough.

My problem is (in some rare cases) I have a playlist only with skipped tracks. This causes a never ending loop.
So I tried to exclude this problematic playlist. But no luck.

[font= "Courier New"]$if(%LIST_NAME%,"Windows Explorer",,[/font][font= "Courier New"]$ifequal(%rating%,1,skip)[/font][font= "Courier New"])[/font]

Title: foo_skip: skip tracks that match a specified search query
Post by: MusX on 2010-01-19 18:07:44
does it still work for you guys on 1.0?
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-01-19 19:14:12
 

Yes, it does

Title: foo_skip: skip tracks that match a specified search query
Post by: MusX on 2010-01-19 19:51:32
ok, thanks. don't know why, after installing 1.0 my %skip% has changed to %rating% I think. now it's ok
Title: foo_skip: skip tracks that match a specified search query
Post by: v.43 on 2010-04-12 16:39:42
is it possible to convert this script to the new query sintax?

Code: [Select]
$ifgreater(
$right($crc32(%title%),2),  --almost random number 0 to 99
$if(%RATING%,
  $ifequal(%RATING%,0,101,   --tracks rated 0
   $ifequal(%RATING%,-1,-1,  --tracks rated -1, ie: to be skipped
    $mul(%RATING%,35)        --for other ratings. the lower this parameter, the most likely the track will be skipped
   )
  ),
101),   --unrated tracks
1,      --skip
0       --play
)


$ifgreater($right($crc32(%title%),2),$if(%RATING%,$ifequal(%RATING%,0,101,$ifequal(%RATING%,-1,-1,$mul(%RATING%,35))),101),1,0)


if not, i'll stick with the old version..
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-04-12 17:17:30
Without trying to analyze your string further you can just use syntax: "$ifgreater($right($crc32(%title%),2),$if(%RATING%,$ifequal(%RATING%,0,101,$ifequal(%RATING%,-1,-1,$mul(%RATING%,35))),101),1,0)" IS 1.
Title: foo_skip: skip tracks that match a specified search query
Post by: v.43 on 2010-04-12 21:01:20
thank you! that worked great
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-04-24 22:27:14
Thanks for the update (foo_skip 0.8)
Hope you will add querying the active playlist. =)
Title: foo_skip: skip tracks that match a specified search query
Post by: lieti on 2010-06-21 20:14:35
HELLo nice and usefull plugin, but I need to know how to indicate if is plugin activated or deactivated. For instance in text_display window, or somwhere in default user interface. Thanks a lot
Title: foo_skip: skip tracks that match a specified search query
Post by: v.43 on 2010-06-30 11:49:00
i just noticed v.1.0 is out
http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip (http://www.saunalahti.fi/cse/foobar2000/?changes=foo_skip)

many thanks to the developer for the good work!
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-07-03 22:45:40
I was only somewhat recently made aware of this thread and hadn't read it from the beginning until now...

This is sort-of related, but I thought a plug-in that would skip a predefined section of a song would be cool.  Like, the annoying intro to a good song, or a 20 minute outtro.


I just uploaded version 1.1 of Skip Track (http://www.foobar2000.org/components/view/foo_skip). It allows you to skip parts of tracks if you use tag field 'skip'. For example: to skip the first minute of a track create tag field 'SKIP' and give it value '-1:00'. To skip from the end after 4 minutes and 30 seconds, use value '4:30-'.

Hope you will add querying the active playlist. =)

Also added. Use %playlist_name% to query it.
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-07-03 22:48:37
Thank you so much for your work!

Short feedback: It works 

Code: [Select]
(%rating% IS 1) AND (NOT %playlist_name% IS "Windows Explorer")
Title: foo_skip: skip tracks that match a specified search query
Post by: nameless on 2010-08-04 21:37:36
I've been using this component for a long time.  It always worked fine, but the new versions don't work at all for me.

I've always had a "skip" field and would set it to "1" for tracks I wanted to skip entirely.  Now I have "Skip Track" added as a DSP, "Skip Tracks" is selected in the Playback menu (these options confuse me--a DSP?), yet tracks aren't skipped.

All other settings are at their default.

Please, can someone tell me how to simply use foo_skip to skip tracks completely?

Edit: I think I am beginning to see...  I went to Preferences > Advanced > Playback > Skip Tracks > "Skip track query" and set it to "%skip% is 1".  This seems to work.  I wish there were a few more places that needed setup.

Can someone tell me how to make it so tracks are skipped if either %skip% or %preference% is 1?  I know this is a moron-level question.
Title: foo_skip: skip tracks that match a specified search query
Post by: Yirkha on 2010-08-04 21:53:37
%skip% IS 1 OR %preference% IS 1
(Library > Search > [?] brings you to the query language help.)
Title: foo_skip: skip tracks that match a specified search query
Post by: watercolor on 2010-08-08 07:22:55
I was only somewhat recently made aware of this thread and hadn't read it from the beginning until now...

This is sort-of related, but I thought a plug-in that would skip a predefined section of a song would be cool.  Like, the annoying intro to a good song, or a 20 minute outtro.


I just uploaded version 1.1 of Skip Track (http://www.foobar2000.org/components/view/foo_skip). It allows you to skip parts of tracks if you use tag field 'skip'. For example: to skip the first minute of a track create tag field 'SKIP' and give it value '-1:00'. To skip from the end after 4 minutes and 30 seconds, use value '4:30-'.

Hope you will add querying the active playlist. =)

Also added. Use %playlist_name% to query it.


Can I use '-1:00' and '4:30-' same time?
skip field: -1:00;4:30-
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-08-08 08:16:43
Current version only supports one time skip range. Perhaps I should mention that time skipping isn't used at all when you explicitly choose a track by double clicking it. It's only enabled when playback advances naturally from previous track. Might be good to know if you test the feature.
Title: foo_skip: skip tracks that match a specified search query
Post by: watercolor on 2010-08-08 08:35:06
Current version only supports one time skip range. Perhaps I should mention that time skipping isn't used at all when you explicitly choose a track by double clicking it. It's only enabled when playback advances naturally from previous track. Might be good to know if you test the feature.


Thank you.
Can I set start time and end time on one track skip tag field on the future?

For example:
'A' track length is 4:00.
'A' track skip tag is -1:00;3:00-
'A' track start at 1:00, and end 3:00.
Title: foo_skip: skip tracks that match a specified search query
Post by: Unno on 2010-08-20 03:38:41
Thank you.
Can I set start time and end time on one track skip tag field on the future?

For example:
'A' track length is 4:00.
'A' track skip tag is -1:00;3:00-
'A' track start at 1:00, and end 3:00.


I agree.  This would be awesome.  I've got a lot of live music, and I'd love to be able to crop the crowd noise from the beginning and end for playlist shuffling.
Title: foo_skip: skip tracks that match a specified search query
Post by: herojoker on 2010-08-20 12:12:45
Quote
I've got a lot of live music, and I'd love to be able to crop the crowd noise from the beginning and end for playlist shuffling.

That's possible with cue sheets (.cue files, may be embedded).
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-08-23 20:36:11
Version 1.3 (http://www.foobar2000.org/components/view/foo_skip) uploaded with support for watercolor's feature request.
Title: foo_skip: skip tracks that match a specified search query
Post by: Anakunda on 2010-09-04 19:19:14
I don't know if this is a bug but had recently some problems with this plugin, one of my albums didnot play correctly even if I didnot tag any tacks of it to be skipped. It simply played clicked track but didnot advance to next track. Instead that it restarted playback and immediately stopped in fast cycles, after while foobar given up and stopped playback. In case I could reproduce the problem by readding this plugin. What tags exactly should be present to plugin take action? I checked tracks' properties and saw no suspicious tags.
I came to Skip Track component by selective removal method.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-09-05 07:47:39
Default behavior is to skip tracks where you have Rating tag field with value 1 or use foo_playcount to set rating to 1. This can be fully customized in preferences though. Time based skipping is hardcoded to use field Skip. I remember some old version behaving strangely but new one shouldn't act up. If you can reproduce the issue with version 1.3 I'd like to hear how.
Title: foo_skip: skip tracks that match a specified search query
Post by: Anakunda on 2010-09-05 10:16:56
yeah the problem persists even on another rip of the same album

here are all tags copied:

Code: [Select]
Artist Name : PINK FLOYD
Track Title : «multiple values» Shine On You Crazy Diamonds; Astronomy Domine; What Do You Want From Me; Learning To Fly; Keep Talking; Coming Back To Life; Hey You; A Great Day For Freedom; Sorrow; High Hopes; Another Brick In The Wall (Part Two) ...
Album Title : Pulse
Date : 1995
Genre : Progressive rock
Composer : «multiple values» Roger Waters; Rick Wright; David Gilmour; Syd Barrett; Polly Samson; Ricky "Reagan" Wright; Anthony Moore; Bob Ezrin; Jon Carin; Nick Mason
Performer : PINK FLOYD
Album Artist :
Track Number : «multiple values» 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24
Total Tracks : «multiple values» 11; 13
Disc Number : «multiple values» 1; 2
Total Discs : 2
Comment :
ISRC :
Disc ID :
Catalog :
URL :
Copyright :
Ripped By :
<RELEASEDATE> : 1995 06 06
<STYLE> : Prog-Rock/Art Rock; Album Rock; Hard Rock


If I dblclick on the album name in album list, the playback won't start (many attempts to start but instantly stopping in loop).
If I dblclick on track 1 in playlist, playback starts but only till track end, starting playback track 2 the same messy behaviour, stop

The foo_skip version is 1.1 which doesnot update

/edit
Updated manually to foo_skip 1.3 now and the no playback issue persists...
I have problem with this album only
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-09-05 13:49:07
Could you check the configured skip string in advanced preferences under Playback -> Skip Tracks? Also if you have Skip Track DSP enabled could you tell which other DSPs you use and in which order? And if the string is the default (%rating% IS 1), could you check the bottom of Properties tab of track properties to see if the files have rating set?

I can sort of simulate what you describe if I give all files in a playlist rating 1 (to mark them as skippable) and enable Playback follows cursor option and disable Cursor follows playback option and change playback order to Default. The player simply skips all tracks with this configuration without advancing the cursor to inform me about it. When all files in the playlist are skipped the playback stops.
Title: foo_skip: skip tracks that match a specified search query
Post by: Anakunda on 2010-09-05 18:21:46
Culprit found now, the rating was 1 for the tracks. But it wasnot in standard tagset.
OK, issue fixed.
Title: foo_skip: skip tracks that match a specified search query
Post by: someth on 2010-10-25 07:59:02
I want to skip songs that are played out less than a week ago and more than once.
How to do it?
Thank you.
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2010-10-25 15:47:34
I want to skip songs that are played less than a week ago and more than once.


Create an autoplaylist by entering the following string into the Library Seach field (Library > Search):
NOT (%play_count% GREATER 1 AND %last_played% DURING LAST 1 WEEK)
Then select "Create autoplaylist" in the button menu next to the search field.
Title: foo_skip: skip tracks that match a specified search query
Post by: someth on 2010-10-27 17:12:48
I want to skip songs that are played less than a week ago and more than once.


Create an autoplaylist by entering the following string into the Library Seach field (Library > Search):
NOT (%play_count% GREATER 1 AND %last_played% DURING LAST 1 WEEK)
Then select "Create autoplaylist" in the button menu next to the search field.


Thanks, but I would like to do this with "skip track"
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2010-10-27 21:13:25
Thanks, but I would like to do this with "skip track"

Sorry, then I can't help. The alternative way works, but it would use the playlist in an extraordinary way: it would only contain the items you want to play. I can't see the reason to have tracks in your playlist for the sole purpose of skipping them.
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-10-31 10:21:54
Oh, I recently discovered that foo_skip doesn't work with mp4 files. They aren't skipped.

(I often  download youtube music as mp4 videos and play them with foobar. Of course without video, only with audio)




Maybe my config helps you to fix it:
- foobar core 1.1.1 beta 2
- foo_skip 1.3
- foo_playcount 3.0.1 

- if rating is 1 its skipped
- rating is stored in playcount database
I hope that it isn't the combination of mp4, foo_playcount and foo_skip which causes problems


Title: foo_skip: skip tracks that match a specified search query
Post by: herojoker on 2010-11-18 12:56:12
I would like to have a little dropdown menu (like the one for the playback order) to choose the pattern to use for skipping, addable to the main interface.
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2010-11-18 13:19:53
Different approach: use an autoplaylist query that excludes tracks you want to skip from your playlist. So "%rating% GREATER 1 OR %rating% MISSING" effectively skips tracks with a bad rating (and includes unrated tracks).
Title: foo_skip: skip tracks that match a specified search query
Post by: herojoker on 2010-11-18 14:26:21
I know that approach, nevertheless it would be nice to choose which tracks should be skipped for an existing playlist. It may even be that that playlist is not (in a reasonable way) retrievable by a query from the media library.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2010-11-18 17:03:20
ojdo,

does it have any special reason because of you again and again tell people to use autoplaylists? This skip component is not by far just a replacement for what you can do with autoplaylists. So there is no reason to let people feel like fools.


I want to skip songs that are played less than a week ago and more than once.


Create an autoplaylist by entering the following string into the Library Seach field (Library > Search):
NOT (%play_count% GREATER 1 AND %last_played% DURING LAST 1 WEEK)
Then select "Create autoplaylist" in the button menu next to the search field.
Or type the exactly same search query in skip field!?

@herojoker
Nice request to have multiple search fields applyable by dropdownbox or mainmenu or whatever.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2010-11-20 21:34:41
Could you implement a variable like %will_be_skipped% that will show you wich track is going to be skipped in dependence of the string you use.
Another try! 
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2010-11-21 09:59:12
does it have any special reason because of you again and again tell people to use autoplaylists? This skip component is not by far just a replacement for what you can do with autoplaylists.

I'll give this answer as long as people request features that are already there, but probably are just not aware of them. Which difference are talking of, other than still seeing tracks in a playlist without foobar actually playing them?

Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-12-03 02:04:56
Found two bugs:
- dont skips mp4 files
- if I manually select files, they should be played even with skip tag (see option for that).
  That works in a normal playlist, also in playlist search - but not in media library search

Hope that helps
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-12-03 05:49:54
Media Library Search issue reproduced but there is no difference for the component what format files are in. MP4 skipping works just fine for me. In theory there could be an issue with skip string parsing as support for playlist name is a bit of a hack. Post your skipstring and double check your file for tags and other metadata you use to determine skipping.
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-12-03 10:44:11
Here are some screenshots for you with some mp3tag infos and foobar meta tag infos

(http://img221.imageshack.us/img221/5967/bild000a.th.jpg) (http://img221.imageshack.us/i/bild000a.jpg/)(http://img834.imageshack.us/img834/7020/bild001k0.th.jpg) (http://img834.imageshack.us/i/bild001k0.jpg/)(http://img408.imageshack.us/img408/1851/bild002p.th.jpg) (http://img408.imageshack.us/i/bild002p.jpg/)


my skip string is:
(%rating% IS 1) AND (NOT %playlist_name% IS "Windows Explorer")

it works normal with all file types except MPEG-4 AAC
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2010-12-03 17:27:18
Which difference are talking of, other than still seeing tracks in a playlist without foobar actually playing them?

Well, an autoplaylist filters the library by a query and creates a playlist, on the contrary the skip component applies the query on an already existing playlist. Actually nothing more would be left to say but i will repeat extra for you what already herojoker said to you so that you don't have to ask a second time for the difference: there are different playlists than autoplaylists and users of foo_skip are not in the mood to carry about single tracks attributes when creating a static playlist. Furthermore it makes sense to use foo_skip inside an autoplaylist when you are like me and hates to repeat the same part of a query again and again or to bloat foobar2000 with hundreds of autoplaylists just because they became everybodies darling. Enough examples?


Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-12-03 17:41:12
my skip string is:
(%rating% IS 1) AND (NOT %playlist_name% IS "Windows Explorer")

Titleformat string %rating% will return nothing for your file - playback statistics component doesn't check file for tags and only returns data from its database. You can fix the skipping by changing skip string to (%rating% IS 1 OR "$meta(rating)" IS 1) AND (NOT %playlist_name% IS "Windows Explorer").
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2010-12-03 18:15:33
Since foo_playcount tracks played, added, last_played and first_played even for mp4 (not only mp3) I thought I'm all fine with %rating%. But its not.
I now use ("$meta(rating)" IS 1) AND (NOT %playlist_name% IS "Windows Explorer")

Thank you very much

PS: woOt. Works only with  that quotation marks. O.o
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2010-12-04 15:56:25
I uploaded experimental version here (http://www.saunalahti.fi/~cse/foobar2000/foo_skip_test.zip). It fixes the Media Library Search window playback and adds titleformat field %skip_track% that returns 1 for files that will be skipped based on the current string. I didn't make it able to refresh the value on runtime so it will use the skip string that was configured when foobar was started. I'm not sure I'll keep this feature as it is incompatible with playlist name checking and possible future time evaluation.
Title: foo_skip: skip tracks that match a specified search query
Post by: FumbleFinger on 2010-12-04 17:00:29
This is already quite a long topic, so apologies if I've missed some previous suggestion along the lines of what I do.

I used to use the foo_skip plugin, but now I use a simpler method that works better for me.

I actually store my star ratings in a field called %steve%, explicitly updated in the mp3 headers. Saves losing rating settings if my foobar database gets trashed, and distinguishes my values from anyone else's if (god forbid) files get copied to/from other people's libraries. But the principle should work whatever you call the ratings field.

The key point is that in addition to setting %steve% = 1,2,...5, on the tracks I do like, I explicitly set it to 0 for tracks that I'd rather not have played in normal circumstances. Those tracks can then be distinguished from those that I haven't rated at all, either positively or negatively.

The playlist view pattern for my "Stars" column is...
$if(%steve%,  $if( $greater(%steve%,0),$repeat($char(9679),%steve%),$char(164)),  $char(32))
...which gives me a (relatively) intuitive "bullethole in glass" character for tracks that I've blown out

My primary auto playlist has contents NOT (%steve% PRESENT AND %steve% EQUAL 0), which does it for me.

Usefully, foobar's column sort algorithm also distinguishes an explicit value 0 from the field not being present at all, so you get a sensible sequence if you sort by stars on unfiltered playlists.
Title: foo_skip: skip tracks that match a specified search query
Post by: Marsu42 on 2010-12-12 11:15:52
Could you implement a variable like %will_be_skipped% that will show you wich track is going to be skipped in dependence of the string you use.
Another try!


Here's the solution: http://www.hydrogenaudio.org/forums/index....showtopic=85508 (http://www.hydrogenaudio.org/forums/index.php?showtopic=85508)
Title: foo_skip: skip tracks that match a specified search query
Post by: tytan on 2011-03-05 22:37:40
Hello. In changelog i can read this:
1.3 (2010-08-23): Allows skipping both the beginning and the end of a track.

How do I set which part I want to skip?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-03-06 08:43:48
Add a tag field named SKIP and give it timecodes to inform what part to skip. For example to not hear first 30 seconds of a track use value -0:30. To skip the last minute of a 5 minute track use value 4:00-. To only hear the first 30 seconds and the last minute of the above 5 minute track use value 0:30-4:00. To skip both the beginning and the end separate the timecodes with a semicolon (-0:30;4:00-).
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-03-16 18:24:28
Hello case,

setting the range to be skipped by manually writing the tag is somehow inconvenient. What do you think about a simple but intuitive window/ui (f.e. slider)that let's you set the ranges and gives you the opportunity to prehear the results?
Title: foo_skip: skip tracks that match a specified search query
Post by: Schnapsbrenner on 2011-05-04 22:08:05
Add a tag field named SKIP and give it timecodes to inform what part to skip. For example to not hear first 30 seconds of a track use value -0:30. To skip the last minute of a 5 minute track use value 4:00-. To only hear the first 30 seconds and the last minute of the above 5 minute track use value 0:30-4:00. To skip both the beginning and the end separate the timecodes with a semicolon (-0:30;4:00-).

now its working, without the "="

Thank you soooo much for this component.  Now there's only one thing left to make me completely forget hell (itunes). (just need to find a component to sync playlists with my mp3-player)
You've made foobar a lot better for me...thanks again!

Grertings,
Schnaps
Title: foo_skip: skip tracks that match a specified search query
Post by: xfactor99 on 2011-05-07 14:03:20
Hey guys, it seems most people here want to skip tracks that have been played already, but I want to skip tracks that I haven't played yet, say under a certain threshold (5 plays). Is there a way to do this?
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2011-05-07 14:18:52
Quote
but I want to skip tracks that I haven't played yet, say under a certain threshold (5 plays)


eh? 

anyway: http://wiki.hydrogenaudio.org/index.php?ti...00:Query_syntax (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax)
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-24 18:52:12
Hello case,

i would like to wish a simple bookmark functionality for foo_skip. The skip tag is good for cutting out long intros or outros out of tracks.

On the contrary a boomark tag would store the current playback position in <BOOKMARK> of currently playing track by applying a command (context or main menu) during playback. An autoplaylist could then list all bookmarked tracks. The bookmark tag should have higher priority than the skip tag for the case that both tags are existent. Useful would be also a command to remove bookmark tag. Actually very simple but for me sufficient since i want to get rid of not only the overcomplexity of foo_boomarks but mainly also of the problems it is making in my installations.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-06-25 00:38:26
Uploaded version 1.7 that hopefully implements bookmarking in a satisfying way. If you enable automatic bookmarking you get BOOKMARK tag if you manually change track. Automatically added bookmark tag is removed when track ends naturally. Manual bookmarking works from Playback menu and bookmark tags can be removed for current track from Playback menu and for selected tracks from context menu.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-25 00:43:26
Wow, Thanks!

Edit: Did a quick test and it works! There is one senseful option: when a track which is not bookmarked automatically is stopped either by manually changing track or by normal stopping the last playback position is stored and at end the bookmark is removed. I ask for that option because i am not sure if i like the automatic bookmarking as it could result in endlesss bookmarked tracks so i prefer manual bookmarking.

Edit2: to say it clearer and more understandable, the automatically bookmarked tracks doesn't need to have the update of playback position  necessarily included in itself. IMO an option "autoupdate playback position and remove bookmark at end of track" which is related to manually as well as automatically bookmarked track is more flexible. Whereas automatic bookmarking makes sense only when manually changing track, the autoupdate of playbacvkposition makes also sense at stop button.

Sorry, i am so tired that i am not able to express myself clearly in english.
Good night, you all!

Edit: Before going to bed here a report of an inconsistency. when automatic bookmarking is enabled and a bookmarked is stopped by stop button then the properties window shows the old bookmark position like described in presentation of the update. But doubleclicking the track starts it from position where it was stopped and bookmark tag is changed to it.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-06-25 10:46:27
I tried to improve bookmarking features for version 1.7.1.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-25 13:01:17
Thank you case, all what i need is possible now. 

The bug (?) i mentioned still exists in latest version: an automatically bookmarked is also autoupdated on stop button, solely the bookmark tag is updated not on stop but not till then starting playback again. Another point: while playing around with autobookmarking that causes many tracks bookmarking and removing bookmaks  i noticed that context menu command "remove bookmark" doesn't check in multiple selections if a bookmark tag exists at all: the command is available even if no tag exists. So the presence of the command doesn't give a useful information about the presence of bookmarks.


Edit
Here a screenshot how a bookmark panel created with facets could look like:
(http://img41.imageshack.us/img41/8377/facetsbookmark.jpg) (http://img41.imageshack.us/i/facetsbookmark.jpg/)
You even don't need to add bookmarked tracks to a playlist for playing: you can use the "play" command in context menu to play outside a playlist.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-06-25 16:30:09
Hopefully there are no more issues in 1.7.2.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-25 17:23:36
Everything is fine, thank you once again!
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-28 17:08:51
Hello case,

there is a very hard conflict between the new bookmark function and the preview function of foo_seek (http://www.hydrogenaudio.org/forums/index.php?showtopic=88654&view=findpost&p=758085) that ends with deleted bookmark tag. I already asked grimes in german foobar2000 forum for a way to override bookmark functionality by automaticall deactivating toggle-option "skip tracks & use bookmarks" in main-menu if enabled. To describe the conflicht: If you are previewing some tracks and the preview reaches a song with bookmark track then the preview begins from the timepoint defined in seek controls advanced preferences and the bookmark tag gets deleted. No idea what is going on.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-06-29 20:53:19
Nasty bug, fixed in 1.7.3.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-29 21:26:53
Thanks case,

the removal of the bookmark track is fixed. To my surprise the foo_seek-preview begins from its position and overrides the bookmark tag. That i consider as desireable behaviour. Now one conflict remains: if autoupdate of bookmark position is enabled then selfevident the bookmark tag gets updated to the position where the preview ended. That may not be desireable. Since in case of preview the playback doesn't begin from bookmark position there seems to be something that tells foobar to start from preview beginning position. Isn't then also possible in that case not to update bookmark tag?


Edit
I assume that "remove bookmark" in main menu should remove all bookmark tags existing in library. That is at least what it did when i tried it. To avoid speculations for new users i would call it "Remove all bookmarks" and make it hidden [edit] to make accidental removal more difficult [/edit]. Apart from that this command doesn't appear sometimes even if a bookmark exists (the bookmarked track is in library!).
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-06-30 19:40:27
Another little bug:

if a) skip tag exists to cut beginning and end of track and b) playbackorder is "repeat track" then playback nevertheless advances to next track.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-07-02 14:39:54
To my surprise the foo_seek-preview begins from its position and overrides the bookmark tag. That i consider as desireable behaviour. Now one conflict remains: if autoupdate of bookmark position is enabled then selfevident the bookmark tag gets updated to the position where the preview ended.

It seems to depend on luck which component does the seeking. I changed Skip Track to only update bookmark if seek seems to originate from user or a component seeked to bookmark position.

I assume that "remove bookmark" in main menu should remove all bookmark tags existing in library.

No, it works on the track that is currently playing (just like the 'Bookmark current position' entry in the same menu). If playback is stopped it works on the track that was last playing. I have not seen it misbehave. Context menu entries work on the selected tracks.

if a) skip tag exists to cut beginning and end of track and b) playbackorder is "repeat track" then playback nevertheless advances to next track.

Fixed.
Title: foo_skip: skip tracks that match a specified search query
Post by: Wolfilius on 2011-07-17 14:59:22
Hello
For few hours now, I'm trying to make foo_skip working with all possibilities but nothing...
All my files have a tag named "skip" containing 1 if I want it skipped instead of "rating"=1 because sometimes I wish good songs (rated 4,5) skipped. Here are my various tests:
- %skip% IS 1
- $meta(%skip%) IS 1
- %skip_track% IS 1
- if(%skip%, 1, skip, )
...
case %skip% doesn't exist (after rating 1 the test track) :
- %rating% IS 1
- $meta(%skip%) IS 1
...
all that with double-click on the test track, double-click on the precedent track then "next", activate/desactivate "even manually selected" option, ...
I've no more idea so I'm asking for help here, after reading the topic.
PS: Sorry for my lame english...
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-07-17 16:25:22
Setting a tag field 'skip' with value '1' definitely works when your skip query is '%skip% IS 1'. Only thing I can suggest is to check that the component isn't accidentally disabled. There should be a checkmark in its Playback menu entry when it's enabled.
Title: foo_skip: skip tracks that match a specified search query
Post by: Wolfilius on 2011-07-17 17:30:26
Setting a tag field 'skip' with value '1' definitely works when your skip query is '%skip% IS 1'. Only thing I can suggest is to check that the component isn't accidentally disabled. There should be a checkmark in its Playback menu entry when it's enabled.

I've downloaded again the foo_skip.dll file.
After reboot, no changes: Skip Tracks is in the "keyboard shortcut" menu, the "avanced" menu, but nothing in the "playback" menu or "playback" context menu...
Can it be a conflict with some other plugin ?
Title: foo_skip: skip tracks that match a specified search query
Post by: tpijag on 2011-07-17 18:03:21
Think it rare to conflict with other plugin, though it would not hurt to say what you have loaded. There is a copy button in preferences>components and you can paste into a codebox. To be clear, here is the menu entry.

(http://dl.dropbox.com/u/35526849/skip.jpg)
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-07-17 22:11:08
I changed Skip Track to only update bookmark if seek seems to originate from user or a component seeked to bookmark position.
I am not sure what you mean with this and what has been changed. Using seek controls preview feature still ends with update of bookmark position. However, that is not a big issue.
Title: foo_skip: skip tracks that match a specified search query
Post by: Wolfilius on 2011-07-17 23:46:02
Think it rare to conflict with other plugin, though it would not hurt to say what you have loaded. There is a copy button in preferences>components and you can paste into a codebox. To be clear, here is the menu entry.

I've found the hidden menu (by Columns UI): the entry was already checked.
Uncheck then check again and... IT WORKS  !!!
Obviously a bug since the last update of foobar...
Thanks for the help, after hours I would never paid attention to an already checked option.
Title: foo_skip: skip tracks that match a specified search query
Post by: -AdZero- on 2011-08-09 20:44:13
Hi.

I'm trying to use Skip Tracks in a very specific way but I can't reach my goal.
Let me explain what I'm trying to do.
I want to play a specific part of a track (for example start after 30 seconds and play during 1 minute) and then insert silence before playing the next track excerpt.
I know how to skip the beginning and te end of the track but I can't insert silence because the "Post-track silence" plugin doesn't work in combination with Skip track.

Has anyone an idea how to do it ? It would be interisting to have such an option in the Skip Tracks plugin.

Thanks.

Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-08-10 15:15:11
Pregap DSP (http://www.saunalahti.fi/~cse/foobar2000/?changes=foo_dsp_pregap) component can be used to achieve what you want. It has a downside of having a pause before the first played track too though.
Title: foo_skip: skip tracks that match a specified search query
Post by: -AdZero- on 2011-08-13 15:47:49
Pregap DSP (http://www.saunalahti.fi/~cse/foobar2000/?changes=foo_dsp_pregap) component can be used to achieve what you want. It has a downside of having a pause before the first played track too though.


I tried the Pregap component but it doesn't work in combination with Skip Tracks.
All my tracks have a Skip tag with the value -00:30;01:30- and there's no silence between each track.

Thanks for the suggestion anyway.
Title: foo_skip: skip tracks that match a specified search query
Post by: Shinsou on 2011-08-24 13:58:36
This component has become invaluable for me with bookmarking features added. Any possibility to skip now playing track when rating is set to 1 ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Nixdagibts on 2011-08-24 14:01:58
Have you already tried this?
Preferences > Advanced > Playback > Skip Tracks > Skip Track Query
Code: [Select]
%rating% IS 1
Title: foo_skip: skip tracks that match a specified search query
Post by: Chaser on 2011-09-12 20:27:00
Works great, though I am experiencing something not so nice: When tracks are skipped, they are not truly skipped but rather start playing for a couple of hundres milliseconds. This is due to the option "Fade out (ms)" in the Advanced-Tab. To try it out, just set it to for example 1000ms and let there be a couple of skipped tracks. You will always hear the first couple of tones.

Secondly the skipping is not instant. By that I mean that there is a considerable pause between Song A and Song B, when there are for example 10 skipped tracks inbetween. Is there anything you can do to improve this behaviour?

Thank you very much!
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2011-09-13 16:57:19
Sounds like you haven't enabled Skip Track DSP part. The DSP will eat the beginning of a track so you won't hear it. Unfortunately there isn't anything I can do to make track skipping faster. If DSP discards the samples from a skipped track playback counters will think it was played. And if DSP component asks core to skip to next track as soon as skippable track starts decoding you will miss samples from the end of currently playing track.
Title: foo_skip: skip tracks that match a specified search query
Post by: Chaser on 2011-09-14 07:17:51
Thank you. I indeed missed that part!
Title: foo_skip: skip tracks that match a specified search query
Post by: Shinsou on 2011-10-03 19:01:43
Have you already tried this?
Preferences > Advanced > Playback > Skip Tracks > Skip Track Query
Code: [Select]
%rating% IS 1

Looks like I missed that thread.
"%rating% IS 1" in "Skip Track Query" works as it should: it skips tracks with rating "1". I need a currently playing track to be skipped as soon as I rate it *1.
Title: foo_skip: skip tracks that match a specified search query
Post by: delusion on 2011-11-03 22:49:29
can anyone please tell me the correct order for DSPs to avoid playing a few millisecs of a skipped track.

this is how i set the order atm.
Advanced Limiter => Acro Skip Silence => Skip Track => Gapless Crossfader

afaik i tried every possibility and didnot  get a satisfying result.
i set "fade in" in "prefernces" "advanced" "playback" to "0". but it always plays skipped tracks for a few millisecs.
when tracks are not skipped, the tracks are crossfaded as expected...

hope, anyone can help out. thx in advance, and thx for this great plugin!!!

fg, dls
Title: foo_skip: skip tracks that match a specified search query
Post by: Shinsou on 2011-11-04 08:18:13
I couldn't get 100% complete skipping using any DSP setup but for gapless playback put "skip track" to the top of DSP chain.
Title: foo_skip: skip tracks that match a specified search query
Post by: delusion on 2011-11-04 14:28:18
thx4thequickanswer
i there&then read it should possible, so i didnt stop trying ;-)
even if thinking about it logically, i couldnt imagine it could work.

i try to add the dsp foo_dsp_pregap.dll to avoid the first X millisecs played to be heard.
think it could work like that. gonna try it out in the evening.
i use overlap instead of fade-in/fade-out, so i cannot use the fade-functions for this...
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-12-08 22:09:48
I have a small request and a bigger one:

The check option "skip tracks and use bookmarks" in main menu activates all three features of the skip component: bookmark tag, skip tag and skipping track by matching a query. Generally i would like to keep this option always enabled because off bookmark and skip tag but would like to use the skipping by matching a query only when i consider it as useful/necessary. Would like to have two check options: on one side the skip/bookmark tag (f.e. "Use skip & bookmark track") and on the other side "Skip tracks".

It might seem to be a an over-the-top feature but there is one important reason (how i/we have experienced) to write at least the bookmark tag in a simple database rather than in the file: multi-user enviroment. Maybe something that works similar to foo_playcount: using the same tag sheme (artist, title, album,...) to map the bookmarkposition to a file.
Title: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2011-12-22 13:38:01
Is it possible to use foo_skip in combination with the converter to create tracks that have the "skipped" parts removed?

For example, I have a track that is 2:30 long and would like to chop off the first 30 seconds based on the skip tag value of -30.
Title: foo_skip: skip tracks that match a specified search query
Post by: db1989 on 2011-12-22 14:06:35
Is it possible to use foo_skip in combination with the converter to create tracks that have the "skipped" parts removed?

For example, I have a track that is 2:30 long and would like to chop off the first 30 seconds based on the skip tag value of -30.
Yes, it should be as simple as loading foo_skip as a DSP and choosing to include DSPs when converting.
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2011-12-22 14:10:14
I've never tested that - but i am sceptical. Parts of the track aren't removed automatically (edit: while being played) just by loading the dsp but by activating the toggle option in main menu. ZhuGeLiang, let us know if you have success.
Title: foo_skip: skip tracks that match a specified search query
Post by: db1989 on 2011-12-22 14:13:51
Oh, then you’re probably right. My apologies to ZhuGeLiang and yourself if that’s the case. My knowledge of foo_skip is vague, and I assumed that the DSP would always process normally as long as it was enabled in the menu/Preferences.
Title: foo_skip: skip tracks that match a specified search query
Post by: thibris on 2012-01-28 15:41:56
Is there any way to use globals under the Advanced -> Playback -> Skip Tracks -> Skip Track Query ?
I wanted to use something like:
Code: [Select]
%play_count% GREATER $get_global(max)
Title: foo_skip: skip tracks that match a specified search query
Post by: groveller on 2012-05-01 20:58:53
Does anyone have foo_skip 1.6 (2011-06-20)?
Title: foo_skip: skip tracks that match a specified search query
Post by: Falstaff on 2012-05-01 21:06:54
is v1.6.0 better that v1.7.4 ?

EDIT: just curious...
Title: foo_skip: skip tracks that match a specified search query
Post by: groveller on 2012-05-01 21:30:36
“Bookmark” feature makes me cry. I use foo_customdb for bookmarking and often have troubles with track skipping.
That’s why v1.6 better than 1.7.4 for me (and better than buggy 1.4, that I use :\)
Title: foo_skip: skip tracks that match a specified search query
Post by: q-stankovic on 2012-05-03 22:38:50
Can you describe what your trouble is?
Title: foo_skip: skip tracks that match a specified search query
Post by: r0k on 2012-05-07 18:11:15
Hmm. Maybe i'm blind but where's the download link?
It's not in the first post. The Wiki page is for foobar0.9 and the only file there is named up261.dll. Not really the typical foobar component.
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2012-05-07 18:18:24
http://www.foobar2000.org/components/view/foo_skip (http://www.foobar2000.org/components/view/foo_skip)
Title: foo_skip: skip tracks that match a specified search query
Post by: r0k on 2012-05-07 19:06:37
Doh 
I'm so used to look at the wiki because there are more components there that i forgot to check the official components page.

Thanks

EDIT : i wanted to update the link in the wiki so i could feel less stupid for asking but i can't edit even after i registered in the wiki.
Title: foo_skip: skip tracks that match a specified search query
Post by: groveller on 2012-05-11 23:28:39
Well, q-stankovic, sit and listen, sit and listen.

I use “foo_customdb” for local bookmarking and track skippnig (but not only for this).

Look at my pic my pic is amazing.
(http://cs11140.userapi.com/v11140718/8a5/4Ed0WL3JfDk.jpg)
1, 2) “foo_customdb” settings
3) playlist view
4) “foo_skip” settings. I have tried several others queries (e.g. “%skip% IS 0-”) but nothing has changed.
5) Appearance of the playlist. New version of “foo_skip” skips ALL the underlined tracks, not only “Outside” as it should.

I’m sure it’s not my mistake, because before updating everything was ok. I just want version 1.6.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2012-05-12 10:09:55
Your screenshot shows the files that are skipped have bookmarks. I believe your bookmarks point to a position outside the file's length or at the very end.
PS: foo_customdb seems to have a typo in the word "Properties".
Title: foo_skip: skip tracks that match a specified search query
Post by: groveller on 2012-05-13 22:19:55
Case, hmmm, you are right. Yes, foo_customdb BOOKMARK value is %now%, it’s convenient for sorting, etc. But skip query is "%skip% PRESENT", not %bookmark%. It’s very annoying behavior.
Title: foo_skip: skip tracks that match a specified search query
Post by: smallbear on 2012-07-07 08:32:28
I was only somewhat recently made aware of this thread and hadn't read it from the beginning until now...

This is sort-of related, but I thought a plug-in that would skip a predefined section of a song would be cool.  Like, the annoying intro to a good song, or a 20 minute outtro.


I just uploaded version 1.1 of Skip Track (http://www.foobar2000.org/components/view/foo_skip). It allows you to skip parts of tracks if you use tag field 'skip'. For example: to skip the first minute of a track create tag field 'SKIP' and give it value '-1:00'. To skip from the end after 4 minutes and 30 seconds, use value '4:30-'.

Hope you will add querying the active playlist. =)

Also added. Use %playlist_name% to query it.



Current version only supports one time skip range. Perhaps I should mention that time skipping isn't used at all when you explicitly choose a track by double clicking it. It's only enabled when playback advances naturally from previous track. Might be good to know if you test the feature.


Thank you.
Can I set start time and end time on one track skip tag field on the future?

For example:
'A' track length is 4:00.
'A' track skip tag is -1:00;3:00-
'A' track start at 1:00, and end 3:00.



Version 1.3 (http://www.foobar2000.org/components/view/foo_skip) uploaded with support for watercolor's feature request.


I have been trying and trying to get this to work to absolutely no avail. Skip Tracks completely ignores anything before the "-" symbol. For example: skip=5:00-12:16, skips to the end of the track (12:16, that is, the whole track). It's infuriating. Please tell me how to skip THE END of a track. I can skip the start fine, but not the end. Nothing posted here or elsewhere works, there must be a reason.
Title: foo_skip: skip tracks that match a specified search query
Post by: ojdo on 2012-07-07 09:58:37

For example:
'A' track length is 4:00.
'A' track skip tag is -1:00;3:00-
'A' track start at 1:00, and end 3:00.


For example: skip=5:00-12:16, skips to the end of the track (12:16, that is, the whole track).


What about the following?
Code: [Select]
-5:00;12:16-
Title: foo_skip: skip tracks that match a specified search query
Post by: smallbear on 2012-07-07 10:25:07
Using that, it starts at 5: and plays until 12:16
for reference, I'm using the latest stable builds of the plug and foobar. With the only DSP being SOX Resampler.Win7.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2012-07-07 19:58:54
Smallbear, you are using the feature correctly. If you want to skip the ending after five minute marker, you can also simply use SKIP=5:00-. When you open the track where you have configured this skipping, please check what Console reports (View -> Console). Your original line should cause console to show "Skipping from 5:00.000 to 12:16.000".
I hope you haven't accidentally configured the Skip Track query option in Advanced preferences to use SKIP tag incorrectly.
Title: foo_skip: skip tracks that match a specified search query
Post by: smallbear on 2012-07-08 04:38:03
Smallbear, you are using the feature correctly. If you want to skip the ending after five minute marker, you can also simply use SKIP=5:00-. When you open the track where you have configured this skipping, please check what Console reports (View -> Console). Your original line should cause console to show "Skipping from 5:00.000 to 12:16.000".
I hope you haven't accidentally configured the Skip Track query option in Advanced preferences to use SKIP tag incorrectly.


Thanks, but I've already tried all the suggestions for syntax, I didn't want to ramble on through everything I tried, but I was at it for a few hours yesterday.

I've taken a few relevant screenshots, to show the exact settings. The filenames are meaningful, so refer to them to get the context, ie: in one instance I did a console shot that shows the effect of moving skip-track to the top of the DSP chain: what that did in playing terms was to play the first second and then skip, rather than just skipping instantly (If I remove SOX there is no change in behaviour).

http://s311.photobucket.com/albums/kk453/enchiladro/ (http://s311.photobucket.com/albums/kk453/enchiladro/)
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2012-07-08 13:19:51
The last screen capture reveals the problem. You only use the word SKIP for tag field name. The value should be nothing but numbers. It interprets the text as zero.
PS: the DSP component should be the last component in the chain if you use it. And if you don't use it, you will hear a glitch on skip if the track doesn't start with silence.
Title: foo_skip: skip tracks that match a specified search query
Post by: smallbear on 2012-07-08 14:15:09
The last screen capture reveals the problem. You only use the word SKIP for tag field name. The value should be nothing but numbers. It interprets the text as zero.
PS: the DSP component should be the last component in the chain if you use it. And if you don't use it, you will hear a glitch on skip if the track doesn't start with silence.


Thanks, that's solved it. I had a vague feeling it must be in the syntax, seems obvious now. I do have the DSP second in the chain, I noticed some slight glitches otherwise, as you said.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2012-08-08 12:46:59
Add a tag field named SKIP and give it timecodes to inform what part to skip. For example to not hear first 30 seconds of a track use value -0:30. To skip the last minute of a 5 minute track use value 4:00-. To only hear the first 30 seconds and the last minute of the above 5 minute track use value 0:30-4:00. To skip both the beginning and the end separate the timecodes with a semicolon (-0:30;4:00-).


Is it possible to skip a part of an audio file, such as the last x seconds? My podcasts contain advertisements at the beginning and at the end, but these files don't have the same length, so I can fix a specific moment when to skip only relative to the audio length minus x seconds.
Title: foo_skip: skip tracks that match a specified search query
Post by: DaRudi on 2012-11-10 16:45:44
A useful Tip for users of this component: I often listen to full length DJ Tracks which usually have a long intros and outros for syncing mixing and transitions. When i listen to such tracks i normally want to skip the first and the last Minute of the track.

Setting the Skip Tag for the first Minute is no problem with this component. Setting the last Minute is the trickier Part because you have to calculate the Time one Minute (or whatever you want to skip)

i solved this with the "Automatically fill values..." Tool in the Tag editor Window.

i chose source -> Other: and used this script

Code: [Select]
-1:00;$sub($cut(%length%,$sub($strchr(%length%,:),1)),1):$right(%length%,$strchr(%length%,:))-

Pattern is then the Tag Name

Code: [Select]
%skip%


With this examples foo_skip skips the first and last minute of each chosen (tagged) track
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2012-11-12 22:23:06
i solved this with the "Automatically fill values..." Tool in the Tag editor Window.

i chose source -> Other: and used this script


I'm also interested in this method, but what do you mean by ""Automatically fill values..." Tool in the Tag editor Window"?
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2012-11-13 17:03:30
select file(s) in playlist, right click>properties>right click again and there it is.
Title: foo_skip: skip tracks that match a specified search query
Post by: Lee James on 2012-11-26 12:36:37
Hi there,

I was looking for a plugin that would make songs more likely to play based on their rating. Foo_skip seems to be exactly what I was looking for and I was all ready to write the script!

Apart from one thing… how do you generate random numbers?

Without random numbers, it’s impossible to control the probability of songs playing. You can only either make them always play or never play, which is not very helpful for a 0–5 rating system like mine.
Title: foo_skip: skip tracks that match a specified search query
Post by: Lee James on 2012-12-09 23:51:01
To be specific. Here’s what I want:

Songs rated 0 = 2% probability of playing
Songs rated 1 = 25% probability of playing
Songs rated 2 = 50% probability of playing
Songs rated 3 = 75% probability of playing
Songs rated 4 = 100% probability of playing

Is this so unusual, wanting songs to play more based on how much I like them?

All I need is random number generation! Please, can anyone help?
Title: foo_skip: skip tracks that match a specified search query
Post by: Sandrine on 2013-01-27 16:19:38
May I request something that let's me skip certain tracks when foobar is in random mode, but listen to them when in album mode? There are tracks like prologues/epilogues/reprises which mess up the playlist in random but which still blend in nicely when listening to the complete album.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-01-28 16:22:51
It seems you already can. Someone had requested support for querying playback mode earlier in the thread and it seems to be implemented. You can use something like (%playback_order% IS random OR %playback_order% IS "Shuffle (tracks)") AND %skip% IS 1.
Title: foo_skip: skip tracks that match a specified search query
Post by: Sandrine on 2013-01-28 18:11:40
Splendid, thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: Hancoque on 2013-02-05 10:05:23
Skipping tracks doesn't work for me (version 1.7.5). The tracks just play normally when their position is reached in the playlist. Here is a screenshot with my settings: http://bayimg.com/lAjaMAaEf (http://bayimg.com/lAjaMAaEf)
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2013-02-05 10:49:55
if you have foo_playcount installed, the rating from that over-rides the tags in your files.

to get around that, you can change the query to....

Code: [Select]
"$meta(rating)" IS 1
Title: foo_skip: skip tracks that match a specified search query
Post by: Hancoque on 2013-02-05 11:20:59
Thanks, that solved the problem.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2013-02-21 22:28:44
Following your example, I adapted it to skip an arbitrary number of seconds at the beginning and at the end of the audio file.

Code: [Select]
-A;$div($add($mul($cut(%length%,$sub($strchr(%length%,:),1)),60),$right(%length%,$strchr(%length%,:)),-B),60):$mod($add($mul($cut(%length%,$sub($strchr(%length%,:),1)),60),$right(%length%,$strchr(%length%,:)),-B),60)-
Now it becomes difficult to follow this code, but, for your understanding, the formula is (min*60+sec-x)/60 : (min*60+sec-x) mod 60
It works for durations shorter than 1 hour, otherwise you have to include the hours in the calculation.

Adapt it to your needs as follows:
A is the duration you want to skip at the beginning. Format in minutes (ex. "0:25" without the quotes).
B is the duration you want to skip at the end. Format in seconds (ex. "29" without the quotes)

A useful Tip for users of this component: I often listen to full length DJ Tracks which usually have a long intros and outros for syncing mixing and transitions. When i listen to such tracks i normally want to skip the first and the last Minute of the track.

Setting the Skip Tag for the first Minute is no problem with this component. Setting the last Minute is the trickier Part because you have to calculate the Time one Minute (or whatever you want to skip)

i solved this with the "Automatically fill values..." Tool in the Tag editor Window.

i chose source -> Other: and used this script

Code: [Select]
-1:00;$sub($cut(%length%,$sub($strchr(%length%,:),1)),1):$right(%length%,$strchr(%length%,:))-

Pattern is then the Tag Name

Code: [Select]
%skip%


With this examples foo_skip skips the first and last minute of each chosen (tagged) track
Title: foo_skip: skip tracks that match a specified search query
Post by: hgodzillay on 2013-02-24 15:08:30
Hi,

i installed skiptracks component and so far my query is only:
Code: [Select]
%rating% IS 3 OR %rating% IS 2


i would like to add :
Code: [Select]
OR %tempo% < 110

but i don't know if that's the right way to write it because it doesn't work .. any help please ? (i have BPM analysis and tempo values on all my tracks)

i have 2 another questions maybe you have an idea.

1 - i would like to be able to change the comments of a track simply on clicking on the comment's column and entering text. for the moment i have to rightclic / propreties / enter infos ..

2 - when my foobar is playing a random track from a selection of let say 200 i would like the window to actually scroll to that track so i can see all the datas and edit them. for the moment i have to manually scroll to search for it.
Title: foo_skip: skip tracks that match a specified search query
Post by: Chibicon on 2013-02-25 06:34:02
To be specific. Here’s what I want:

Songs rated 0 = 2% probability of playing
Songs rated 1 = 25% probability of playing
Songs rated 2 = 50% probability of playing
Songs rated 3 = 75% probability of playing
Songs rated 4 = 100% probability of playing

Is this so unusual, wanting songs to play more based on how much I like them?

All I need is random number generation! Please, can anyone help?


Is this possible? Because it would be just what I need.
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2013-02-25 09:18:30
@hgodzillay. use LESS. full documentation here: http://wiki.hydrogenaudio.org/index.php?ti...00:Query_syntax (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax)

and you should start a new thread for your other questions.

@Chibicon, i don't think so. what you're asking is beyond the scope of this plugin.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-02-25 12:25:28
Actually the probability skipping is possible since January (http://www.hydrogenaudio.org/forums/index.php?showtopic=99068).
Note that with foo_playcount component you can't have rating 0 so this example skip query uses $meta check with it:
("$meta(rating)" IS 0 AND "$mod($rand(),100)" GREATER 1) OR (%rating% IS 1 AND "$mod($rand(),100)" GREATER 24) OR (%rating% IS 2 AND "$mod($rand(),100)" GREATER 49) OR (%rating% IS 3 AND "$mod($rand(),100)" GREATER 74)
Title: foo_skip: skip tracks that match a specified search query
Post by: hgodzillay on 2013-02-25 15:16:41
marc2003 thx
Title: foo_skip: skip tracks that match a specified search query
Post by: Chibicon on 2013-02-27 04:36:33
Actually the probability skipping is possible since January (http://www.hydrogenaudio.org/forums/index.php?showtopic=99068).
Note that with foo_playcount component you can't have rating 0 so this example skip query uses $meta check with it:
("$meta(rating)" IS 0 AND "$mod($rand(),100)" GREATER 1) OR (%rating% IS 1 AND "$mod($rand(),100)" GREATER 24) OR (%rating% IS 2 AND "$mod($rand(),100)" GREATER 49) OR (%rating% IS 3 AND "$mod($rand(),100)" GREATER 74)


Just place this in the skip track query?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-02-27 15:36:17
Yes. Though if you use Playback Statistics (http://www.foobar2000.org/components/view/foo_playcount) component I suggest removing the "("$meta(rating)" IS 0 AND "$mod($rand(),100)" GREATER 1) OR " part.
Title: foo_skip: skip tracks that match a specified search query
Post by: hgodzillay on 2013-03-01 21:03:27
i can get the playback to skip 0 and 2 rating by using

Code: [Select]
%rating% IS 2 OR %rating% IS 0


but when i try to add something to skip tracks below 112 BPM it doesn't work with

Code: [Select]
%rating% IS 2 OR %rating% IS 0 OR %tempo% LESS 112

it skips every thing.

i have a tempo column in foobar that is felt by BPM Analysis is that the right way to do ?

ok my last question that is way beyond my abilities :
i want to play tracks in this order matching these ratings :
ONE 5 rating track then TWO 4 rating track then ONE 3 rating track then back to ONE 5 rating track and so one .. could you give me the code for that  ?

Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2013-03-01 21:15:14
is %tempo% present in every single file? if not, you might want to do something like this.

Code: [Select]
%rating% IS 2 OR %rating% IS 0 OR (%tempo% PRESENT AND %tempo% LESS 112)


i'm not even going to attempt to say anything about your 2nd point. 
Title: foo_skip: skip tracks that match a specified search query
Post by: hgodzillay on 2013-03-01 23:02:38
is %tempo% present in every single file? if not, you might want to do something like this.

Code: [Select]
%rating% IS 2 OR %rating% IS 0 OR (%tempo% PRESENT AND %tempo% LESS 112)


i'm not even going to attempt to say anything about your 2nd point. 



haha #1 works fine thx for help ! but caman at least tell me why #2 is not possible ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2013-03-23 14:30:33
A useful Tip for users of this component: I often listen to full length DJ Tracks which usually have a long intros and outros for syncing mixing and transitions. When i listen to such tracks i normally want to skip the first and the last Minute of the track.

Setting the Skip Tag for the first Minute is no problem with this component. Setting the last Minute is the trickier Part because you have to calculate the Time one Minute (or whatever you want to skip)

i solved this with the "Automatically fill values..." Tool in the Tag editor Window.

i chose source -> Other: and used this script

Code: [Select]
-1:00;$sub($cut(%length%,$sub($strchr(%length%,:),1)),1):$right(%length%,$strchr(%length%,:))-

Pattern is then the Tag Name

Code: [Select]
%skip%


With this examples foo_skip skips the first and last minute of each chosen (tagged) track

*Bug correction for tracks longer than 10:00 and simplification of my above post*

Following your example, I adapted your code to skip an arbitrary number of seconds at the beginning and at the end of the audio file.

A is the duration you want to skip at the beginning. Format in minutes (example: 2:30)
B is the duration you want to skip at the end. Format in seconds (example: 151)
Code: [Select]
-A;$div($add($mul($cut(%length%,$sub($strchr(%length%,:),1)),60),$right(%length%,2),-B),60):$mod($add($mul($cut(%length%,$sub($strchr(%length%,:),1)),60),$right(%length%,2),-B),60)-
Now it becomes difficult to follow this code, but, for your understanding, the formula is (min*60+sec-B)/60 : (min*60+sec-B) mod 60
It works for durations shorter than 1 hour, otherwise you have to include the hours in the calculation.
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2013-03-23 14:38:16
%length_seconds% might make your life easier.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-03-23 18:23:59
I noticed that this component works bit slowly in some scenarios. When foobar is in Shuffle mode and tries to open track referenced by .cue file from mp3, then I can hear less than half of second of sound before it is skipped. This doesn't occur for normal mp3 files (not .cue referenced).

My skip query is simple I think: "%keywords% HAS transcode" . It is used to omit playing of MP3 files when FLAC version of such file exists. Such tracks are manually tagged by me in custom, multipurpose tag field named KEYWORDS. It can contain several words, separated with simple comma.

I recalled other problematic thing - it skips even files from playback queue... Just lets them play for less than half of second and them skips them... I don't like it. Couldn't it be configured?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-03-23 20:13:52
The component works as fast as it can. Playback notifications don't come from the core in real time, but there is the DSP part that should deal with that. Do you have it enabled?
Title: foo_skip: skip tracks that match a specified search query
Post by: sollniss on 2013-03-24 02:36:33
To be specific. Here’s what I want:

Songs rated 0 = 2% probability of playing
Songs rated 1 = 25% probability of playing
Songs rated 2 = 50% probability of playing
Songs rated 3 = 75% probability of playing
Songs rated 4 = 100% probability of playing

Is this so unusual, wanting songs to play more based on how much I like them?

All I need is random number generation! Please, can anyone help?


Using the Dynamic fields component you can generate a random number from 0 to 100 that changes on a daily basis like this:
Code: [Select]
$mod($mod(%length_samples%,$date_diff(2010-11-12)),100)


I'm not aware of a tag that changes constantly that doesn't depend on the song. You could take the milisecond part of %current date% if there was such a tag, or the crc32 of %next song in playlist%.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-03-24 07:45:05
The component works as fast as it can. Playback notifications don't come from the core in real time, but there is the DSP part that should deal with that. Do you have it enabled?


Yes. I use "Dynamic DSP", "Skip Silence", often "Convert 5.1 to stereo", "Convert mono to stereo", and rarely, but it's present in DSP chain nearly all the time, "Playback Rate Shift" from mudlord's "foo_dsp_effect".
If the speed of skipping can not be "corrected", then it is OK, I can accept it. But it will be nice if skipping tracks from playback queue could be resolved... I mean it could be done like it was with "manually selected tracks" - just one checkbox.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-03-24 08:42:59
I'm not aware of a tag that changes constantly that doesn't depend on the song.

For skipping purposes this component has field $rand() that changes every time track is played. I made it get only one value within the query so you can use it with multiple evaluations without requiring $puts and $get.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-03-24 08:46:34
Yes. I use "Dynamic DSP", "Skip Silence", often "Convert 5.1 to stereo", "Convert mono to stereo", and rarely, but it's present in DSP chain nearly all the time, "Playback Rate Shift" from mudlord's "foo_dsp_effect".


I think you misunderstood. There is a DSP called "Skip Track" that prevents you from hearing parts of tracks that are about to be skipped. It should be the last DSP in the DSP chain.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-03-24 09:10:01
Yeah... I thought you are talking about DSPs that are slowing down foo_skip work... So, "Skip Track DSP" is configured by the same settings in Advanced Preferences as "Playback \ Skip tracks" option?

EDIT:
Yeah, now it works great

EDIT2:
After some longer time I must say not exactly... When I change tracks manually, then yes, everything works OK. Even 6 skips are perfectly quiet. But when tracks are changing automatically I can hear for example 3 "pops" lasting long enough to hear the melody before track is skipped. I am still talking about opening .cue referenced tracks from long MP3 and M4A files.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-03-24 09:37:07
I recalled other problematic thing - it skips even files from playback queue...

Fixed. Now it respects the "Skip even manually selected tracks" setting.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2013-03-24 11:22:05
A useful Tip for users of this component: I often listen to full length DJ Tracks which usually have a long intros and outros for syncing mixing and transitions. When i listen to such tracks i normally want to skip the first and the last Minute of the track.

Setting the Skip Tag for the first Minute is no problem with this component. Setting the last Minute is the trickier Part because you have to calculate the Time one Minute (or whatever you want to skip)

i solved this with the "Automatically fill values..." Tool in the Tag editor Window.

i chose source -> Other: and used this script

Code: [Select]
-1:00;$sub($cut(%length%,$sub($strchr(%length%,:),1)),1):$right(%length%,$strchr(%length%,:))-

Pattern is then the Tag Name

Code: [Select]
%skip%

With this examples foo_skip skips the first and last minute of each chosen (tagged) track

%length_seconds% might make your life easier.

Thank you for your suggestion!
I also noticed that this component accepts positions such as 61:1 or 3661.
With all this new information, now the code is much simpler.

A is the duration you want to skip at the beginning. Format in minutes or in seconds
B is the duration you want to skip at the end. Format in seconds (example: 151). Make sure it's shorter than your track length.
recommended formula:
Code: [Select]
-A;$div($sub(%length_seconds%,B),60):$mod($sub(%length_seconds%,B),60)-
or even (format in seconds):
Code: [Select]
-A;$sub(%length_seconds%,B)-
or the universal formula (if you want to format hours):
Code: [Select]
-A;$ifgreater($sub(%length_seconds%,B),3599,$div($sub(%length_seconds%,B),3600):$div($sub($mod(%length_seconds%,3600),B),60):$mod($sub(%length_seconds%,B),60),$div($sub(%length_seconds%,B),60):$mod($sub(%length_seconds%,B),60))-
Now it becomes a bit more difficult to follow this last code, but, for your understanding, the formula is
if(final position greater than 1 hour)
then (length-B)/3600 : ((length-B) mod 3600)/60 : (length-B) mod 60
else (length-B)/60 : (length-B) mod 60
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-03-24 11:41:50
I recalled other problematic thing - it skips even files from playback queue...

Fixed. Now it respects the "Skip even manually selected tracks" setting.


Thanks for fixing it Case.

Just to summarize my experience with cue sheets and Skip Tracks DSP:
I've created playlist where there was only one playable track, and 12 which all were matching skip pattern and all were entries of one cue sheet. Playback mode was set to "Shuffle". When playable track finished playing (automatically, because it has ended) there were multiple skips, one-by-one before playable track was played again. Results are:
1. when file referenced in .cue is .m4a (iTunes AAC/LC) there could be up to 3 glitches, mostly 2, when tracks are skipped multiple times. Next skips are all OK.
2. when refeneced file is .mp3, then only one glitch occurs, at first skip. Rest of skips is perfectly quiet.
3. when referenced file is .flac then everything is perfect, nevermind whether I use DSP in chain or just item from Playback menu (without DSP in chain).

Looks like it is very specific to the encoding of files, and thus maybe this can never be fixed. And this only applies to .cue file referenced tracks, where stream is accessed not from the begining, but somewhere in the middle, and additionally it applies only to first skips in such scenario. Just for the information
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-03-24 12:42:07
I seem to have trouble triggering such behavior. Can you try if this test version (http://www.saunalahti.fi/~cse/temp/foo_skip.fb2k-component) works any better?
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-03-24 22:05:41
Sorry for the delay. Yes it works better - when I got series of skips, there is always only one glitch (at first skip) with .m4a tracks from .cue, and it doesn't happen with every track referenced from that particular .cue. Additionally it is noticeably shorter. Currently it is hard to determine the pitch of sound and actual content of this glitch (I can't guess what track was shuffled and skipped). Glitch seems to be longer when I play manually one of the .cue referenced tracks, and then next file that is shuffled is also one of .cue tracks - but it can be only my imagination. Situation with .mp3 tracks from .cue files doesn't changed so much. Possibly glitch is shorter, (if it isn't my imagination only), but it occurs.
FLAC tracks from .cue files play as they were playing before - properly
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-04-13 11:58:46
I managed to reproduce the glitching with the help of CPU Speed Adjuster (http://adrianboeing.com/tools.html). I tweaked some safety limits in the DSP part and now even with all cores fully stressed with slow.exe I heard no more glitching with cue+m4a. Updated version can be found here (http://www.foobar2000.org/components/view/foo_skip).
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-04-13 12:36:35
Thanks, will check/test it within next week
Title: foo_skip: skip tracks that match a specified search query
Post by: Nisto on 2013-05-07 16:17:54
Paragraph edit: never mind, I missed the settings in the advanced section of fb2k, "skip even selected tracks"..

Also, am I supposed to have the DSP activated in order to utilize the SKIP tag? It doesn't seem to matter if I have it on or off; it still skips.
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2013-05-07 17:45:19
Quote
Track skipping has a few milliseconds of delay before activating which may allow beginning of gapless tracks to be heard. If you wish to have perfect glitchless skipping please add Skip Track as the last DSP in the DSP chain.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2013-06-25 14:10:32
Hello Case. I have a request.
Can you split the "skip even manually selected tracks" to 2 :

If you'll split it I will check the first box to FALSE and the second to TRUE.
TIA.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-06-25 20:47:50
If you just want to skip silence you could use the Skip Silence DSP. But I might consider adding a new field for defining tracks that are always skipped in place of the "Skip even manually selected tracks" checkbox.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2013-06-25 23:37:29
===========================================================
PART 1 (request):
Hello Case. I have a request.
Can you split the "skip even manually selected tracks" to 2 :
  • Skip by Query - even manually selected tracks (T/F)
  • Skip Silence - even manually selected tracks (T/F)

If you'll split it I will check the first box to FALSE and the second to TRUE.
TIA.

Oh No !! 
Sorry, I've mistakenly wrote "Skip Silence" instead of "Skip Parts".

So here is the correct request:

Can you split the "skip even manually selected tracks" to 2 :
  ===========================================================

Part 2 (a question):

As of the current foo_skip 1.7.8, if you check the "even manually selected tracks" box and manually click PLAY on a track that its SKIP tag has "skip-timecodes", the track is totally skipped (not just the "marked" parts) !!


Case, Is this the way you intended it to work ?


TIA

===========================================================

Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2013-06-26 00:55:56
Part 2 (a question):
As of the current foo_skip 1.7.8, if you check the "even manually selected tracks" box and manually click PLAY on a track that its SKIP tag has "skip-timecodes", the track is totally skipped (not just the "marked" parts) !!
Case, Is this the way you intended it to work ?

Oh No. Again I made a mistake and I don't know what to say. 
My part-2 question is false.(I've tested on tracks that have both skip-timecodes and are 1-starred...)
I'm deeply sorry...

Part-1 is correct.
Title: foo_skip: skip tracks that match a specified search query
Post by: the in sound from way out on 2013-08-04 15:20:05
I've just given your component a try. I must have missed something, because nothing seems to happen, both with manually selected and automatically selected tracks. The Skip track component shows up in my components list though. Additionally I've added the Skip track DSP in the Active DSPs' list. Editing the tag scheme in Advanced options didn't fix anything (I'd rather skip tracks that I rated "-1", but these tracks are still playing normally as they would without the component). Is there anything else I should do? Thx for your help. 
Title: foo_skip: skip tracks that match a specified search query
Post by: tpijag on 2013-08-04 15:34:42
Playback>skip tracks

Do you have that ticked?
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-08-29 11:38:08
I have a kind of request. Is it possible to let this component have a list of skip patterns so we can switch between them? I think about exactly the same thing as for Media Library exclusions list or files sorting patterns list or excluded file types list. At least 5 entries would be nice. I think it would require moving its config from Advanced Preferences to Tools section - this would be also more convenient for user.

In addition: I have performed many tests against problem that I reported last time (silent played first 16 seconds in manually selected files that are matching skipping pattern) and I can confirm that with v 1.7.8b problem was permanently eliminated.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-08-31 22:13:42
Well, in addition to my request I got a bug report. I wanted to try the difference between both ReplayGain modes (track and album). I opened Properties dialog and went to ReplayGain. After changing it the sound just disappeared. I tried it several times and I found the reason. It was tested on track that was tagged to be normally skipped when I listen to my music randomly (custom tag "KEYWORDS" filled with value "skip". After tag value was removed there was no problem... When tag was filled again with value "skip" then problem came back. The funny thing - after 16 seconds (same as previously) the sound just comes back. The question is - is it just side effect of using such option and we should just bear with it or is this a real bug and this should be fixed? In general it isn't frequent situation that someone plays manually tracks that should be skipped and switches RG modes while track is played.

My config:
foobar 1.2.9, my plugins:
Code: [Select]
Core (2013-07-10 12:45:36 UTC)
    foobar2000 core 1.2.9
foo_ac3.dll (2012-08-29 15:57:04 UTC)
    AC3 decoder 0.9.7
foo_adpcm.dll (2013-08-13 03:01:25 UTC)
    kode's ADPCM decoders 1.11
foo_albumlist.dll (2013-02-11 11:28:58 UTC)
    Album List 4.5
foo_amipwrapper.dll (2010-01-29 20:32:26 UTC)
    AMIP Wrapper 1.01
foo_asap.dll (2013-08-16 14:05:50 UTC)
    ASAP 3.1.5
foo_audioscrobbler.dll (2012-11-22 15:41:48 UTC)
    Audioscrobbler 1.4.7
foo_bestversion.dll (2013-03-20 15:00:29 UTC)
    Best Version Picker 0.1
foo_bitcompare.dll (2008-12-05 13:08:02 UTC)
    Binary Comparator 1.2
foo_bpm.dll (2010-04-20 11:35:08 UTC)
    BPM Analyser 0.2.4.1
foo_cdda.dll (2013-03-07 09:48:32 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2013-07-10 12:25:32 UTC)
    Converter 1.5
foo_convolve.dll (2013-03-27 20:18:27 UTC)
    Convolver 0.3
foo_deemph.dll (2013-02-08 17:43:34 UTC)
    De-emphasis postprocessor 0.0.3
foo_disccache.dll (2013-04-13 19:52:52 UTC)
    Disc cache warmer 0.0
foo_dsp_effect.dll (2013-02-19 18:43:44 UTC)
    Effect DSP 0.11
foo_dsp_eq.dll (2013-02-11 11:28:58 UTC)
    Equalizer 1.0
foo_dsp_eqsplit.dll (2008-07-13 00:49:10 UTC)
    Split equalizer v0.0.1
foo_dsp_fsurround.dll (2012-07-06 21:29:44 UTC)
    FreeSurround 0.9.0
foo_dsp_mm.dll (2008-06-06 04:29:12 UTC)
    Matrix Mixer 0.3
foo_dsp_resampler.dll (2013-03-27 19:01:33 UTC)
    SoX Resampler 0.8.3
foo_dsp_silence.dll (2009-08-09 23:32:54 UTC)
    Post-track silence 0.0.3
foo_dsp_std.dll (2013-07-10 12:25:50 UTC)
    Standard DSP Array 1.3
foo_dsp_vlevel20080302.0.dll (2008-03-02 22:42:06 UTC)
    VLevel 20080302.0
foo_dsp_xfeed.dll (2011-09-19 18:44:30 UTC)
    Crossfeed 0.1.3
foo_dsp_xgeq.dll (2012-02-05 11:11:22 UTC)
    Graphic Equalizer 0.3.7
foo_dsp_yac.dll (2013-03-27 20:02:35 UTC)
    Yet Another Convolver 1.1.0
foo_dumb.dll (2013-08-28 04:15:17 UTC)
    DUMB module decoder 1.0.50
foo_dynamicdsp.dll (2012-07-18 05:56:46 UTC)
    Dynamic DSP 1.0
foo_fileops.dll (2013-02-11 11:28:10 UTC)
    File Operations 2.2
foo_flv.dll (2012-12-29 06:00:00 UTC)
    Flash Video Decoder 0.9.6
foo_freedb2.dll (2013-02-11 11:27:56 UTC)
    Online Tagger 0.7
foo_gep.dll (2013-07-27 23:28:05 UTC)
    Game Emu Player 1.164
foo_hdcd.dll (2012-07-17 18:40:12 UTC)
    HDCD decoder 1.15
foo_input_adplug.dll (2013-05-05 17:57:08 UTC)
    AdPlug 1.44
foo_input_amr.dll (2009-03-05 19:20:06 UTC)
    AMR input 1.1.1
foo_input_celt.dll (2011-05-16 11:21:00 UTC)
    CELT Decoder 0.1.2
foo_input_ds.dll (2013-01-20 18:54:37 UTC)
    DirectShow input 0.1
foo_input_dsdiff.dll (2011-05-18 18:01:22 UTC)
    DSDIFF Decoder 1.4
foo_input_dts.dll (2013-01-30 14:21:04 UTC)
    DTS decoder 0.3.1
foo_input_dtshd.dll (2011-03-19 21:41:12 UTC)
    DTS-HD Decoder 0.1.3
foo_input_dvda.dll (2012-03-16 15:30:28 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.11
foo_input_exe.dll (2012-10-11 20:56:52 UTC)
    Command-Line Decoder Wrapper 0.4
foo_input_gsf.dll (2013-03-27 17:09:40 UTC)
    Highly Advanced 2.0.2
foo_input_ht.dll (2013-01-19 14:58:54 UTC)
    Highly Theoretical 2.0.37
foo_input_hvl.dll (2013-07-03 12:10:40 UTC)
    Hively Tracker decoder 1.13
foo_input_kdm.dll (2012-02-19 09:52:40 UTC)
    KDM Decoder 1.1
foo_input_monkey.dll (2013-04-13 10:40:08 UTC)
    Monkey's Audio Decoder 2.1.7
foo_input_ncsf.dll (2013-04-26 08:48:42 UTC)
    NCSF Decoder 1.7
foo_input_ofr.dll (2011-03-15 21:43:46 UTC)
    OptimFROG Lossless/DualStream Decoder 1.31
foo_input_org.dll (2012-02-19 09:53:10 UTC)
    Organya decoder 1.9
foo_input_qsf.dll (2012-12-31 16:30:44 UTC)
    Highly Quixotic 2.0.25
foo_input_reverse.dll (2009-01-05 18:47:00 UTC)
    Reverse Playback 0.1.4 (SSE)
foo_input_sacd.dll (2012-08-25 18:03:10 UTC)
    Super Audio CD Decoder 0.5.11
foo_input_shorten.dll (2009-11-15 19:46:36 UTC)
    Shorten decoder 0.4.2.2
foo_input_std.dll (2013-07-10 12:45:38 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2013-06-21 10:29:42 UTC)
    TAK Decoder 0.4.7
foo_input_tfmx.dll (2012-12-13 14:24:38 UTC)
    TFMX decoder 0.10
foo_input_tta.dll (2010-10-27 10:50:20 UTC)
    TTA Audio Decoder 3.2
foo_input_upse.dll (2012-12-22 09:42:24 UTC)
    UPSE PSF Decoder 1.8
foo_input_usf.dll (2011-06-26 17:16:54 UTC)
    LazyUSF 2.1 (Build Jun 26 2011)
foo_input_vgmstream.dll (2013-07-05 18:49:54 UTC)
    vgmstream plugin r1004-19-g8ebecb4
foo_input_zxtune.dll (2013-02-19 20:20:22 UTC)
    ZX Tune Player 0.0.1
foo_keep_queue.dll (2010-11-12 02:28:46 UTC)
    Keep Queue 0.3.5
foo_lnk.dll (2010-01-07 17:57:56 UTC)
    Shell Link Resolver 1.3.1
foo_lock.dll (2010-01-11 10:18:36 UTC)
    Pause on Lock 0.5
foo_masstag.dll (2013-03-27 20:20:17 UTC)
    Masstagger 1.8.4
foo_midi.dll (2013-08-23 01:15:35 UTC)
    MIDI synthesizer host 1.212
foo_musical_spectrum.dll (2012-11-21 06:00:00 UTC)
    Musical Spectrum 0.9.1
foo_nds.dll (2013-03-22 11:59:18 UTC)
    No Display Standby 1.1
foo_osd.dll (2012-12-17 18:28:20 UTC)
    On-Screen Display 1.73
foo_out_asio.dll (2012-06-06 13:19:14 UTC)
    ASIO support 2.1.2
foo_playcount.dll (2011-07-13 09:47:18 UTC)
    Playback Statistics 3.0.2
foo_psf.dll (2013-01-02 10:22:16 UTC)
    Highly Experimental 2.0.34
foo_queuecontents.dll (2011-12-31 12:30:56 UTC)
    Queue Contents Editor 0.5
foo_rg_trn.dll (2010-01-13 23:01:00 UTC)
    ReplayGain override 0.1.3
foo_rgscan.dll (2013-07-10 12:25:36 UTC)
    ReplayGain Scanner 2.2
foo_run.dll (2009-06-07 13:15:18 UTC)
    Run services 0.3.7
foo_seek.dll (2011-12-20 11:03:06 UTC)
    Seek 1.1
foo_seek_box.dll (2010-04-21 13:03:30 UTC)
    Seek box 0.0.3
foo_sendtodevice.dll (2013-03-11 16:20:22 UTC)
    Send to Device 1.1.2 [Nov 28 2007 - 10:13:31]
foo_sid.dll (2013-04-17 03:49:02 UTC)
    sidplay2 1.31
foo_skip.dll (2013-07-25 08:36:36 UTC)
    Skip Track 1.7.8b
foo_softplaylists.dll (2013-01-25 19:31:19 UTC)
    Soft Playlists 2012-10-10
foo_stop_on_current.dll (2009-06-18 03:54:52 UTC)
    Stop on Current 0.4
foo_timebomb.dll (2009-12-20 20:40:00 UTC)
    Timebomb 0.0.2
foo_ui_std.dll (2013-07-10 12:45:36 UTC)
    Default User Interface 0.9.5
foo_verifier.dll (2013-03-14 10:38:18 UTC)
    File Integrity Verifier 1.1.1
foo_vst.dll (2011-03-05 06:19:04 UTC)
    VST 2.4 adapter 0.9.0.3
foo_wave_seekbar.dll (2013-07-04 06:42:31 UTC)
    Waveform seekbar 0.2.40

My DSP Chain:
Dynamic DSP,
Skip Silence
Downmix multichannel to stereo
Convert mono to stereo
Playback Rate Shift
Skip Track

Dynamic DSP isn't used with 3 tracks that was additionally tested against this bug so shouldn't be blamed. currently I don't use any VST effects (despite I still haven't removed plugin for this)
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2013-09-01 10:06:00
That's definitely a bug. I'll see if I can simplify the logic to eliminate such issues. I wanted to comment so you know I have acknowledged the problem as it will take some time before I'll start working on it.
Title: foo_skip: skip tracks that match a specified search query
Post by: budeny on 2013-10-02 02:39:02
I believe I have similar bug with SkipTrack:

When I click on playlist item to play then it often starts to play after 6-30 seconds delay. But if I select same file again, then it plays immediately. It worth to note that all my tracks are separate .flac files.
Looks like some caching issue to me..
Is there any way to get 1.7.4 version? I don't recall such behavior happening last year.

SkipTrack query:
Code: [Select]
(%rating% IS 1 OR %last_played% DURING LAST 240 HOURS) AND (NOT %rating% IS 5)


Thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: Nisto on 2013-10-30 19:20:55
Any chance you can implement skipping parts of tracks by samples (e.g. -44100 instead of -00:00:01)?
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-10-30 19:31:21
Nisto - maybe foo_seek is able to fulfill your needs?
Title: foo_skip: skip tracks that match a specified search query
Post by: Nisto on 2013-10-30 20:00:02
Not really. But thanks anyway.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2013-11-30 08:38:55
I have to report another unwanted behavior of latest foo_skip version (1.7.8).
My skip pattern is: %keywords% HAS flac OR %keywords% HAS skip OR %rating10% LESS 3 AND NOT %rating10% MISSING
What I did:
I disabled "Skip tracks and use bookmarks" option which is normally turned on. While I listened to the music I enabled it again. Track still played but there was no sound. I am not sure how long it was - I just tried to seek in this track and the sound turned back. I checked tags of this track and it turned out that it has "skip" keyword - which matches my skipping pattern.
So - sound was muted right after I enabled  "Skip tracks and use bookmarks" option while playing track that was matching skipping pattern. This is some glitch similar to the one with muted first 16 seconds of manually selected track, that matches skipping pattern.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-02-01 12:30:31
Any news ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-02-02 12:45:19
Sorry for the delay. The hacky nature of the component has forced some changes to the logic. The component now requires the DSP part and will automatically add it when required. I tried my best to fix the reported bugs for this beta version: removed

Edit: Removed the beta version as stable version (http://www.foobar2000.org/components/view/foo_skip) is released.
Title: foo_skip: skip tracks that match a specified search query
Post by: Jono on 2014-02-27 00:12:59
For what it is worth, updating from the immediately previous version of this component to the newest has rendered fb2k (v1.3 and 1.3.1) unable to load it...on Windows XP (yeah, yeah, it's my old computer). The code I get is "Unknown Error Code 3221225501". It appears to be working just fine on my W7 machine, though, latest versions and all. Any idea why this might be?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-02-27 06:59:51
Sorry about that. It was compiled with MSVC 2013, which by default uses SSE2 optimizations unless they are explicitly disabled in the settings. New version uploaded with SSE2 requirements turned off.
Title: foo_skip: skip tracks that match a specified search query
Post by: amiti on 2014-02-27 15:34:17
I don't like that this plugin now adds itself to the dsp chain on its own. I liked the plugin but now , if this behavior keeps on I have to stay with the old version.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-02-27 17:16:24
Using the DSP was always requested as the component's response was otherwise delayed. Unless skipped tracks started with digital silence you could hear them start to play before anything could be done. This won't change back.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-03 16:50:17
Seems that something is seriously messed up... I checked my config and I am sure I have DESELECTED checkbox "skip even manually selected tracks" and I have Skip DSP as last (at bottom of list) in my DSP chain. What is happening? 
Lets say I got playlist: 20 tracks, first 10 tracks match current skip query (they contain specific KEYWORD tag value).
What I do: I play track 12 and I manually queue track 7. Track 12 ends. Track 7 is skipped (?!) and track 8 plays (??!!!!!). WTF?
Funny thing: if I queue track 7 and 8 one by one, then 7 is skipped and 8 plays fine...
Other messed behaviours:
If I manually start playing from first track then it plays normally till the end - as expected. Then 2nd track is skipped and 3rd played. Sometimes both 2nd and 3rd track are skipped, and 4th is played. When 4th track ends, then 5th or both 5th and 6th track are skipped and next track (6th or 7th - depending on how many tracks were properly skipped) plays normally. I want to remind: first 10 tracks match current skip query...
If I manually start playing from let's say - 3rd track - and while it is played I press "Next" button (from toolbar of from keyboard shortcut) then next track plays fine (????!!!!).

But silent stream bug seems to be eliminated[/u] in every scenario - manually queued track (but this time first queued track is always just skipped), tagging file while it is played (adding keyword that matches skip query while playing), enabling skipping functionality while playing track that matches skip query - none of them causes silent playing until you seek or wait 16-18 seconds.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2014-03-03 23:32:08
Hello Case. I'm posting again a suggsstion/request , I've already suggested some months ago (Maybe you forgot about it).
Can you split the "skip even manually selected tracks" to 2 :
If you'll split it I will set the first box to FALSE and the second to TRUE.
  TIA.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-03-04 14:51:54
Seems that something is seriously messed up...

Version 1.8.2 uploaded that should fix the queue behavior. It now treats all queued tracks as manually selected. But I couldn't see any random behavior like you described, it always just skipped such tracks incorrectly.

Hello Case. I'm posting again a suggsstion/request , I've already suggested some months ago (Maybe you forgot about it).
Can you split the "skip even manually selected tracks" to 2 :
  • Skip by Query - even manually selected tracks (T/F) - behaves like the current "skip even manually selected tracks"
  • Skip Parts - even manually selected tracks (T/F) - skips timecodes even on manually selectted tracks.
If you'll split it I will set the first box to FALSE and the second to TRUE.
  TIA.

The logic simplifications I did for v1.8 actually already changed the time code skipping behavior. It's now always in effect unless the component is turned off. The old behavior was broken in my opinion.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-04 15:57:15
Hello,
It seems that it is bit more complicated as we both may think. Below there is detailed description what I did and what happened.
I closed foobar, updated component. I opened it. I used autoplaylist with my own ripped CDs to test. I selected one album and tagged it so now files have met skip query. I doubleclicked on 8th track from album and seek to about 10 sec before end. I queued tracks 3,4,5. Everything was fine - track 3 started after track 8. I seeked to nearly the end again, and again. After 5th track finished, 6 track was skipped and then 7th track started playing. So I noted that reported broken behavior persists. I performed few more tests, including playing "normal", untagged files and then queue those tagged to be skipped, to check if queue works fine (if first queued track is not skipped anymore). After some tests I noticed that program stopped skipping only first file after queue finishes and skips all consecutive files that meet skip query. I tried to check it few more times and everything was OK, so I restarted program. Unfortunately after restart everything is broken again and I can do nothing to make it work again.
I only noticed that now ALWAYS only one track is skipped from a row of tracks that meet skip query. So we got a comb: if I play last track before a list of files to be skipped, then foobar plays every even track that meets skip query. If I manually queue or diublecklick first file from such list, then foobar plays every odd track that meets skip query.

My current plugins:

Code: [Select]
Core (2013-07-10 12:45:36 UTC)
    foobar2000 core 1.2.9
foo_ac3.dll (2012-08-29 16:57:04 UTC)
    AC3 decoder 0.9.7
foo_adpcm.dll (2013-08-13 03:01:25 UTC)
    kode's ADPCM decoders 1.11
foo_albumlist.dll (2013-02-11 11:28:58 UTC)
    Album List 4.5
foo_amipwrapper.dll (2010-01-29 21:32:26 UTC)
    AMIP Wrapper 1.01
foo_asap.dll (2014-01-15 21:50:03 UTC)
    ASAP 3.1.6
foo_audioscrobbler.dll (2012-11-22 15:41:48 UTC)
    Audioscrobbler 1.4.7
foo_beatit.dll (2014-02-19 16:43:02 UTC)
    Beat It 0.2
foo_bestversion.dll (2013-03-20 16:00:29 UTC)
    Best Version Picker 0.1
foo_bitcompare.dll (2008-12-05 14:08:02 UTC)
    Binary Comparator 1.2
foo_cdda.dll (2013-03-07 09:48:32 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2013-07-10 12:25:32 UTC)
    Converter 1.5
foo_convolve.dll (2013-03-27 21:18:27 UTC)
    Convolver 0.3
foo_deemph.dll (2013-02-08 18:43:34 UTC)
    De-emphasis postprocessor 0.0.3
foo_devconsole.dll (2014-02-09 23:19:27 UTC)
    DevConsole 1.0.4async
foo_dsp_effect.dll (2013-02-19 19:43:44 UTC)
    Effect DSP 0.11
foo_dsp_eq.dll (2013-02-11 11:28:58 UTC)
    Equalizer 1.0
foo_dsp_eqsplit.dll (2008-07-13 01:49:10 UTC)
    Split equalizer v0.0.1
foo_dsp_fsurround.dll (2012-07-06 22:29:44 UTC)
    FreeSurround 0.9.0
foo_dsp_mm.dll (2008-06-06 05:29:12 UTC)
    Matrix Mixer 0.3
foo_dsp_resampler.dll (2013-03-27 20:01:33 UTC)
    SoX Resampler 0.8.3
foo_dsp_silence.dll (2014-01-27 20:34:20 UTC)
    Post-track silence 0.0.4
foo_dsp_std.dll (2013-07-10 12:25:50 UTC)
    Standard DSP Array 1.3
foo_dsp_vlevel20080302.0.dll (2008-03-02 22:42:06 UTC)
    VLevel 20080302.0
foo_dsp_xfeed.dll (2011-09-19 19:44:30 UTC)
    Crossfeed 0.1.3
foo_dsp_xgeq.dll (2012-02-05 12:11:22 UTC)
    Graphic Equalizer 0.3.7
foo_dsp_yac.dll (2013-03-27 21:02:35 UTC)
    Yet Another Convolver 1.1.0
foo_dumb.dll (2014-02-12 12:00:27 UTC)
    DUMB module decoder 1.0.72
foo_dynamicdsp.dll (2012-07-18 06:56:46 UTC)
    Dynamic DSP 1.0
foo_fileops.dll (2013-02-11 11:28:10 UTC)
    File Operations 2.2
foo_flv.dll (2012-12-29 07:00:00 UTC)
    Flash Video Decoder 0.9.6
foo_freedb2.dll (2013-02-11 11:27:56 UTC)
    Online Tagger 0.7
foo_gep.dll (2014-02-25 00:51:14 UTC)
    Game Emu Player 1.179
foo_hdcd.dll (2012-07-17 19:40:12 UTC)
    HDCD decoder 1.15
foo_input_adplug.dll (2013-05-05 17:57:08 UTC)
    AdPlug 1.44
foo_input_amr.dll (2009-03-05 20:20:06 UTC)
    AMR input 1.1.1
foo_input_celt.dll (2011-05-16 12:21:00 UTC)
    CELT Decoder 0.1.2
foo_input_ds.dll (2013-01-20 19:54:37 UTC)
    DirectShow input 0.1
foo_input_dsdiff.dll (2011-05-18 19:01:22 UTC)
    DSDIFF Decoder 1.4
foo_input_dts.dll (2014-02-16 03:56:42 UTC)
    DTS decoder 0.3.3
foo_input_dtshd.dll (2011-03-19 22:41:12 UTC)
    DTS-HD Decoder 0.1.3
foo_input_dvda.dll (2012-03-16 16:30:28 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.11
foo_input_exe.dll (2012-10-11 21:56:52 UTC)
    Command-Line Decoder Wrapper 0.4
foo_input_gsf.dll (2013-10-21 22:38:43 UTC)
    Highly Advanced 2.0.4
foo_input_ht.dll (2013-01-19 15:58:54 UTC)
    Highly Theoretical 2.0.37
foo_input_hvl.dll (2013-10-29 18:32:02 UTC)
    Hively Tracker decoder 1.14
foo_input_kdm.dll (2012-02-19 10:52:40 UTC)
    KDM Decoder 1.1
foo_input_monkey.dll (2013-04-13 10:40:08 UTC)
    Monkey's Audio Decoder 2.1.7
foo_input_ncsf.dll (2013-04-26 08:48:42 UTC)
    NCSF Decoder 1.7
foo_input_ofr.dll (2011-03-15 22:43:46 UTC)
    OptimFROG Lossless/DualStream Decoder 1.31
foo_input_orch.dll (2012-10-29 20:17:30 UTC)
    Orch-90 decoder 0.1.5
foo_input_org.dll (2012-02-19 10:53:10 UTC)
    Organya decoder 1.9
foo_input_qsf.dll (2012-12-31 17:30:44 UTC)
    Highly Quixotic 2.0.25
foo_input_reverse.dll (2009-01-05 19:47:00 UTC)
    Reverse Playback 0.1.4 (SSE)
foo_input_sacd.dll (2012-08-25 19:03:10 UTC)
    Super Audio CD Decoder 0.5.11
foo_input_shorten.dll (2014-01-03 19:46:18 UTC)
    Shorten decoder 0.4.2.3
foo_input_std.dll (2013-07-10 12:45:38 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2013-06-21 10:29:42 UTC)
    TAK Decoder 0.4.7
foo_input_tfmx.dll (2012-12-13 15:24:38 UTC)
    TFMX decoder 0.10
foo_input_upse.dll (2012-12-22 10:42:24 UTC)
    UPSE PSF Decoder 1.8
foo_input_usf.dll (2014-03-02 08:40:00 UTC)
    LazyUSF 2.2.8
foo_input_vgmstream.dll (2014-02-26 08:58:55 UTC)
    vgmstream plugin r1020-1-geeab20d
foo_input_vio2sf.dll (2014-02-27 00:31:27 UTC)
    2SF Decoder 0.24.5
foo_input_zxtune.dll (2013-02-19 21:20:22 UTC)
    ZX Tune Player 0.0.1
foo_jesus.dll (2010-09-23 01:34:06 UTC)
    Autosave & Autobackup 10
foo_keep_queue.dll (2010-11-12 03:28:46 UTC)
    Keep Queue 0.3.5
foo_lnk.dll (2010-01-07 18:57:56 UTC)
    Shell Link Resolver 1.3.1
foo_lock.dll (2010-01-11 11:18:36 UTC)
    Pause on Lock 0.5
foo_masstag.dll (2013-03-27 21:20:17 UTC)
    Masstagger 1.8.4
foo_midi.dll (2013-12-15 05:05:39 UTC)
    MIDI synthesizer host 1.229
foo_musical_spectrum.dll (2012-11-21 07:00:00 UTC)
    Musical Spectrum 0.9.1
foo_nds.dll (2013-03-22 12:59:18 UTC)
    No Display Standby 1.1
foo_osd.dll (2012-12-17 19:28:20 UTC)
    On-Screen Display 1.73
foo_out_asio.dll (2012-06-06 13:19:14 UTC)
    ASIO support 2.1.2
foo_playcount.dll (2011-07-13 10:47:18 UTC)
    Playback Statistics 3.0.2
foo_psf.dll (2013-09-14 20:45:52 UTC)
    Highly Experimental 2.0.36
foo_queuecontents.dll (2011-12-31 13:30:56 UTC)
    Queue Contents Editor 0.5
foo_rg_trn.dll (2010-01-14 00:01:00 UTC)
    ReplayGain override 0.1.3
foo_rgscan.dll (2013-07-10 12:25:36 UTC)
    ReplayGain Scanner 2.2
foo_run.dll (2009-06-07 14:15:18 UTC)
    Run services 0.3.7
foo_seek.dll (2011-12-20 12:03:06 UTC)
    Seek 1.1
foo_seek_box.dll (2010-04-21 14:03:30 UTC)
    Seek box 0.0.3
foo_sendtodevice.dll (2013-03-11 17:20:22 UTC)
    Send to Device 1.1.2 [Nov 28 2007 - 10:13:31]
foo_sid.dll (2013-04-17 03:49:02 UTC)
    sidplay2 1.31
foo_skip.dll (2013-04-13 11:35:16 UTC)
    Skip Track 1.7.8        <<<< It's just because I reverted plugin to previous version before I've made a report
foo_snesapu.dll (2013-10-27 07:00:41 UTC)
    SNESAPU input 0.80
foo_softplaylists.dll (2013-01-25 19:31:19 UTC)
    Soft Playlists 2012-10-10
foo_stop_on_current.dll (2009-06-18 04:54:52 UTC)
    Stop on Current 0.4
foo_timebomb.dll (2009-12-20 21:40:00 UTC)
    Timebomb 0.0.2
foo_ui_std.dll (2013-07-10 12:45:36 UTC)
    Default User Interface 0.9.5
foo_verifier.dll (2013-03-14 11:38:18 UTC)
    File Integrity Verifier 1.1.1
foo_vst.dll (2011-03-05 07:19:04 UTC)
    VST 2.4 adapter 0.9.0.3
foo_wave_seekbar.dll (2014-02-08 21:37:10 UTC)
    Waveform seekbar 0.2.45

Currently I don't use any VST plugins and I use normal DS output. My DSP chain is still the same:
Dynamic DSP
Skip Silence
Matrix Mixer
Downmix multichannel to stereo
Convert mono to stereo
Playback Rate Shift
Skip Track
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-03-04 16:34:25
Could you test without the Dynamic DSP component? It's the one mysterious element causing possible changes to the DSP chain and I'd like to know if removing it helps.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-05 12:16:39
OK, I'll try it later but honestly I don't expect change. This component is triggered only when appropiate tags are inside file. I got about 100-120 files that uses this component, and files that I used to test 1.8.1 and 1.8.2 weren't the ones that contain DSP_CHAIN tags.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-03-06 12:06:05
EpicForever, I could reproduce similar random functionality with foo_playlist_attributes installed. A fixed version is uploaded.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-06 12:43:42
Hello again,
Sorry I haven't tested v 1.8.2 without Dynamic DSP... However I already tested v 1.8.3. I noticed only one glitch. Again I have playlist where first 10 tracks matches skipping query. If you disable plugin's functionality from menu, then play track which matches skipping query (let's say 1st) and turn on skipping again, while this track is played back, then 2 situations may happen:
1. next track isn't skipped and plays normally till the end, and after that everything starts working correctly - all tracks from 3 to 10 are skipped
2. next track is skipped, but 3rd track plays normally, and after it ends everything starts working correctly - all tracks from 4 to 10 are skipped
It happens only when track plays normally till the end. If I manually change track (press "Next" button") then everything works fine.

In about 8 testes 2nd scenario happened only once. It is related only to enabling skipping function while track which matches skipping pattern is played. Anyway I think that such situation is so rare that it doesn't need quick fixing if any. Thank you so much for your effort
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-06 18:23:37
It seems that improper closing of foobar also messes... After closing foobar from taskmanager and restarting it misbehaviour of foo_skip seems to be back...
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-06 18:47:35
Well, after that forced close everything seems to be working permanently incorrectly - again tracks are not skipped, pressing "Next" button doesn't cause track to be skipped. I even tried to get back to 1.7.8, restart, close, put 1.8.3 again and everything is still broken...
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-03-07 11:06:28
I give up. I can not reproduce any problems apart from the slow reaction to being turned on while playing. I have tried adding Dynamic DSP all the other DPSs you use and tested different configurations and as long as the component is enabled skipping works 100% reliably.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-03-07 12:47:40
OK, so I will try to perform investigation on my own, but I can't declare any deadline when it will be finished.
Title: foo_skip: skip tracks that match a specified search query
Post by: -AdZero- on 2014-03-08 22:17:49
Hi !

foo_skip is not anymore in the official foobar2000 plugin repository ?
I saw an update a few days ago but now it isn't even listed.

Any idea ?

Thanks.
Title: foo_skip: skip tracks that match a specified search query
Post by: Hazey on 2014-04-09 17:43:02
I've also noticed that it's gone! I hope it's coming back. I just did a reinstall of foobar and deleted my plugins, thinking I could just download them again. I had no problems with foo_skip fwiw, I really hope it comes back.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-04-20 10:54:47
New version uploaded (http://www.foobar2000.org/components/view/foo_skip).
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2014-04-22 16:03:51
Installed the new 1.8.4, released on 2014-04-20The documentation promises 3 more fields but they don't work for me ["Skip  query also offers $rand() field to generate random number from 0 to  2^32-1. %playlist_name% returns the name of the playlist where the  current file is played from. And %playback_order% returns the playback  order name."]
The plugin itself works ok (the skipping part).
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-04-22 20:03:48
No one can help you if you don't post the script(s) you attempted to use which utilizes those fields.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2014-04-22 21:49:45
It seems that my foobar completely doesn't recognize these 3 new fields.
I've added 3 fields to the playlist view (see screenshot) with these patterns:

test1 - %playlist_name%
test2 - $rand()
test3 - %playback_order%
http://i.imgur.com/8j6Talw.png (http://i.imgur.com/8j6Talw.png)

So @BenB, there's no complicated script to post.

Foobar2000 1.2.9 (without Column-UI)
Win 7
Title: foo_skip: skip tracks that match a specified search query
Post by: db1989 on 2014-04-22 21:53:10
Quote
Skip query also offers
Which means only in the query. This isn’t extended across the entirety of fb2k. So, no, they aren’t going to work in the playlist view or anywhere else except in the skip query.
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2014-04-22 21:54:33
those fields are only available for use by the component itself.

file>preferences>advanced>playback>skip tracks>skip track query

the script that goes here is what BenB is talking about.

edit: too slow.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2014-04-22 22:34:12
Ohh sorry  !! ... I thought these 3 fields were like the %SKIP% field...Is there a chance that one day they become recognized outside the skip function ?
Anyway, thank you @BenB, @db1989 and @marc2003.
Title: foo_skip: skip tracks that match a specified search query
Post by: Robertina on 2014-04-23 01:12:52
Since I know about the existence of the $rand()-function I fail to imagine how I could make use of it.

For the application/fb2k itself there is this little restriction (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference#.24rand.28.29) to bear in mind:

Quote
Available only in sort-related contexts, such as the Edit → Sort → Sort by ... menu command.

foo_skip may allow to combine any usage combination with $rand() but could someone please give me a concrete example how he utilizes this function?
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-04-23 03:47:41
http://www.hydrogenaudio.org/forums/index....st&p=822070 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=99068&view=findpost&p=822070)
http://www.hydrogenaudio.org/forums/index....st&p=825468 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=30361&view=findpost&p=825468)

Title: foo_skip: skip tracks that match a specified search query
Post by: Robertina on 2014-04-23 03:55:46
Thank you, BenB.

It's clear now for me.
Title: foo_skip: skip tracks that match a specified search query
Post by: wolterstorff on 2014-04-23 20:06:27
hey folks,

i've a little problem with 'foo_skip' (latest version 1.8.4): i've also installed 'foo_playcount' which provides the attribut 'play_count' and my skip query is the following:
Code: [Select]
$ifgreater(%play_count%,0,1,0)
also tried
ifgreater(%play_count%,0,1,0)
for skipping all tracks which where played at least one time. 'skip tracks & use bookmarks' in the 'playback'-menu is enabled, the option 'skip even manually selected tracks' is also enabled. But none of the tracks are skipped.

Don't know if it's important: the tracks in the playlist aren't in the library, the where enqueued via Windows explorer resp. Total Commander. - But the values for the attribute 'play_count' are shown in the playlist. i also use columns ui.

All software / components are in the latest / actual versions, OS is Windows 8.1 64bit.

any ideas?
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-04-23 21:05:19
You must use Query Syntax (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax).
Title: foo_skip: skip tracks that match a specified search query
Post by: wolterstorff on 2014-04-24 03:19:58
You must use Query Syntax (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax).


thanks, this works.


w.
Title: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2014-04-27 16:59:23
Skip Track (for Converter) doesn't seem to work with tags that reference the end of the file (e.g. 3:45-).

I converted two tracks, the first file's skip tag = -20, the second file's skip tag = 3:45-. The first was converted and honored the skip tag but the second didn't.

Here is the console output.
Code: [Select]
CLI encoder: flac.exe
Destination file: C:\Download\Convert\Nirvana - Unplugged In New York - 01 - About A Girl.flac
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
one or more bad chunks removed from dsp chunk list
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "C:\Program Files (x86)\Tools\Audio\flac.exe" -s --ignore-chunk-sizes -0 - -o "Nirvana - Unplugged In New York - 01 - About A Girl.flac"
Working folder: C:\Download\Convert\
Encoder process still running, waiting...
Encoder process terminated cleanly.
Track converted successfully.
Total encoding time: 0:00.671, 295.08x realtime
CLI encoder: flac.exe
Destination file: C:\Download\Convert\Nirvana - Unplugged In New York - 02 - Come As You Are.flac
Encoder stream format: 44100Hz / 2ch / 16bps
Command line: "C:\Program Files (x86)\Tools\Audio\flac.exe" -s --ignore-chunk-sizes -0 - -o "Nirvana - Unplugged In New York - 02 - Come As You Are.flac"
Working folder: C:\Download\Convert\
Encoder process still running, waiting...
Encoder process terminated cleanly.
Track converted successfully.
Total encoding time: 0:00.811, 313.07x realtime
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-04-27 17:50:17
I wanted to ask for something that was said in the past, but I couldn't find it...
DSP part of this component should be:
- last in DSP chain (bottom of the list) or
- first in the DSP chain (top of the list) ?
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-04-27 17:57:11
Last
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-04-27 20:18:56
Thanks for the bug report, ZhuGeLiang. I have uploaded a fixed version.

EpicForever, indeed placing the DSP part last seemed to work best in my testings. It can still behave a bit badly if other DSPs modify audio chunks behind its back, for example Skip Silence working its magic right before a skipped track. If I remember correctly, having output buffer longer than silence skip duration makes track skip take place while old track is still being played. But this is is all from memory and I may be mistaken.
Title: foo_skip: skip tracks that match a specified search query
Post by: diypig on 2014-04-28 11:57:56
anyway to use this, or something similar, so that tracks will be skipped if the title included something like 'instrumental'?
i really appreciate it, thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2014-04-28 12:00:18
Code: [Select]
title HAS instrumental
Title: foo_skip: skip tracks that match a specified search query
Post by: diypig on 2014-04-28 12:39:09
Code: [Select]
title HAS instrumental


i should have worked that out myself, sorry, i don't know why i didn't realize that sooner, but thanks for the help, it works perfectly
Title: foo_skip: skip tracks that match a specified search query
Post by: -AdZero- on 2014-04-28 14:12:34
Thanks for the bug report, ZhuGeLiang. I have uploaded a fixed version.


Hi !

I just upgraded to version 1.8.5 and the problem with the skip for end part doesn't seem to be fixed. I've got a lots of files with skip tags to play only a portin in the middle of the track (for instance : -01:32;01:48-) but only the beginning is skipped. The playback continues til the end of the track.

Anyway, thanks for this very useful plugin !
Title: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2014-04-28 15:11:15
Thanks for the bug report, ZhuGeLiang. I have uploaded a fixed version.


Hi !

I just upgraded to version 1.8.5 and the problem with the skip for end part doesn't seem to be fixed. I've got a lots of files with skip tags to play only a portin in the middle of the track (for instance : -01:32;01:48-) but only the beginning is skipped. The playback continues til the end of the track.

Anyway, thanks for this very useful plugin !


Case, thanks for the update. I can confirm the same issue. Here are the results of my testing.

SKIP=-30 works in playback and converter mode.
SKIP=30- works in playback and converter mode.
SKIP=-10;30- only honors the beginning tag in playback mode and doesn't honor either in converter mode.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-04-28 18:25:53
Multipart skipping was actually also broken during playback. I uploaded version 1.8.6 which should finally solve partial skipping issues.
Title: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2014-04-28 19:39:03
Multipart skipping was actually also broken during playback. I uploaded version 1.8.6 which should finally solve partial skipping issues.


Thanks for the quick fix! Everything seems to be working now.
Title: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2014-04-30 17:16:32
Multipart skipping was actually also broken during playback. I uploaded version 1.8.6 which should finally solve partial skipping issues.


v1.8.6 occasionally plays tracks marked for skipping. I loaded a playlist with 2620 tracks that is supposed to be skipped, but some of them play, despite having a rating of 1.
I use foobar2000 v1.3.2, the only other DSP loaded is "skip silence". Using windows 7 x64, fresh install last week with all the latest drivers etc.
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-04-30 18:02:33
It seems like I remember reading about an issue involving the buffer length and Skip Silence's "Minimum silence duration to activate removal." I want to say that when one is longer than the other the occurrence interferes with foo_skip, but I don't recall which has to be longer and how much longer to trigger it (and tbh I might be confusing foo_skip with another component so hopefully someone more knowledgeable will comment).

Anyhow, did you disable Skip Silence to see if that remedied the situation?

Maybe I'm interpreting this incorrectly:
Quote
I loaded a playlist with 2620 tracks that is supposed to be skipped

but why would you play a playlist with thousands of tracks meant to be skipped?
Title: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2014-04-30 18:31:52
It seems like I remember reading about an issue involving the buffer length and Skip Silence's "Minimum silence duration to activate removal." I want to say that when one is longer than the other the occurrence interferes with foo_skip, but I don't recall which has to be longer and how much longer to trigger it (and tbh I might be confusing foo_skip with another component so hopefully someone more knowledgeable will comment).

Anyhow, did you disable Skip Silence to see if that remedied the situation?

Maybe I'm interpreting this incorrectly:
Quote
I loaded a playlist with 2620 tracks that is supposed to be skipped

but why would you play a playlist with thousands of tracks meant to be skipped?


I was just testing the new release of foo_skip (v1.8.6), disabling "skip silence" did not make any difference. "Full file buffering" is set to 0 KB in advance settings. Buffer length is set to 1000 ms, under playback>output.

foo_skip v1.7.4 does skip all tracks that is rated 1
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-04-30 20:23:21
Interesting find. After your post I went to test this and reproduced the problem after 1500 skips. Apparently the core occasionally calls playback callbacks before DSPs so the newly moved skip check can't trigger. I'll hack together a fix later.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-05-01 10:46:44
Fixed version uploaded. Perhaps this fixes the problem EpicForever experienced.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-05-01 11:21:23
Hello. I feel bit ashamed but I haven't time to make any serious tests... I stick to last version that worked OK and had bugs only when I changed ReplayGain mode while track was played (1.7.6 I think?). Sorry but I changed duties in my job and I need to work at home to quickly fit in...
May I ask here - how exactly it was with foo_skip_silence minimum duration of silence to remove and audio buffer length? Which one should be longer to not interfere with foo_skip? Maybe all those things should be added at component's website - that DSP should be added as last in chain and that thing about buffer and silence duration removal limit?
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-05-01 20:24:35
Case, could you review my post here:
http://www.hydrogenaudio.org/forums/index....st&p=864706 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=96094&view=findpost&p=864706)  ?

Maybe that was in fact my fault... I don't have time to test it yet. But that's something to think about...

EDIT:
But anyway - all Skip Track related problems that I reported occurred only for tracks that weren't tagged to trigger Dynamic DSP. I just never tried any problematic scenario on any of them - not by accident nor intentionally.
Title: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2014-05-02 11:30:41
Fixed version uploaded. Perhaps this fixes the problem EpicForever experienced.


Thank you very much Case, the plugin works as it should now. I loaded the 2620 tracks marked as skip and it skips all tracks, I let foobar2000 skip those 2620 tracks for 5 minutes and it skipped all
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-05-03 14:59:52
how exactly it was with foo_skip_silence minimum duration of silence to remove and audio buffer length? Which one should be longer to not interfere with foo_skip? Maybe all those things should be added at component's website - that DSP should be added as last in chain and that thing about buffer and silence duration removal limit?

Note that this buffer length issue is not foo_skip's bug. Real playback and what core reports as being played back seem to go out of sync if a DSP such as Skip Silence alters track lengths behind its back. For some reason there's no problem as long as output buffer is shorter than the removed amount. Here's an example screenshot of what happens when output buffer is 30 seconds long and Skip Silence DSP is set to trim silence after three seconds: (http://i.imgur.com/7MjzHPJ.png)

Tracks 17 to 98 are nothing but silence. Speakers are still playing back ending of track 16 and spectrum visualizer shows signal properly from the playback, but foobar's playback callbacks are reporting that track 95 is already playing.

There is no way for Skip Track to know what really comes out of the speakers and it has to rely on the playback callback to give accurate information. If I had kept Skip Track enabled in this example scenario and it had wanted to skip these silent tracks, about 27 seconds of the 16th track's ending would have gone unheard. Core would have reported too early that track 17 is being played back and the component would have instructed core to jump to the next track.

It seems that the DSP order is no longer relevant actually. At least I didn't notice any effect with that in my testing. The previous differences I had observed must have been from bugs.

Case, could you review my post here:
http://www.hydrogenaudio.org/forums/index....st&p=864706 (http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=96094&view=findpost&p=864706)

Would be helpful if you could test the latest version and see what happens with it. DSP chain changes during playback or having the DSP in the chain multiple times should have no negative effects anymore.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-05-03 15:28:08
Note that this buffer length issue is not foo_skip's bug. Real playback and what core reports as being played back seem to go out of sync if a DSP such as Skip Silence alters track lengths behind its back. For some reason there's no problem as long as output buffer is shorter than the removed amount. Here's an example screenshot of what happens when output buffer is 30 seconds long and Skip Silence DSP is set to trim silence after three seconds: [removed image]

As far as I can remember not so long time ago (Feb/Mar) I changed (lowered) the amount of silence to removed by this DSP to 1,5 sec. And from many many many tears my output buffer is set to 2 sec... Maybe that's a reason why at some moment foo_skip started having problems in my foobar?
And by the way - I didn't mean that there is a bug - I just think that this known interference with silence removal function should be explained in description of Skip Track plugin  . Just to lower the amount of unnecessary bug reports.
Title: foo_skip: skip tracks that match a specified search query
Post by: kheops on 2014-06-11 16:52:14
hi gang
i'm using foo_skip 1.8.7
with a previous version, of course i don't remember which one it was, i was use to hear the very beginning of a song even when it was skipped as when you wanted to change the channel with these old machines
(http://radio-piffret.pagesperso-orange.fr/Transistors_RADIO_CELARD_Microcapte_1959.JPG)

is there a way to get back to this old behavior with the new foo_skip, it let's me know that my foobar is still looking for a song to play, but with no luck till now

thanks a bunch
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-06-11 16:57:02
That's something that was carefully cured from foo_skip, something which cause further development - removing this short moment of any track that is not intended to be played.
Something that you want is generally unwanted behavior. You just need to install back older version.
Title: foo_skip: skip tracks that match a specified search query
Post by: kheops on 2014-06-14 07:39:39
That's something that was carefully cured from foo_skip, something which cause further development - removing this short moment of any track that is not intended to be played.
Something that you want is generally unwanted behavior. You just need to install back older version.

thanks a lot EpicForever for the answer
"this short moment of any track that is not intended to be played" your words are far better than mine, i might go to an older version as you said
Title: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2014-07-06 05:27:20
Can foo_skip be active only on specific playlists? I was thinking since %playlist_name% can be used in a skip query it would perhaps look something like this to exclude rated songs only on named playlist:
Code: [Select]
%Rating% PRESENT AND %playlist_name% IS Rock Music

But that doesn't seem to work, how exactly and under what circumstances would one use %playlist_name%?
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-07-06 07:37:56
Try:
Code: [Select]
%playlist_name% IS "Rock Music" AND %rating% PRESENT
Title: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2014-07-06 08:54:05
No, that doesn't work either.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-07-06 11:43:52
Both of those strings were correct. It was broken a few versions back when all logic was moved to the DSP and playlist functions are invalid in that context. I uploaded a fixed version.
Title: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2014-07-06 12:20:54
Yep, works fine now with latest version 1.8.8, thanks.
Title: foo_skip: skip tracks that match a specified search query
Post by: Nisto on 2014-07-18 13:36:00
Small bug(?) in foobar 1.3.3 (I just updated foobar2000 from 1.2.9 to 1.3.3 final, and then the Skip Track component from 1.8.7 to 1.8.8 -- no difference in regards to this issue between 1.8.7 and 1.8.8 on foobar2000 1.3.3): if you have the Skip Track query in advanced settings set to nothing (or even "0"), it will continuously skip all tracks. I have had no value in the Skip Track query setting since I started using it..

For now, the temporary fix I found was to set it to 0 IS 1 (I only use the component to skip parts of tracks (via tags))
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-07-19 20:35:06
Fixed in just released v1.8.9 (http://www.foobar2000.org/components/view/foo_skip).
Title: foo_skip: skip tracks that match a specified search query
Post by: Nisto on 2014-07-20 11:09:19
Coolio, thanks Case!
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2014-07-20 13:18:54
there is a very hard conflict between the new bookmark function and the preview function of foo_seek (http://www.hydrogenaudio.org/forums/index.php?showtopic=88654&view=findpost&p=758085) that ends with deleted bookmark tag. I already asked grimes in german foobar2000 forum for a way to override bookmark functionality by automaticall deactivating toggle-option "skip tracks & use bookmarks" in main-menu if enabled. To describe the conflicht: If you are previewing some tracks and the preview reaches a song with bookmark track then the preview begins from the timepoint defined in seek controls advanced preferences and the bookmark tag gets deleted. No idea what is going on.


I encounter a conflict between the latest foo_skip and foo_bookmarks. If a file has a skip tag and is also bookmarked, when you double-click on the bookmark to start your file from that point, foo_skip takes over and starts the file from the beginning+the skip tag, so the bookmark becomes useless.
Title: foo_skip: skip tracks that match a specified search query
Post by: maxim7191 on 2014-07-20 15:52:43
I have problem using this component. It skip tracks only when I press "next track" button, but not automatically when playback moves to next track by itself. I think it may be because I have foo_playlist_attributes installed but I'm not sure.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2014-07-20 15:59:35
I have problem using this component. It skip tracks only when I press "next track" button, but not automatically when playback moves to next track by itself. I think it may be because I have foo_playlist_attributes installed but I'm not sure.


I have to both of your plug-ins, but don't encounter this bug. So there must be another cause.
Title: foo_skip: skip tracks that match a specified search query
Post by: maxim7191 on 2014-07-20 17:01:15
I have problem using this component. It skip tracks only when I press "next track" button, but not automatically when playback moves to next track by itself. I think it may be because I have foo_playlist_attributes installed but I'm not sure.


I have to both of your plug-ins, but don't encounter this bug. So there must be another cause.


thank you for reply. I just deleted playlist attributes and foo_skip works again. So maybe it depends on the settings. Im testing with %rating% IS 1 query
Title: foo_skip: skip tracks that match a specified search query
Post by: dfkt on 2014-07-21 20:52:39
I'm skipping tracks based on various keywords found in the %comment% tag field:

Code: [Select]
comment HAS LQ OR comment HAS Incomplete OR comment HAS Noisy OR comment HAS Corrupt OR comment HAS Dropouts


... is it possible to make that query somewhat prettier/slimmer, or do I have to repeat the "comment HAS <blah> OR" all the time, as I do now?
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2014-08-04 17:33:05
I encounter a conflict between the latest foo_skip and foo_bookmarks. If a file has a skip tag and is also bookmarked, when you double-click on the bookmark to start your file from that point, foo_skip takes over and starts the file from the beginning+the skip tag, so the bookmark becomes useless.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-08-05 17:52:02
I assume you mean this (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=46612&view=findpost&p=413000) component. Took a while to find since the thread title speaks about foo_uie_bookmarks. I couldn't replicate the seeking problem but hopefully things work okay for you in v1.9 (http://www.foobar2000.org/components/view/foo_skip).
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2014-08-06 16:40:36
Thank you for fixing the this problem so quickly and sorry for the ambiguity. This bug is indeed fixed in v. 1.9.
Title: foo_skip: skip tracks that match a specified search query
Post by: garbanzo.bean on 2014-08-26 14:37:35
Great component - very useful!

Would it be possible to implement a flag that can be called with something like %isskip% so we can check whether skip is ON or OFF? It would be useful for creating a visual status indicator. For example, if skip is ON, I would gray-out the title of all tracks that are going to be skipped, so I can instantly see if something won't be played.

Thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2014-08-26 15:17:31
Would it be possible to implement a flag that can be called with something like %isskip% so we can check whether skip is ON or OFF? It would be useful for creating a visual status indicator. For example, if skip is ON, I would gray-out the title of all tracks that are going to be skipped, so I can instantly see if something won't be played.

Depending on what you are using in 'File/Preferences/Advanced/Playback/Skip tracks' as the query, you might be able to replicate the query syntax with titleformatting syntax, which can be then used to do what you want. For example:
Code: [Select]
%length_seconds% LESS 30

Code: [Select]
$ifgreater(%length_seconds%,30,,SKIPPED)

Some queries might be very painful to replicate so not to say what you propose isn't useful.
Title: foo_skip: skip tracks that match a specified search query
Post by: garbanzo.bean on 2014-08-26 16:08:50
Thanks Daeron. You're absolutely right, but that's only half of what I want to accomplish. I want to use $if statements and replicate the skip query to determine if a track will be skipped when skip is turned on, but I need another $if to check if skip is turned on or off under Playback - Skip tracks & use bookmarks. That's where something like %isskip% would come in handy - not to check if a track would be skipped, but to check if the skip function is ON or OFF.

That way, if a track is set to be skipped AND the skip function is turned on, the track will be grey. But if a track is set to be skipped and the skip function is turned off, it will be normal color.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-08-30 19:26:55
I have some problem again. Sometimes manual selection of track that should be skipped (because of keyword or rating mathing skipping query) requires doublecklicking on file even 10 times... But when I put such file in queue, then it is played OK. I use v 1.9 of foo_skip
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2014-08-30 21:02:06
Thanks Daeron. You're absolutely right, but that's only half of what I want to accomplish. I want to use $if statements and replicate the skip query to determine if a track will be skipped when skip is turned on, but I need another $if to check if skip is turned on or off under Playback - Skip tracks & use bookmarks. That's where something like %isskip% would come in handy - not to check if a track would be skipped, but to check if the skip function is ON or OFF.

That way, if a track is set to be skipped AND the skip function is turned on, the track will be grey. But if a track is set to be skipped and the skip function is turned off, it will be normal color.

Tracks are not "set to be skipped." Playback must engage on a track before foo_skip can determine if it should be skipped. The developer has designed the component so that you don't hear the split second blurb of each skipped track while the skip query is evaluated.

It's beyond the purpose (and probably the capability) of title formatting to query for the status of a component, at least as far as I've been able to determine.
Title: foo_skip: skip tracks that match a specified search query
Post by: haloeight on 2014-09-14 21:03:43
Is anyone finding foo_skip behaving haphazardly lately? I haven't yet identified potential causes, but lately it seems tracks that would previously get skipped with criteria %last_played% DURING LAST 4 WEEKS now play. Sometimes it skips properly, sometimes it doesn't.

Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-09-14 21:41:29
Well... I must say you are right haloeight. I haven't enough time to properly investigate it, all I can say is that for sure I found problem with manually selected files. I have some track on autoplaylist, that should be normally skipped. But this time I want to play it. I doubleclick it and foobar skips it. I doubleclick it once, two times three times... and sometimes it's enough and sometimes I need to make 10 tries. While sometimes it works properly at first time. Selecting files into queue works OK - I havem't situation when queued file was skipped. But I found situations when file that should be skipped, wasn't skipped at all. My plugins list haven't changed (maybe some of them were updated), my skipping patterns haven't changed (keywords + low rating) - only foobar was updated from 1.2.9 to 1.3.2 about 2 months ago...
Title: foo_skip: skip tracks that match a specified search query
Post by: haloeight on 2014-09-14 21:49:00
Thanks...I also have been thinking the only change to my setup has been upgraded fb2k versions. I can't remember what exact version I started noticing this but it seems a relatively recent development (over the past 3-4 months).

Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-09-20 21:14:30
I found some bugs which I fixed in version 1.9.1 (http://www.foobar2000.org/components/view/foo_skip). Hopefully I got all the issues you have seen.
Title: foo_skip: skip tracks that match a specified search query
Post by: Maynor on 2014-09-27 06:06:33
Been using this component for years. Became pretty indispensable.

I've got a request, don't know about feasibility though. I usually have 2 different Skip Track queries I use, depending on if I want to discover new stuff or if I want to listen to the best I have. Changing from one to the other is a pain. Would it be possible to implement multiple queries, and a drop down UI element to switch between queries (or just a checkbox to switch in the propreties)?

This might be too much work though, I have no idea. If there's an alternative, I'd like to know.

Thanks
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-09-27 22:20:58
@Maynor - exactly my thoughts:
http://www.hydrogenaud.io/forums/index.php...st&p=843279 (http://www.hydrogenaud.io/forums/index.php?s=&showtopic=30361&view=findpost&p=843279)
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-09-29 21:23:29
I have no GUI experience and the documentation I found didn't help me in creating a WTL listview I wanted. I would have liked to make a dialog similar to Default UI's custom grouping scheme configuration where you define a short name and the string associated with it. Then one could quickly pick the wanted option from a named entry in main menu.
But since that is beyond my skills I had to settle for a compromise. In the new version (http://www.foobar2000.org/components/view/foo_skip) configuration is now on its own page under main Preferences screen and query is implemented as a drop down list with history. It's still faster to change between values than with the old method. Entries can be removed from the right click context menu of the arrow icon.
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-09-29 21:43:36
Thanks, will try it during the weekend I hope
Title: foo_skip: skip tracks that match a specified search query
Post by: Maynor on 2014-09-30 06:47:29
Hey thanks a lot! Didn't expect a version so quick!

Just installed it. And I like the fact that it's in the Tools section, quickly accessible. On first impression, there's one thing: if the Skip track query is longer than the drop down dialog entry length, you can't scroll right to edit it. Might be a limitation in the drop down dialog itself though.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-09-30 09:57:19
Sorry about that. Fixed version uploaded.
Title: foo_skip: skip tracks that match a specified search query
Post by: Seren on 2014-09-30 16:22:30
Sorry if I'm missing some documentation already available but how can I have tracks be skipped if I've recently skipped them (or do they count as recently played?). I have my playlist being played as Shuffle (tracks).
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-09-30 20:08:30
This component doesn't track manual skips. If some component keeps track of such behavior and exposes this info through titleformatting then you could utilize it. Though perhaps there's a workaround way if you have Playback Statistics (http://www.foobar2000.org/components/view/foo_playcount) installed. If you for example know that you have played all your good tracks in the last two weeks you could use skip query NOT %last_played% DURING LAST 2 WEEKS. Or if you know you don't have many plays for the tracks you want to skip you could use something like %play_count% LESS 5.
Title: foo_skip: skip tracks that match a specified search query
Post by: Seren on 2014-10-01 17:35:36
This component doesn't track manual skips. If some component keeps track of such behavior and exposes this info through titleformatting then you could utilize it. Though perhaps there's a workaround way if you have Playback Statistics (http://www.foobar2000.org/components/view/foo_playcount) installed. If you for example know that you have played all your good tracks in the last two weeks you could use skip query NOT %last_played% DURING LAST 2 WEEKS. Or if you know you don't have many plays for the tracks you want to skip you could use something like %play_count% LESS 5.


Aww... Well thanks for the reply.
I don't want to skip the tracks completely, I like listening to an old song every now and then but depends on my mood. Sometimes I skip a track halfway-through if I'm not in the mood and hence it doesn't count as a play.
I still do need to work out something to play songs that I rarely listen to less often and your suggestion gives me an idea, thanks!
Title: foo_skip: skip tracks that match a specified search query
Post by: D.Sync on 2014-10-23 08:28:24
Hi there. Is there anyway to store the BOOKMARK tag in custom database using foo_customdb instead of modifying the music source file? I've tried to create a custom field in foo_customdb but the tag is still written in the source.
Title: foo_skip: skip tracks that match a specified search query
Post by: wir3k on 2014-11-02 13:53:53
Can somone explain me point by point how to make SKIP=-<time> work cuz when i simply set SKIP=-0:01:25 in Skip Track Query it doesnt work to any of the songs when i double click song or click play next song.
Just a short guide step by step how to make it work would be appreciate btw. all i care about is to be able to play all songs in playlist from the middle for example or at least from 1 minute.
THANKS
Title: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2014-11-02 14:03:57
you don't put anything in the skip preferences.

you actually need to tag your files with a SKIP tag. right click your file(s) in a playlist and select Properties. now right click a blank area and select Add new field. in the Field name: section, type in SKIP. in Field value:, you can enter the time.
Title: foo_skip: skip tracks that match a specified search query
Post by: wir3k on 2014-11-02 17:55:54
works thanks you are a BOSS

is there a way in foobar to add value to all of the songs, not one by one  ?

also i loved the idea to keep skip info not in tags but in separate file looking forward for it .
Title: foo_skip: skip tracks that match a specified search query
Post by: AsVHEn on 2014-11-06 13:04:54
Hi, first of all, you did a great plugin man .
I don't know if someone had this problem before but if not I believe is relevant. foo_skip doesn't work properly if Crossfader is activated (actual version 1.3.5, and 1.1.9 too beacuse I tried first without update ).
foobar skips 1 rated songs at start if you had resume activated, with >| |< buttons, but not when is normaly playing (so, is almost useless when crossfader is on ).
Thank you again for do it.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-11-06 16:50:10
Should be fixed in the 1.9.5 (http://www.foobar2000.org/components/view/foo_skip) version.
Title: foo_skip: skip tracks that match a specified search query
Post by: AsVHEn on 2014-11-06 18:24:02
Should be fixed in the 1.9.5 (http://www.foobar2000.org/components/view/foo_skip) version.

Donwloaded, installed and checked. Good work .
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-12-03 17:33:33
This component seems to be living its own life
It isn't very often situation in general, but I think I should report it - so Developer could decide whether to search for problem or not. Honestly I don't feel this as an urgent problem.

What is going on?
I have set play mode to Shuffle (Tracks). It shuffled 5 "wrong" tracks in a row so while 5th was playing I decided to turn on skipping. After ca 1-2 seconds (my buffer is set to 1000ms) music just stopped. Cursor was going forward, but not VU Meter nor Peak Meter showed any animation. Track was played silently. Reproducibility - 100%. After turning skipping of - music got back after the same time 1-2 seconds (I think it is all about buffer length). Skipping was meant to be triggered via specific value in my own KEYWORDS tag (in this case word "skip"). However manual playing of any skipping query-matching track (doubleclick on playlist) or via Queue function works fine. Also skipping many tracks in a row works flawlessly. So all basic functions are OK.

Full skipping query:
%keywords% HAS flac OR %keywords% HAS skip OR %rating10% LESS 3 AND NOT %rating10% MISSING

Components installed:
Code: [Select]
Core (2014-11-29 07:52:32 UTC)
    foobar2000 core 1.3.6
foo_ac3.dll (2012-08-29 16:57:04 UTC)
    AC3 decoder 0.9.7
foo_adpcm.dll (2013-08-13 03:01:25 UTC)
    kode's ADPCM decoders 1.11
foo_albumlist.dll (2014-11-29 07:51:22 UTC)
    Album List 4.5
foo_amipwrapper.dll (2010-01-29 21:32:26 UTC)
    AMIP Wrapper 1.01
foo_asap.dll (2014-06-23 12:43:41 UTC)
    ASAP 3.2.0
foo_audioscrobbler.dll (2012-11-22 15:41:48 UTC)
    Audioscrobbler 1.4.7
foo_beatit.dll (2014-07-10 16:08:18 UTC)
    Beat It 0.3
foo_bestversion.dll (2013-03-20 16:00:29 UTC)
    Best Version Picker 0.1
foo_bitcompare.dll (2008-12-05 14:08:02 UTC)
    Binary Comparator 1.2
foo_bpm.dll (2014-06-24 19:36:49 UTC)
    BPM Analyser 0.2.4.6
foo_cdda.dll (2014-11-29 07:50:28 UTC)
    CD Audio Decoder 3.0
foo_converter.dll (2014-11-29 07:50:48 UTC)
    Converter 1.5
foo_convolve.dll (2013-03-27 21:18:27 UTC)
    Convolver 0.3
foo_deemph.dll (2013-02-08 18:43:34 UTC)
    De-emphasis postprocessor 0.0.3
foo_devconsole.dll (2014-02-09 23:19:27 UTC)
    DevConsole 1.0.4async
foo_dsp_effect.dll (2014-11-01 02:22:14 UTC)
    Effect DSP 0.15
foo_dsp_effect_nodeemph.dll (2014-11-01 11:12:21 UTC)
    Effect DSP 0.15
foo_dsp_eq.dll (2014-11-29 07:51:34 UTC)
    Equalizer 1.0
foo_dsp_eqsplit.dll (2008-07-13 01:49:10 UTC)
    Split equalizer v0.0.1
foo_dsp_fsurround.dll (2012-07-06 22:29:44 UTC)
    FreeSurround 0.9.0
foo_dsp_mm.dll (2008-06-06 05:29:12 UTC)
    Matrix Mixer 0.3
foo_dsp_multiresampler.dll (2014-08-19 08:03:41 UTC)
    MultiResampler 1.0.0
foo_dsp_resampler.dll (2013-03-27 20:01:33 UTC)
    SoX Resampler 0.8.3
foo_dsp_silence.dll (2014-01-27 20:34:20 UTC)
    Post-track silence 0.0.4
foo_dsp_std.dll (2014-11-29 07:51:12 UTC)
    Standard DSP Array 1.3
foo_dsp_vlevel20080302.0.dll (2008-03-02 22:42:06 UTC)
    VLevel 20080302.0
foo_dsp_xfeed.dll (2011-09-19 19:44:30 UTC)
    Crossfeed 0.1.3
foo_dsp_xgeq.dll (2012-02-05 12:11:22 UTC)
    Graphic Equalizer 0.3.7
foo_dsp_yac.dll (2013-03-27 21:02:35 UTC)
    Yet Another Convolver 1.1.0
foo_dumb.dll (2014-11-11 01:16:19 UTC)
    DUMB module decoder 1.0.137
foo_dynamicdsp.dll (2014-04-03 21:01:43 UTC)
    Dynamic DSP 1.0
foo_fileops.dll (2014-11-29 07:50:56 UTC)
    File Operations 2.2.1
foo_flv.dll (2012-12-29 07:00:00 UTC)
    Flash Video Decoder 0.9.6
foo_freedb2.dll (2014-11-29 07:51:00 UTC)
    Online Tagger 0.7
foo_gep.dll (2014-10-30 03:21:58 UTC)
    Game Emu Player 1.180
foo_hdcd.dll (2012-07-17 19:40:12 UTC)
    HDCD decoder 1.15
foo_input_adplug.dll (2014-06-13 22:45:29 UTC)
    AdPlug 1.46
foo_input_amr.dll (2009-03-05 20:20:06 UTC)
    AMR input 1.1.1
foo_input_celt.dll (2011-05-16 12:21:00 UTC)
    CELT Decoder 0.1.2
foo_input_ds.dll (2013-01-20 19:54:37 UTC)
    DirectShow input 0.1
foo_input_dsdiff.dll (2011-05-18 19:01:22 UTC)
    DSDIFF Decoder 1.4
foo_input_dts.dll (2014-02-16 03:56:42 UTC)
    DTS decoder 0.3.3
foo_input_dtshd.dll (2011-03-19 22:41:12 UTC)
    DTS-HD Decoder 0.1.3
foo_input_dvda.dll (2012-03-16 16:30:28 UTC)
    DVD-Audio Decoder and Watermark Detector 0.4.11
foo_input_exe.dll (2012-10-11 21:56:52 UTC)
    Command-Line Decoder Wrapper 0.4
foo_input_gsf.dll (2014-11-26 05:22:06 UTC)
    Highly Advanced 2.0.8
foo_input_ht.dll (2014-11-26 05:22:07 UTC)
    Highly Theoretical 2.0.40
foo_input_hvl.dll (2014-04-12 01:46:52 UTC)
    Hively Tracker decoder 1.16
foo_input_kdm.dll (2012-02-19 10:52:40 UTC)
    KDM Decoder 1.1
foo_input_monkey.dll (2013-04-13 10:40:08 UTC)
    Monkey's Audio Decoder 2.1.7
foo_input_ncsf.dll (2014-11-26 05:22:08 UTC)
    NCSF Decoder 1.11
foo_input_ofr.dll (2011-03-15 22:43:46 UTC)
    OptimFROG Lossless/DualStream Decoder 1.31
foo_input_orch.dll (2012-10-29 20:17:30 UTC)
    Orch-90 decoder 0.1.5
foo_input_org.dll (2012-02-19 10:53:10 UTC)
    Organya decoder 1.9
foo_input_qsf.dll (2014-11-26 05:22:07 UTC)
    Highly Quixotic 2.0.28
foo_input_reverse.dll (2009-01-05 19:47:00 UTC)
    Reverse Playback 0.1.4 (SSE)
foo_input_sacd.dll (2012-08-25 19:03:10 UTC)
    Super Audio CD Decoder 0.5.11
foo_input_shorten.dll (2014-01-03 19:46:18 UTC)
    Shorten decoder 0.4.2.3
foo_input_std.dll (2014-11-29 07:52:32 UTC)
    Standard Input Array 1.0
foo_input_tak.dll (2013-06-21 10:29:42 UTC)
    TAK Decoder 0.4.7
foo_input_tfmx.dll (2012-12-13 15:24:38 UTC)
    TFMX decoder 0.10
foo_input_upse.dll (2012-12-22 10:42:24 UTC)
    UPSE PSF Decoder 1.8
foo_input_usf.dll (2014-11-29 08:15:39 UTC)
    LazyUSF 2.2.23
foo_input_v2m.dll (2014-07-01 19:18:48 UTC)
    V2M Decoder 0.2.1
foo_input_vgmstream.dll (2014-10-19 23:50:58 UTC)
    vgmstream plugin r1039-9-gc96d86b
foo_input_vio2sf.dll (2014-11-26 05:22:10 UTC)
    2SF Decoder 0.24.11
foo_input_zxtune.dll (2013-02-19 21:20:22 UTC)
    ZX Tune Player 0.0.1
foo_jesus.dll (2010-09-23 01:34:06 UTC)
    Autosave & Autobackup 10
foo_keep_queue.dll (2010-11-12 03:28:46 UTC)
    Keep Queue 0.3.5
foo_lnk.dll (2010-01-07 18:57:56 UTC)
    Shell Link Resolver 1.3.1
foo_lock.dll (2010-01-11 11:18:36 UTC)
    Pause on Lock 0.5
foo_masstag.dll (2013-03-27 21:20:17 UTC)
    Masstagger 1.8.4
foo_midi.dll (2014-11-23 09:04:18 UTC)
    MIDI synthesizer host 1.233
foo_musical_spectrum.dll (2012-11-21 07:00:00 UTC)
    Musical Spectrum 0.9.1
foo_nds.dll (2013-03-22 12:59:18 UTC)
    No Display Standby 1.1
foo_osd.dll (2012-12-17 19:28:20 UTC)
    On-Screen Display 1.73
foo_out_asio.dll (2012-06-06 13:19:14 UTC)
    ASIO support 2.1.2
foo_playcount.dll (2011-07-13 10:47:18 UTC)
    Playback Statistics 3.0.2
foo_psf.dll (2014-11-26 05:22:06 UTC)
    Highly Experimental 2.0.40
foo_queuecontents.dll (2011-12-31 13:30:56 UTC)
    Queue Contents Editor 0.5
foo_rg_trn.dll (2010-01-14 00:01:00 UTC)
    ReplayGain override 0.1.3
foo_rgscan.dll (2014-11-29 07:50:28 UTC)
    ReplayGain Scanner 2.2.1
foo_run.dll (2009-06-07 14:15:18 UTC)
    Run services 0.3.7
foo_seek.dll (2014-04-24 04:50:40 UTC)
    Seek 1.2
foo_seek_box.dll (2010-04-21 14:03:30 UTC)
    Seek box 0.0.3
foo_sendtodevice.dll (2013-03-11 17:20:22 UTC)
    Send to Device 1.1.2 [Nov 28 2007 - 10:13:31]
foo_sid.dll (2014-04-01 00:52:11 UTC)
    sidplay2 1.32
foo_skip.dll (2014-11-06 17:42:22 UTC)
    Skip Track 1.9.5
foo_snesapu.dll (2013-10-27 07:00:41 UTC)
    SNESAPU input 0.80
foo_softplaylists.dll (2013-01-25 19:31:19 UTC)
    Soft Playlists 2012-10-10
foo_stop_on_current.dll (2009-06-18 04:54:52 UTC)
    Stop on Current 0.4
foo_timebomb.dll (2009-12-20 21:40:00 UTC)
    Timebomb 0.0.2
foo_ui_std.dll (2014-11-29 07:52:32 UTC)
    Default User Interface 0.9.5
foo_verifier.dll (2014-09-08 11:44:38 UTC)
    File Integrity Verifier 1.1.2
foo_vst.dll (2011-03-05 07:19:04 UTC)
    VST 2.4 adapter 0.9.0.3
foo_wave_seekbar.dll (2014-02-08 21:37:10 UTC)
    Waveform seekbar 0.2.45

DSP chain (in exact order):
Dynamic DSP (please note - it is used by less than 50 tracks in my collection and it uses very easy configuration)
Skip Silence
Matrix Mixer (the truth is that I rarely use it/change its default "diagonal all 1" config)
Downmix channels to stereo
Convert mono to stereo
Playback Rate Shift (mostly unused, but sometimes I play everything on +3%...)
Skip Track


I don't remember - should I use "Skip Track" DSP as lat or as first?
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2014-12-03 19:26:10
Thanks, fixed in 1.9.6 (http://www.foobar2000.org/components/view/foo_skip).
Title: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2014-12-03 19:38:33
Wow...
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2015-01-04 18:43:58
I encounter a conflict between the latest foo_skip and foo_bookmarks. If a file has a skip tag and is also bookmarked, when you double-click on the bookmark to start your file from that point, foo_skip takes over and starts the file from the beginning+the skip tag, so the bookmark becomes useless.


Hi Case,
in skip v. 1.9.6 this conflict with foo_bookmarks (or foo_bookmarks) seems to have come back again.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2015-01-05 21:36:00
Should be fixed now.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2015-01-07 07:19:48
Should be fixed now.


Thank you for the fix.
Title: foo_skip: skip tracks that match a specified search query
Post by: HHHHH on 2015-01-07 16:23:04
Hello all,
I have gone through all the past posts but I can't seem to figure this out.
I mainly use foo_skip for skipping parts of a track, never to skip entire tracks. Therefore I use the SKIP tag per track.
I have no problem skipping the beginning of a track, however it never works for skipping the end part.
Here is an exemple of a tag: SKIP=-0:02.7; 02:36-  (This very track is 2:58 long)
Do I have a problem with the syntax?

Also, here are all the active DSPs :


I also use a buffer length of 1700ms.

BTW I have updated to the last version 1.9.7 of foo_skip.
Thanks in advance for your pointers!!!
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2015-01-07 16:59:05
Try moving Skip track (AKA foo_skip) to the bottom of the DSP chain.

Also, I suggest formatting your SKIP tags as illustrated in earlier posts, namely -0:00:00;0:00:00-.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2015-01-07 19:20:14
Removing the space after the semicolon makes it see the end part. It seems my parsing is a bit too strict about the syntax.
Title: foo_skip: skip tracks that match a specified search query
Post by: HHHHH on 2015-01-09 14:24:28
Thanks for your replies.
I removed all others DSPs and left only Skip Track, as well as formatted the tag to SKIP=-0:00:02.7;00:02:36-, but all to no avail.

It still ignores the end part...

Could it be a conflict with another component?
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2015-01-09 17:55:36
Remove SKIP= from the tag value as it's inclusion is unnecessary. I didn't realize you were formatting your values with it. I just tried foo_skip with it included and foo_skip ignored the second value like you're experiencing.

EDIT:

Forgot to say leading zeroes and colons also proved to be unnecessary in my tests.
Title: foo_skip: skip tracks that match a specified search query
Post by: HHHHH on 2015-01-09 21:42:05
Remove SKIP= from the tag value as it's inclusion is unnecessary. I didn't realize you were formatting your values with it. I just tried foo_skip with it included and foo_skip ignored the second value like you're experiencing.

EDIT:

Forgot to say leading zeroes and colons also proved to be unnecessary in my tests.


Wow, thanks BenB! That did it for me indeed! It was a smart thing to try to remove the SKIP= part and I'm glad you did!
Now it works like a charm to skip the end part of a track and indeed, there is no need for the leading zeros. Thanks!

However now that this works, I'm running into a new issue: as mentioned in one of my previous comments, I use the "Skip silence" and "Affix silence" (foo_dsp_silence) DSPs to remove any silence in the beginning and end of a track and affix a 3s silence gap between tracks. I couldn't verify it before making the foo_skip DSP work but now I see that my setup doesn't work for those tracks whose end has been skipped using the SKIP tag: it just continues to the next track without adding the 3s silence...

I tried to put the Skip track DSP at the beginning of the DSPs chain as well as at the end but it made no difference.

Do you have any pointer again? Thanks in advance for your precious help!
Title: foo_skip: skip tracks that match a specified search query
Post by: Everyoneisinsideofme on 2015-01-16 18:12:27
Hello, sorry for my stupid question but how can I skip a track that is under 24 bits per sample? I tried: %Bitrate%, %Bits_per_sample%, %Bits per sample%, %Bits%  + IS 16

Hope someone can help me. I couldn't find the answerer by searching this topic either.
Title: foo_skip: skip tracks that match a specified search query
Post by: Case on 2015-01-16 21:33:17
"$info(bitspersample)" LESS 24
Title: foo_skip: skip tracks that match a specified search query
Post by: Everyoneisinsideofme on 2015-01-17 10:22:40
"$info(bitspersample)" LESS 24


Thank you ! Is there a list with all possible "codes" ?
Title: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2015-01-17 10:28:39
Thank you ! Is there a list with all possible "codes" ?

http://wiki.hydrogenaud.io/index.php?title...tting_Reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference)
http://wiki.hydrogenaud.io/index.php?title...00:Query_syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax)
Title: foo_skip: skip tracks that match a specified search query
Post by: Everyoneisinsideofme on 2015-01-19 00:19:53
Thank you ! Is there a list with all possible "codes" ?

http://wiki.hydrogenaud.io/index.php?title...tting_Reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference)
http://wiki.hydrogenaud.io/index.php?title...00:Query_syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax)



thank you very much daeron! thanks a lot for the kind help! : ) great forum
Title: foo_skip: skip tracks that match a specified search query
Post by: DaAwesomeP on 2015-01-30 01:58:32
Hi I just installed this plugin, but it is not working. I added the SKIP to tag an album, so all the songs have the SKIP tag with a value of 1. My filter:
Code: [Select]
$if2(%SKIP%,0)

However, foo_skip does not skip the songs. I added the following to my status bar, and it is showing that Foobar2000 sees the SKIP tag fine:
Code: [Select]
$if(%SKIP%, '('usually skipped')',)


Any help is greatly appreciated,
DaAwesomeP
Title: foo_skip: skip tracks that match a specified search query
Post by: BenB on 2015-01-30 03:09:42
Use query syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax):

Code: [Select]
%skip% PRESENT

or
Code: [Select]
%skip% IS 1

etc.
Title: foo_skip: skip tracks that match a specified search query
Post by: DaAwesomeP on 2015-01-30 03:42:09
Use query syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax):

Code: [Select]
%skip% PRESENT

or
Code: [Select]
%skip% IS 1

etc.

That works perfectly! Thank you!
Title: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2015-07-27 17:20:56
How do I want to type if I want to skip the first 20sec of a song and skip the last 20 sec of song but play everything between. ?
And lets say the song is 5:20min long.
Title: foo_skip: skip tracks that match a specified search query
Post by: Speech on 2015-07-27 19:32:36
How do I want to type if I want to skip the first 20sec of a song and skip the last 20 sec of song but play everything between. ?
And lets say the song is 5:20min long.

Read this thread and you will find out.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2015-07-27 21:38:06
How do I want to type if I want to skip the first 20sec of a song and skip the last 20 sec of song but play everything between. ?
And lets say the song is 5:20min long.

track properties > Tools > add new field... > <SKIP>

-00:00:10  starts at  00:00:10 (also a simple -10 works)
00:02:30-  ends at  00:02:30  (also a simple x- to skip the last x seconds)

To start at  00:00:10 and end at 00:02:30 . You have 2 options:

Title: foo_skip: skip tracks that match a specified search query
Post by: Pure_BY on 2015-08-17 22:36:27
Hello there! thanks for the great plug-in! I'm trying to set it up so it skips tracks with rating 1 or 2.

The default code is %rating% IS 1 .

Among other I've tried the following:
%rating% IS 1 OR 2 *
%rating% IS $or(1,2)
%rating% OR 1,2
*
[blockquote]* + all kinds of alternative separators[/blockquote]It does not work. What am I doing wrong?
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2015-08-17 22:43:24
(%rating% IS 1) OR (%rating% IS 2)

Title: foo_skip: skip tracks that match a specified search query
Post by: Pure_BY on 2015-08-17 22:46:52
(%rating% IS 1) OR (%rating% IS 2)

Thanks for such quick reply! It worked, cool! didn't think if that myself.
Title: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2015-08-17 23:14:09
@Pure_BY, You can use the next pattern to fine-tune the relation between the rating of the track and the chance of it to be played.

Code: [Select]
 (%rating% IS 0 AND "$mod($rand(),100)" GREATER 75) OR (%rating% IS 1 AND "$mod($rand(),100)" GREATER 25) OR (%rating% IS 2 AND "$mod($rand(),100)" GREATER 25) OR (%rating% IS 3 AND "$mod($rand(),100)" GREATER 75) OR (%rating% IS 4 AND "$mod($rand(),100)" GREATER 90)

Explanation : for example (%rating% IS 1 AND "$mod($rand(),100)" GREATER 25) means that if the track's rating is 1 then the chance for it to be played is 25%

If you totally don't want to play the rating 1 tracks replace the "rating 1 part" with (%rating% IS 1)

You can take the pattern and change the "weights" of all the "rating parts" as you personally want.

Title: foo_skip: skip tracks that match a specified search query
Post by: Pure_BY on 2015-08-23 00:59:18
Explanation : for example (%rating% IS 1 AND "$mod($rand(),100)" GREATER 25) means that if the track's rating is 1 then the chance for it to be played is 25%
If you totally don't want to play the rating 1 tracks replace the "rating 1 part" with (%rating% IS 1)
You can take the pattern and change the "weights" of all the "rating parts" as you personally want.

Wow, this is amazing! I never knew this was possible. Loved SkipTrack feature, however it was always a very 'hard measure'. I'm really an album listener, so sometimes I'd like to hear even the tracks which I dislike -- for the completeness.

I'll start with simple pattern: 0.2 chance for rating 1, 0.4 chance for rating 2. Will check how that works out, maybe I'll tweak it a little later.
Code: [Select]
(%rating% IS 1 AND "$mod($rand(),100)" GREATER 20) OR (%rating% IS 2 AND "$mod($rand(),100)" GREATER 40)

Any idea where I can find more info on such commands, etc.?

Big thanks for this great tip!
Title: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2015-08-23 01:45:51
http://wiki.hydrogenaud.io/index.php?title...tting_Reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference)
http://wiki.hydrogenaud.io/index.php?title...00:Query_syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax)
Title: foo_skip: skip tracks that match a specified search query
Post by: Coreda on 2015-10-08 01:31:58
Feature suggestion: I'd love to see the ability to use the contents of a playlist for foo skip's exclusion data.

Eg: create a playlist named 'Skip' then in the Skip Track preferences set the 'Skip' playlist as the exclusion list.

That makes it easier for users who use '1' ratings for tracks but don't want them to be skipped, while providing a simple method of excluding single tracks.
Title: foo_skip: skip tracks that match a specified search query
Post by: warbaque on 2015-10-23 02:09:54
I'd like to have a quick key that when pressed:
1) marks current song to be skipped in the future
2) goes to next track

How could I achieve this?
Title: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2015-10-23 02:41:47
^ File/Preferences/Keyboard shortcuts. You can only assign one command to one key therefore you will need two of them.

If you really want it on a single button, look into macros (lots of keyboard/mouse drivers provide these) or something like AutoHotkey which can simulate key presses for you.
Title: foo_skip: skip tracks that match a specified search query
Post by: warbaque on 2015-10-23 04:14:42
^ File/Preferences/Keyboard shortcuts. You can only assign one command to one key therefore you will need two of them.

If you really want it on a single button, look into macros (lots of keyboard/mouse drivers provide these) or something like AutoHotkey which can simulate key presses for you.

Ok, macro it is then

Do I need to enable ratings to make 'skip track' to work and how do I make keyshortcut for "set rating for current song to 1"
Title: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2015-10-23 11:10:52
Install something like foo_quicktag (and fiddle with its options), which will provide that command to be bindable on the keyboard preferences page.
Title: foo_skip: skip tracks that match a specified search query
Post by: warbaque on 2015-10-24 00:47:25
Thanks, works perfectly

Skipping if '%skip% IS TRUE'
Added 'Skip=SKIP' to the standard fields.
Global shortkey for 'set <SKIP> to TRUE'.
And macro that calls shortkey and next track.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Coreda on 2016-01-16 20:19:46
Feature suggestion: I'd love to see the ability to use the contents of a playlist for foo skip's exclusion data.

Eg: create a playlist named 'Skip' then in the Skip Track preferences set the 'Skip' playlist as the exclusion list.

That makes it easier for users who use '1' ratings for tracks but don't want them to be skipped, while providing a simple method of excluding single tracks.

Bumping for feedback. @Case ?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-01-16 22:03:29
I think you can use %playlist_name% to do that...

Code: [Select]
NOT %playlist_name% IS Skip AND %rating% IS 1
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Coreda on 2016-01-17 01:29:00
I think you can use %playlist_name% to do that...

Code: [Select]
NOT %playlist_name% IS Skip AND %rating% IS 1

Tested but doesn't appear to work. The track I tested was skipped because it was rated 1 star rather than because it was in a playlist named 'Skip'. Tried also:

Code: [Select]
%playlist_name% IS Skip

But this had the effect of not playing any tracks. Really would be useful to just be able to set a playlist of skippable tracks, and without the need to rate them.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-01-17 02:00:59
Oh whoops, I read that completely wrong.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2016-01-17 02:14:54
I think there's some confusion here.

From what I understand you want to create a playlist that will essentially serve as a blacklist (or whitelist) for tracks that you want to skip. In other words, you want contents of a specific playlist affect (the same) tracks in OTHER playlists.

The problem is foobar generally works on a track by track basis. %playlist_name% will return the name of the playlist you are playing the current song from. If you play the song directly from your 'Skip' playlist, it will return 'Skip'. But if you play the same song from another playlist, it will return something else and the foo_skip check will fail, even if the same track can also be found in the playlist 'Skip'. %playlist_name% does not list all occurrences the track has in other playlists, only the current one.

Which means what you are looking for can't be done with the tools we currently have.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-01-17 02:41:47
I could probably script something to do it but the track changes may not be entirely seamless. I'll test and report back.

edit: I tried it and it was fine for me but YMMV.

Requires WSH panel mod or JScript panel. You can find the latter via the link in my signature.

Code: [Select]
var t = tracks_to_skip();

function on_playback_new_track() {
var handle = fb.GetNowPlaying();
if (!handle)
return;
var p = handle.Path.toLowerCase();
for (var i = 0; i < t.length; i++) {
if (t[i] == p)
return fb.Next();
}
}

function tracks_to_skip() {
var a = [];
for (var i = 0; i < plman.PlaylistCount; i++) {
if (playlist_name_is_skip(i)) {
var items = plman.GetPlaylistItems(i);
for (var j = 0; j < items.Count; j++) {
a.push(items.Item(j).Path.toLowerCase());
}
}
}
return a;
}

function playlist_name_is_skip(idx) {
return plman.GetPlaylistName(idx).toLowerCase() == "skip";
}

function on_playlist_items_added(p) {
if (playlist_name_is_skip(p))
t = tracks_to_skip();
}

function on_playlist_items_removed(p) {
if (playlist_name_is_skip(p))
t = tracks_to_skip();
}
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Coreda on 2016-01-18 14:01:56
I could probably script something to do it but the track changes may not be entirely seamless. I'll test and report back.

edit: I tried it and it was fine for me but YMMV.

Requires WSH panel mod or JScript panel. You can find the latter via the link in my signature.

THANK YOU! Really. Like Daeron described this is exactly what I was after, functionality wise.

Tested and seems to be working well. From what I can tell a panel has to be added permanently for the script to function?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-01-18 20:51:45
Yes. If using columns UI, you can hide it on the layout tab in the preferences.

If using default UI, put it a tab or add this bit of code that colours the it the same as a splitter and then resize it as small as you can.

Code: [Select]
function on_paint(gr) {
    gr.FillSolidRect(0, 0, window.Width, window.Height, utils.GetSysColor(15));
}
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: lender1257 on 2016-01-19 13:35:10
hi
i've read this topic more than once, but didn't find the answer to my question
i've installed foo_skip and it function manually

can i define a function-key that stores "skip=1" as tag on the now playing track, if i push it
(the next time this track won't be played anymore)
if possible, how to make this

thx
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: carpman on 2016-01-19 14:56:52
Use foo_quicktag:
https://www.foobar2000.org/components/view/foo_quicktag

I'd bind a shortcut like so (just an example): 
CTRL+F1 to focus track
CTRL+F2 to set tag SKIP = 1

C.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: lender1257 on 2016-01-19 16:42:17
thx carpman for answering

ok, only with foo_skip there's no chance.

would be a nice feature (for now active track):
press funktion key --> if not skip-tag available, or skip-tag = 0, then SKIP=1
                       or   --> if skip-tag available, then delete skip-tag, or set SKIP=0

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-01-20 03:50:03
Not possible. You can only bind one action per key combination. Just use 2 keys and have a playlist column showing the current value so you know which button to press.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: fuffi on 2016-03-11 22:50:34
Hi,

I just found this useful component and installed it (1.9.7).
Thank you!

Now, after reading the whole 18 pages, I still have some questions...and feeling a bit dizzy... 8-)


1) first question/feature request:
after playing with this component and trying a lot of examples from the thread, I now have a cluttered pulldownmenu, filled with not working stuff.
(https://picload.org/image/wprlgdp/1.png)
(I'm old and I won't remember, which worked and which not...)

How can I delete wrong scripts/queries in the pulldown menu?

I have tried all combinations wtih alt/ctrl/shift+del/backspace, but with no success.

2) second question:
can anymone explain in simple words to me,
WHY
I need to use this string
Code: [Select]
("$meta(rating)" IS 1)
instead of
Code: [Select]
($meta(rating) IS 1)
or
Code: [Select]
"%rating% IS 1"
or
Code: [Select]
$meta(rating) IS 1
or
Code: [Select]
%rating% IS 1
?
I copied all those examples from this thread, and a lot of ppl here posting that one of the aboves are fine working for them, but I don't understand, why only the first one is working for me.


3) third question/feature request:
I have this little Collumns UI Collum Display Script
$if(%SKIP%,'['skip'] ')
(https://picload.org/image/wprlgdc/2.png)
which shows me, if a song has the %SKIP% tag. (Just to visually indicate, WHY that song won't play...)
When I change the skip-track-query from time to time, I need to change that script too (according to the new skip-track-query), which is ...something inconvenient.
Is there a way to kinda automate this?
Also, when the component should skip all songs with rating < 2 there is no way to visually indicate this in the playlist view?

Like, fetching the content of %skip-track-query% and putting it into my script in the Collumns UI Collum Display Script?

Any help would be very appreciated.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2016-03-11 23:25:50
How can I delete wrong scripts/queries in the pulldown menu?
Shift+rightclick on the dropdown arrow/wipe history.

Why I need to use this string
Code: [Select]
("$meta(rating)" IS 1)
instead of
Code: [Select]
($meta(rating) IS 1)
There are two languages that you will commonly meet when using foobar. Titleformatting (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference) and query syntax (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax). The former generally uses functions like $this(), the latter usually has capitalized words like %this text% HAS words. Both has pros and cons depending on what you are trying to do and not all parts of foobar may understand both of them.

Sometimes it's beneficial to try to mix the two. Maybe because it's shorter to "say" something in one or the other or only one language supports what you are trying to do in the first place. In the specific case of mixing titleformatting with query syntax, you have to tell foobar somehow that the code you just input should be interpreted as titleformatting as opposed to query syntax. To do so you enclose the code between " " characters.

Example query syntax:
%something% IS 1

Query syntax with titleformatting:
"$meta(rating)" IS 1

In which case foobar first solves the titleformatting part, which presumably returns a number between 1-5 (the rating), then that value is used to evaluate the query.

So halfway through foobar sees something like this (assuming the rating was 1):
1 IS 1

Which will evaluate true.

When I change the skip-track-query from time to time, I need to change that script too (according to the new skip-track-query), which is ...something inconvenient.
You'll have to change it manually.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: fuffi on 2016-03-13 01:11:32
This is a big help! Thank you very much! Really.

It took me some minutes to get the correct right-click, but then it worked. Tricky...only intuitive, when you know it :)
(https://picload.org/image/wpdopwr/screenclip.png)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Pollux88 on 2016-03-15 00:54:50
Epic plugin, thank you for a bang-up job. One minor feature request: would it be possible when "skip track" is bound to a toolbar button to make that button show as pressed when it's activated?
"Stop after current" for instance is highlighted when pressed. But only on Columns_UI for some reason.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Musiphilos on 2016-03-28 11:53:02
Hi music skipping gang.

I'm looking for a way to forward to the next song after the current track has played for 2min.

I'm playing around with foo_skip on my foobar v.1.3.7 and the component is working because with the query %genre% IS Blues does indeed skip my "Blues" music. But all my attempts to skip after 120seconds have failed
(http://healthnmoney.com/david/public_photos/2016-03-28 12_24_26-foobar2000.jpg) (http://healthnmoney.com/david/public_photos/2016-03-28 12_24_26-foobar2000.jpg)

In the image above you can see all the attempts I tried including:  "120-",  "00:02:0-00:00:00" and "-00:00:0;00:02:00-"
The only one that actually did something was the genre query mentioned above.

Any idea why?

I only have skip_track activated in the DSP by the way

Thank you so much
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-03-28 12:41:40
To skip specific parts of a track. you actually have to tag your files with a SKIP tag.

Quote
Can also skip parts of tracks. Tag field SKIP specifies the timecodes:
SKIP=-<time>   to skip from the beginning to <time>.
SKIP=<time>-   to skip from <time> to the next track.
SKIP=<a>-<b>   to skip from position <a> to later position <b>.
SKIP=-<a>;<b>-   to skip from start to <a> and from <b> to next track.

(https://i.imgur.com/RVCTDYT.png)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2016-03-29 07:07:34
I'm looking for a way to forward to the next song after the current track has played for 2min.
foo_preview
http://skipyrich.com/wiki/Foobar2000:Preview
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Musiphilos on 2016-03-29 15:23:25
marc2003 and Daeron,

Thank you so much for your awesome help. It worked. Actually both approaches will be very useful indeed. Foobar is just amazing, isn't it!?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: laddie on 2016-03-30 22:16:00
Is there a way to have Skip Track skip so that the same artist doesn't play twice in an hour? Or even a 5 track span?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2016-04-16 22:57:07
foo_skip causes infinite repeat of a song, and it does happen with several songs, but only when foobar2000 advances to the next track automatically. But it does not happen when I advance to the next track manually.

I have tried various options to get rid of the "bug", but I cannot get rid of my problem.
I've tried to change audio output to Direct Sound, I tried WASAPI (event) and WASAPI (push), even tried Null oputput, but that made no difference. So it can't be related to my soundcard.

I made a portable install of foobar2000 v1.3.10, but the same problem appears.
I'm running foobar2000 on Windows 7 x64.

Please see my screen-capture, to visualize my problem:
https://youtu.be/7BygsvWS4Ek
Youtube might take some time to render...
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2016-04-16 23:09:42
You most likely set up a bad query in 'File/Preferences/Tools/Skip track/Skip track query'. Or it's the default one which as I remember is something along the lines of 'skip track if RATING is 0' and your files happen to have that. So post the query and the right click/properties window of your problematic files (so we can see the tags).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2016-04-16 23:52:38
Here are the tags for the file in question:
(http://i.imgur.com/6p7bOvE.png) (http://imgur.com/6p7bOvE)

Here are my options for foo_skip (default):
(http://i.imgur.com/H1EwNKi.png) (http://imgur.com/H1EwNKi)

I do not use rating-tags, but my rating goes to the database (playback statistics).

All my foobar2000 components are up to date:
(http://i.imgur.com/bTlZ9W0.png) (http://imgur.com/bTlZ9W0)

Thanks in advance.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2016-04-17 00:03:28
Using Previous command after skipping a track seemed to be buggy in the old version of the component. I uploaded a version with a fix but it's so far only available on my site (http://www.saunalahti.fi/~cse/foobar2000/?changes=foo_skip). I'll put it on the official component repository when I wake up.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2016-04-17 01:17:07
Thank you very much, Case. Now it works like intended :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: El Kabong on 2016-04-24 09:09:05
Is there a way to have Skip Track skip so that the same artist doesn't play twice in an hour? Or even a 5 track span?

I second this!
Longtime wished...  :\
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: lazik on 2016-04-27 12:28:27
@Case: excellent plugin. I tested
SKIP=-<a>;<b>-<c>
behavior but this dont work. Its OK to A part but after B ends track playing
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: davideleo on 2016-05-30 00:30:54
I would like to add a button that toggles the skip function. Is there a value I can refer to in titleformatting that tells me weather the skip function is on or not?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2016-05-30 04:03:07
I would like to add a button that toggles the skip function. Is there a value I can refer to in titleformatting that tells me weather the skip function is on or not?
Just add a button to your toolbar, right-click the toolbar and select "customize buttons..." browse for the command "skip tracks & use bookmarks" under [main]>playback>skip tracks & use bookmarks
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: davideleo on 2016-05-30 14:26:20
I would like to add a button that toggles the skip function. Is there a value I can refer to in titleformatting that tells me weather the skip function is on or not?

Just add a button to your toolbar, right-click the toolbar and select "customize buttons..." browse for the command "skip tracks & use bookmarks" under [main]>playback>skip tracks & use bookmarks

That's fine, I understand the same command enables or disables the component, but I would like the command button to show different icons according to the component status: a brighter one when the skip function is enabled and a darker one when it is not. I'm using the $imagebutton function of the panel stack splitter (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)), therefore I need a value I can use in an if statement that tells me whether the component is enabled or not, just like I have for the shuffle and repeat mode command buttons.


EDIT:
Actually I just realised that the playing order status is a specific panel stack splitter reference, so I guess what I'm asking for is not possible.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Lee James on 2016-10-01 23:01:30
Hello, I have a problem, if anyone could please help?

This plugin used to work fine for me a few years ago. Right now I've just installed the latest version (1.9.8 ) and I can't get it to skip anything.

If I simply enter "1" in the skip track query, it works, skipping everything. But if I enter anything more complicated, it doesn't skip anything at all. For example:

$if(%skip%,1,1)
or
$ifgreater(60,50,1,1)
or
$ifgreater($rand(100),1,1,0)

None of these results in anything being skipped at all. I wonder why?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2003 on 2016-10-02 00:47:41
It takes query syntax so you need to do something like

Code: [Select]
"$ifgreater(%something%,10,1,0)" IS 1
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Lee James on 2016-10-02 12:44:26
Wonderful! :) Thank you once again Marc2003 (I recall you've helped me in the past) :)
 
I get it now: Foo Skip will skip the song if the query result is true. I was thinking it skipped if the query returned a value of 1.

I feel that perhaps the documentation (http://www.foobar2000.org/components/view/foo_skip) could make this "must be true" a little more clear, perhaps with a couple of examples, for the sake of dummies like me? It didn't help that when I installed the plugin, the query box was blank, possibly because I was upgrading from a very old version.

To make things even more confusing for me, when I looked through this thread to find examples of queries, They were all like this:
$ifgreater($rand(100),%skip%,1,0).

I guess everyone just missed out the "IS 1" in this thread because it's obvious when you know it should be there. :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Lee James on 2016-10-03 10:36:40
I just want to thank Case for his help in the past. Looking back through this thread, I can see that 4 years ago I asked for a way of using random numbers to allow higher rated songs to be more likely to play. 3 months after that (by which time I had given up and stopped checking the thread) Case very kindly added the $rand() function and provided the exact code I need, which I am so happy with, thank you! :)
Actually the probability skipping is possible since January (http://www.hydrogenaudio.org/forums/index.php?showtopic=99068).
Note that with foo_playcount component you can't have rating 0 so this example skip query uses $meta check with it:
("$meta(rating)" IS 0 AND "$mod($rand(),100)" GREATER 1) OR (%rating% IS 1 AND "$mod($rand(),100)" GREATER 24) OR (%rating% IS 2 AND "$mod($rand(),100)" GREATER 49) OR (%rating% IS 3 AND "$mod($rand(),100)" GREATER 74)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Thor on 2016-11-04 14:59:53
Hello Case,
I have a question regarding the effect of your component on replaygain scanning; If I add a SKIP tag to a file to skip the beginning of a track (e.g. <SKIP> = -0:08:00), and then (re)run replaygain scanning on said track, will the "skipped" part of the track then be ignored during scanning?
I think this should be the desired behaviour, but is this what happens?

Best,

Thor
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2016-11-04 17:56:21
The component won't affect ReplayGain results. A postprocess decoder could perhaps cheat the scanner and return silence for unwanted parts but I believe postprocessing is only performed for a certain limited number of formats.
If you think the results are way off because of skipping you could use Converter to write a temporary file and run a scan on that file. Then copy the RG numbers manually over.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Thor on 2016-11-07 09:39:34
OK, thanks for clarifying that Case!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: conglomulation on 2017-01-10 19:37:28
I've been using this component to play excerpts of long classical tracks for my radio show, and I'm really enjoying it thus far. I did come across a bug, however. Whenever I end a track early through <SKIP>, it doesn't affect the "stop after current" playback option; it just goes on to the next track. I did some testing by playing with automatic fade-outs, and it looks like cutting the track off early counts as a manual track change. Maybe there is some way to make foobar recognize it as an automatic track change?

Also, if anyone else is interested, I made a custom column which shows the length of an excerpted track. I'll paste the pattern below. One caveat: the <SKIP> field must have the format -MM:SS;MM:SS- (a start/end time of 00:00 does nothing, I've found).

What I want to do now is have some way of quickly displaying the actual duration of my playlists. I can't really find any obvious way to do this, so if anyone has tips, they'd be greatly appreciated.

Spoiler (click to show/hide)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sho on 2017-08-15 16:33:59
I cannot extract desired track sections using information in the skip tag field anymore.
It used to work fine using foobar converter, where I set up a preset that used DSP "Skip track (for Converter)"

Can someone help please?

Thanks in advance.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2017-08-15 19:42:28
...What I want to do now is have some way of quickly displaying the actual duration of my playlists. I can't really find any obvious way to do this, so if anyone has tips, they'd be greatly appreciated.
You have that feature built-in foobar2000 Playlist Manager.
View > Playlist Manager > right-click on the column bar > Columns > tick the duration item

You can also have playlists duration if you install the highly recommended Playlist Organizer plugin :
http://www.foobar2000.org/components/view/foo_plorg

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2017-08-15 21:08:17
Whenever I end a track early through <SKIP>, it doesn't affect the "stop after current" playback option; it just goes on to the next track.
Somehow I had missed this bug report. I just released a version that respects Stop after current setting when skipping the end. Now the Skip Track component calls Stop function from the core when Stop after current is enabled and end skip position is reached. It behaves a bit different from regular stopping as cursor doesn't advance to the next track. Hopefully it's not too big of an issue.

I cannot extract desired track sections using information in the skip tag field anymore.
It used to work fine using foobar converter, where I set up a preset that used DSP "Skip track (for Converter)"
I just tested the functionality and saw no issues. Is your SKIP tag syntax correct? The component isn't very forgiving for syntax errors.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sho on 2017-08-15 22:04:14
I cannot extract desired track sections using information in the skip tag field anymore.
It used to work fine using foobar converter, where I set up a preset that used DSP "Skip track (for Converter)"
I just tested the functionality and saw no issues. Is your SKIP tag syntax correct? The component isn't very forgiving for syntax errors.

Thanks for the response.

SKIP function itself works, which means that the syntax is correct. For example I have "-0:45;0:55-" set as SKIP tag value for a track and if i play it with skip turned on, it will play exactly 0:45-0:55, but if i try to convert the track using a preset with DSP "Skip track (for Converter)", it doesn't generate a file that normally should be a 10 seconds long extracted section from the original track I did the conversion on.

Strangely, converter says it has been done successfully, but the new file has not been generated. Here is what console reported:

Code: [Select]
CLI encoder: lame.exe
Destination file: D:\Music\test.mp3
Track converted successfully.
could not enumerate tracks (Object not found) on:
D:\Music\test.mp3

I tried converter with other presets (conversion to mp3, wav) and it works fine. A converted file is generated etc.

Seems like the problem occurs only if I use  a preset with DSP "Skip track (for Converter)". It worked fine last time i tried it 2,5 months ago... Hope we can solve his. This function used to be my life saver.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2017-08-15 22:32:43
Check your skip string query syntax. It sounds like the track is marked to be entirely skipped and so you don't get any output.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sho on 2017-08-16 19:01:10
Check your skip string query syntax. It sounds like the track is marked to be entirely skipped and so you don't get any output.
It worked out!
I actually modified actual skip string query syntax a few days ago in order to skip tracks with date after 2005 and the track that I tried to convert is from 2017, so it wasn't converted, although skip function (playback) was turned off. Good to know that it works like that.

Many thanks for your help!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2017-09-13 22:07:25
Howdy...

Is there any way in foobar, to make all songs I have in playlist get "SKIP" metadata, and also all future songs I Add to my playlist to also get the tag "SKIP" without manually adding them one at the time ?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Coreda on 2017-09-14 03:32:27
Howdy...

Is there any way in foobar, to make all songs I have in playlist get "SKIP" metadata, and also all future songs I Add to my playlist to also get the tag "SKIP" without manually adding them one at the time ?

Not sure if it fulfills your needs but I was after something similar last year and marc2003 was gracious enough to make a WSH/JScript Panel script (https://hydrogenaud.io/index.php/topic,30361.msg914581.html#msg914581) for it. They also made an updated version (https://hydrogenaud.io/index.php/topic,110516.msg938641.html#msg938641) which supports CUE sheets.

What the script does is check for a playlist named 'Skip' and any tracks within it will be skipped from general playback, without the need to add any metadata to the files themselves.

To use it you'll first need JScript Panel (https://github.com/19379/foo-jscript-panel/releases) and then enter the fb2k layout editing mode and add a JScript Panel panel, right-click it>Configure, then paste in the script and save. If you add a panel splitter first you can drag it until the panel is essentially hidden, which is what I do.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2017-09-14 08:40:28
No, sorry this is not what Im looking for. I do not want to skip any tracks on my playlist

I use "Skip" in combo with "you-tube" plugin, and a lot of songs have "intros / outros" so I use skip to jump past the "none music" part of songs.
Now I just want a way to add the tag "SKIP" to all thousands of songs I have in some way without forcing me to add it manually to all thousand songs.
ofc maybe 20% of the songs already have the tag, so do not want to remove there SKIP tag.

But just any way to make the program simply have that extra field always there without forced to "create new metadata"
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2017-12-17 09:55:45
@Wolfbane : Preferences -> Advanced -> Display -> Properties Dialog -> Standard fields -> append there at the end something like:
Code: [Select]
;Skip indicator=SKIP
Semicolon is just parsing symbol, to separate it from last field name that is there. "Skip indicator" is name of your personal choice. SKIP is an unchangeable name of the tag. I think this is exactly what you need. In this way you can add or remove any field to/from Properties window, fitting it exactly to your needs. Personally my beloved foobar option :)
What it gives you in this particular case (or anyone else who may read it in future)? You can very easily add SKIP information to any track that is already present in your library or will be added in future. You can even selectively choose several tracks on any active playlist (or all of them at once), invoke their "Properties" window and easily add some information there, into SKIP field. I am also doing it in other way. I got my own "Keywords" tag, where I add various non essential but potentially useful informations (artists ANVs - like EBTG for Everything But The Girl, mood, informations about game that track comes from, some specific title / artist name distortion that I usually struggle with, some other kinds of associations that I keep in mind for certain track). I also sometime add there just a word "skip". And I configured my foo_skip plugin to skip tracks which contain word "skip" in KEYWORDS field ($meta(KEYWORDS) HAS skip).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2017-12-17 09:59:38
@Case : I have feature request. Can we have upgraded skipping resolution to sub-second fractions? Like 0,01 sec. or to CD frames (1/75 sec.)? Or is it technically impossible?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2017-12-17 10:42:38
That actually already works. I just didn't write it in the documentation. Everything after a dot in the timestamp is for fractions of a second. For example skip string -0.0000226;1.999977- used with exactly two seconds long 44100 Hz file will cut the first and the last samples away. I noticed some overflow happening with too much accuracy though. I initially tried more accurate number for the last sample (1.9999773242630385487528344671202) and it made the cutting happen at a wrong position. So don't go crazy on the decimals.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2017-12-17 11:05:58
Heh, the US/EU problem with dot and a colon. I tried a colon, so I thought it doesn't work. But I should use dot instead :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Ryrynz on 2018-06-17 00:31:09
Could you add some functionality to this? It's very much in line with the functionality you already have, I'd like to have this play for a user defined period seconds and then skip forward a set percentage or time of the track, play another x seconds and do this until finished then the same with the next track until the playlist is finished. I'd like this to be a right click option ideally, as I wouldn't want this as the default play method. This way I can get a good sampling of a range of songs in a short period of time, thanks.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-06-17 12:23:42
That is beyond the functionality I want for the component. I believe you can achieve the behavior with foo_seek (https://hydrogenaud.io/index.php/topic,88654.0.html).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2018-07-14 15:10:44
Im not sure if the plugin is broken or foobar version Im using is not compatible. But it does not seem to work anymore.

Using "foobar2000 v1.4 beta 20" and "YouTube Source 2.3.2"

Not working is the info below, that used to work.
SKIP -00:00:33;00:20:00-

Here is a screenshot of the plugins and the properties of the file, if u need to check if I did something wrong.
http://prntscr.com/k6ed21


And one more question...
I tried to display/add "Columns" "SKIP" to try and display what songs have the settings enabled on them.
But seems to display blank on all. Any clue what I did wrong on that part?
http://prntscr.com/k6efc3
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-07-14 17:48:21
There are no generic compatibility problems between foo_skip and the latest foobar2000 version. Only thing one could count as incompatibility is the lack of support for reading metadata from tag fields marked as spam in LargeFieldsConfig.txt. If you were to add "fieldSpam=skip" to the said config file, the component would see the field as containing nothing else than a dot.

I can't replicate the problem you describe. I added https://www.youtube.com/watch?v=brKTa-k2dJ8 to the playlist with foo_youtube and added SKIP tag -00:00:33;00:02:00-. Double clicking the track starts playback from 33 second marker. The track is shorter than 20 minutes so I altered the end skip to two minutes instead. At around that time the playback jumps to the next track.

I also don't know why the field's contents aren't visible for you on the playlist. I tested that too and there are no problems seeing the metadata from foo_youtube entry.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2018-07-14 19:51:20
Tried/showed everything I could be in a short video, recorded it and uploaded to YouTube.

https://www.youtube.com/watch?v=9WNPZfQw-F8&feature=youtu.be

Can you see anything that is causing the problem?
Is there anything missing in the video that could help find the cause of my problem ?
(Running Windows 7, 64bit if that matters)

btw, I have no clue on how to do what you said reguarding ==>       "fieldSpam=skip"

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-07-14 22:37:17
There seems to be something wrong with the video or its link. It only says "This video is unavailable".

You don't need to worry about the fieldSpam stuff. It's not related to this issue.

Care to try making a portable install of foobar2000 to a temporary location where you install just foo_skip and foo_youtube and test if that works?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2018-07-14 23:01:29
Bah, had set the video to "Private" now its just unlisted so hopefully, u can see it.
( It did get flagged beause of music in video, but I hope u still can see it.)

but sure, Ill do a new install and see if it works.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-07-15 08:27:50
The video works now.

Perhaps there are two different problems. One is that you have turned track skipping off and another is misconfigured SKIP column.

To check that theory take a look at Playback menu. There should be a checkmark next to "Skip tracks & use bookmarks" entry for Skip Track to be active. If it's toggled off, it doesn't do its thing.

SKIP column's titleformatting should be just "%SKIP%" or "[%SKIP%]".

Btw, you can add a new tag field faster by just double clicking an empty space below the other fields. No need to use the Tools menu.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2018-07-15 21:23:47
The video works now.

Perhaps there are two different problems. One is that you have turned track skipping off and another is misconfigured SKIP column.

To check that theory take a look at Playback menu. There should be a checkmark next to "Skip tracks & use bookmarks" entry for Skip Track to be active. If it's toggled off, it doesn't do its thing.

SKIP column's titleformatting should be just "%SKIP%" or "[%SKIP%]".

Btw, you can add a new tag field faster by just double clicking an empty space below the other fields. No need to use the Tools menu.

"Skip tracks & use bookmarks"
Yes, worked, I have no freaking clue how that got disabled, but thx for the help.

And reguarding [%SKIP%]
Yes that also worked, no real experince with Foobar, so a bit of noob how things work, thx for help.
Even if I dint find any "titleformatting" the field was called "Pattern" where I entered the [%SKIP%] ==> http://prntscr.com/k6s1ay

Sidequestion, how does one change allienment on other fields that are already there by default, like "Duration" whant it to be centered instead of "Left" Cant seem to find it.

THx once again for all the help.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-07-16 10:09:07
You can't alter the built-in columns. You need to create a new custom one with the functionality you wish.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: woolybully on 2018-09-03 00:39:27
So I got this plugin working, but the problem is that whenever it skips a track, it crashes my "Now Playing" WSH panel mod (it displays the now playing artist/title/album and other info in big font and animates it a bit). I got the script for the panel from someone else and don't know the source, can someone suggest an alternative way to display a "now playing" panel, or tell me how to fix the script so it doesn't crash?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2018-12-24 06:21:50
Can anyone verify if this works or not: playlist based skipping used to work in earlier foo_skip versions pre FB1.4 but not anymore. Skip queries such as
Code: [Select]
%playlist_name% IS Rock Music AND %rating% PRESENT
don't work anymore.

Using foo_skip 1.9.10 on FB 1.4
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2018-12-24 09:23:18
Works here. Make sure you haven't accidentally turned off the component from Playback menu.
Btw, is there some reason you are on foobar2000 v1.4 and haven't updated to 1.4.1?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2018-12-24 11:06:54
Ok, it seems it wasn't activated. That's what you get for not using a component for a while. Thanks.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Demonspeak on 2019-01-07 17:26:19
This doesn't seem to be working after its newest update. I can no longer skip part of a track using:

<SKIP> 0:00:00-0:01:25

The entire track just plays instead now. I even tried updating to 1.4.1. Anyone else having issues?

Note that originally I was using the syntax:

<SKIP> -9:07;13:44-

but I have tried other variations because that has stopped working and I can't get anything to work.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-01-07 17:56:51
I'll refer you to my previous reply (https://hydrogenaud.io/index.php/topic,30361.msg966465.html#msg966465).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2019-04-12 08:16:20
the Skip Track continues to be located here (see picture) even when you remove it from here.
Is this how it should be? please take a look.

I figured it out.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2019-04-13 13:06:46
A small suggestion, is it possible for the component to make optionally available the ability to retrieve last import date? Since I'm manually retrieving the last.fm data via importing having the last imported date stamp available would be handy to see which of my files need updating.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2019-04-13 21:19:13
Ignore previous comment, I'm an idiot, clearly I was posting in the wrong thread.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-11 17:09:52
Hey Case,

A question and feature request for your consideration.

Earlier in the thread it was mentioned Skip Tracks should be last in the DSP chain. However if I put it last, the default Crossfader DSP stops working (as if it were not present) - is this expected behavior? While if I put it before Crossfader, they both work, but a track playing before a skipped track, seems to get the end cut off early - I guess by half the fade amount.(?)

(I tested both scenarios with a fresh portable fb 1.4.6 and only foo_skip 1.9.10 installed, with only Skip and Crossfader DSPs, but has been happening a while, fb 1.4.2 at least)

On to feature requests. 1) I use a column in the playlist to indicate the skip status of each track, with title formatting replicating the skip query. Occasionally though I turn off the skipping with a toolbar button. Would it be possible to have a global variable %skip_enabled% that is readable by the playlist? Then I could wrap the column pattern in $if(%skip_enabled%,...) to get immediate visual feedback of skip status when I toggle it.

2) For my skip query I typically include: %last_played% DURING LAST 5 DAYS. (This is because foobar reshuffles playlists every restart, and I find it often repeats tracks I heard yesterday, even with large 200+ playlists on shuffle). This eventually results in all tracks being endlessly skipped, if I'm away from the computer. Would it be possible to have a preferences option 'Stop playback after repeated skips'? - I'm not sure how viable it would be, but maybe the component can note the first track to be skipped per session of playback, and stop when it reoccurs.(?)

Well, in the tradition of Led Zep I've rambled on a bit, thanks for listening and for your work on these components 8)

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-13 10:39:22
[...] Crossfader DSP stops working [...] - is this expected behavior?
I don't remember all the old reasons for the recommendation about the DSP order but the way the skipping is implemented is expected to break many fancy features.

I created a new prototype version of the component that works as a decoder and won't need DSPs and won't break crossfader. I'm not sure I can get all the features of the current version implemented there but we'll see.

Would it be possible to have a global variable %skip_enabled% that is readable by the playlist?
Doing that would require forcing refresh of every track foobar2000 sees when the setting is toggled. Also SDK documentation forbids such fields: "If you can't reliably notify other components about changes of content of fields that you provide (such as when your fields provide some kind of global information and not information specific to item identified by passed metadb_handle), you should not be providing those fields in first place."

Would it be possible to have a preferences option 'Stop playback after repeated skips'? - I'm not sure how viable it would be, but maybe the component can note the first track to be skipped per session of playback, and stop when it reoccurs.(?)
Sounds reasonable.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-13 23:05:54
Here's a version that appears to work well enough to give you for a test.

There's a new option to stop playback when running into the first skipped track of the session for the second time. And skipping features will no longer interfere with DSPs. The partial track skips done with SKIP tag now alter the visible track length.

The "Skip even manually selected tracks" option has no effect. Adding support for that will require some hacks with this method and I haven't yet looked into if it can be detected reliably.

For the component to work "Skip Track" decoder should be on top of the Preferences -> Playback -> Decoding listing. It goes there by default on install but if new inputs are installed they will generally go on top.

Edit: removed the old build.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-14 19:57:38
Hi Case! Thanks for the update! 8)

The decoder method seems way faster at the actual skipping. The DSPs work perfectly, Crossfader actually fading to the next playable track as if the skipped one in between was not even there. Fantastic.

"Stop after repeated tracks" mostly worked as intended, as long as the playlist had a playable track. On a new playlist with only to-be-skipped tracks (which would not be a common situation), it went on an endless loop, and so fast not even the stop button worked(!) - I had to end task in Task Manager. (Edit: Skip was on %last_played% DURING LAST 5 DAYS)

Secondly, I'm not sure it was entirely "per session of playback" either. On a repeat playlist: 1-2-3 with 2 being skipped and stopping on 3. First time through it continues playing 3, repeats and stops on 3 the second time as intended. If pushing stop during 3 instead and double-clicking 1 again (which should be a new session?), it stops on 3 the first time. (Edit: Skip was on %rating% IS 1)

Re: "Skip even manually selected tracks" having no effect... So I guess that meant, double-clicking a to-be-skipped track, or adding to queue, was skipped regardless. Oh no. Hopefully you can get that working somehow - I always had that option off and prefer it that way. (It makes sense too, if I'm selecting a track to play, I want it to play).

Lastly, with a SKIP tag of 0:00:00-0:01:25, it seems %playback_time_remaining% was not effected (countdown was -4:55 / 3:30).

Nice work for a prototype though! Cheers :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-14 20:19:50
"Stop after repeated tracks" [...] went on an endless loop, and so fast not even the stop button worked(!) - I had to end task in Task Manager.
Thanks for the warning. I'll add prevention against that.

Secondly, I'm not sure it was entirely "per session of playback" either.
I made it reset the session only when the component itself stops the playback. I realize now it should always be reset on stop.

Lastly, with a SKIP tag of 0:00:00-0:01:25, it seems %playback_time_remaining% was not effected (countdown was -4:55 / 3:30).
Sounds like you are seeing information cached by the player. You'll need to reload info. Also currently if you add a SKIP field with foobar the info won't affect length instantly. I could change that by making my decoder take over tagging too and force the updates to core.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-14 21:11:40
Yep, reload info indeed fixed it. :)

I hardly ever use a SKIP field so I'm not sure what would be best. I guess if there is no downside...

What would happen to %length% if Skip Tracks is toggled off? When I do that, it seems I have to reload info each time. (Not a big deal though).

(Incidentally I use m-TAGS which writes DURATION into the .tags files for some unknown reason. It is (now) second in the decoding list, was first previously. I doubt using that makes any difference to anything you are planning?)

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-14 21:50:42
The length changing for SKIP is that way out of necessity. If I call regular seek methods DSP effects will break. But if I return original length %playback_time_remaining% will be off and waveform seekbars will display waveforms of the full track and be off-sync.

Duration field of m-TAGS shouldn't affect Skip Track.

Hopefully skipping stopping issues are fixed. And overriding the skip for manually selected track should now work again. Here's a new beta:

Edit: removed the old build.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-15 00:23:45
Yes, stopping works perfectly now and manual tracks too. None of previous issues.

Queued tracks not quite - add ten to queue, it plays the first queued track, skips the rest.

Thank you, Case, I'm optimist about these improvements! I'll keep testing it out later but for now I should be asleep... ;)

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-16 17:44:56
Here's a new version where everything else but bookmarking should work. I removed the feature entirely as it is incompatible with this decoder approach.
The betas had the full track skipping active everywhere so it affected for example Converter and ReplayGain scanner. Now it's enabled by default only for playback but can be toggled on for Converter.

Edit: removed the old build.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-17 03:28:18
(‒ic. Optimistic)

Hi Case,

So close. :) Now the reverse, all queued tracks play correctly, but double-clicking on one to-be-skipped track skips (the 'Skip even manually selected' option off in preferences to no effect)

^ Related I think, the "playlist on repeat with all to-be-skipped tracks" -scenario needs ending in Task Manager again. I guess because normally double-clicking would play at least one track. Indeed if I queue one track in same playlist, it plays, and then stops after the repeated skips correctly.

Edit: perhaps such a rare situation not worth the effort? For a user to trigger would have to be specific preferences on/off, and no one would make a playlist with no tracks that play; I only discovered it by accident...

One other suggestion which is totally your call but I'll just mention briefly - I think the Playback menu option should just be 'Skip tracks'. The checkbox shows the enabled status, and if toggling it off, selecting an option that says 'Enable' seems strange. And then if not using the component name, of course it would be sentence form to match other menu options. (And match the likes of your useful 'Stop after queue' component / menu option, which by the way I had disabled for testing the above...)

(Nitpicking, I know :D )

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-17 07:59:52
A playlist with all tracks skipped should still have stopped when the "stop after repeats" option is set. And even with it not set the UI shouldn't be allowed to freeze. Unfortunately I can't seem to make skipping go so fast as to freeze the UI so I didn't notice the prevention measures for non-stop case weren't active. The intention was to play silence if the player isn't stopping but the silence was never inserted.

I can't trigger a double-click-not-playing bug. I'll attach a debug version that prints some status info to console. Could you copy paste the console output from the first "Skip Track debug" string where the manual override of skip fails?

I changed the menu name back.

Edit: removed the debug build.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-17 16:05:38
Hey Case,

I bring good news. Before I installed the debug version I found out the problem - it was m-TAGS. Double-clicking a to-be-skipped FLAC track in the playlist directly, it played fine, while same m-TAGS track would skip. So I moved the m-TAGS decoder above Skip Tracks decoder, now everything seems it work perfectly. :)

Installing debug version, I tested the non-stop skipping issue and was able to push stop button during the silence you mentioned, so that works too. In case I was not clear about that, the freeze was not a typical "unresponsive" app that Windows reports, rather none of the menus or buttons would even highlight in blue when mouse-over'd and clicking them did nothing. (foobar though just doing as instructed, skipping every track really fast :D )

Nonetheless the debug results, not revealing much. The only difference between the two tests was the line "Skipping track..." (track #2 set to skip, double-clicking it...)

Playing correctly (m-TAGS decoder on top):
Code: [Select]
Skip Track debug: on_playback_starting
Skip Track debug: g_playing_playlist_name = Ben Harper - Lifeline, g_active_playlist_name = Ben Harper - Lifeline, g_playback_order_name = Repeat (playlist)
Skip Track debug: track_command_settrack
Skip Track debug: new g_playback_order_name = Repeat (playlist)
Opening track for playback: "M:\Music\Ben Harper\Lifeline\Lifeline.tags" / index: 2
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\02 In The Colors.flac [0]
foo_title: Loading album art...
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
Skip Track debug: on_playback_new_track
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\02 In The Colors.flac [0]
Skip Track debug: on_playback_stop
Skip Track debug: stop_reason_user
Skip Track debug: new g_playback_order_name = Repeat (playlist)

And skipping incorrectly (Skip Tracks decoder on top):
Code: [Select]
Skip Track debug: on_playback_starting
Skip Track debug: g_playing_playlist_name = Ben Harper - Lifeline, g_active_playlist_name = Ben Harper - Lifeline, g_playback_order_name = Repeat (playlist)
Skip Track debug: track_command_settrack
Skip Track debug: new g_playback_order_name = Repeat (playlist)
Opening track for playback: "M:\Music\Ben Harper\Lifeline\Lifeline.tags" / index: 2
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\02 In The Colors.flac [0]
Skipping track...
foo_title: Loading album art...
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
Skip Track debug: on_playback_new_track
Opening track for playback: "M:\Music\Ben Harper\Lifeline\Lifeline.tags" / index: 3
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\03 Fool For A Lonesome Train.flac [0]
foo_title: Loading album art...
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\01 Fight Outta You.flac [0]
Skip Track debug: on_playback_new_track
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\02 In The Colors.flac [0]
m-TAGS:: REFERENCED FILE: file://M:\Music\Ben Harper\Lifeline\03 Fool For A Lonesome Train.flac [0]
Skip Track debug: on_playback_stop
Skip Track debug: stop_reason_user
Skip Track debug: new g_playback_order_name = Repeat (playlist)

(Adding to queue works either way. I'm not sure why beta 2 worked with m-TAGS / double-click though...)

Component list, FYI
Spoiler (click to show/hide)

At any rate I'm very happy with this new and improved foo_skip. Thanks, Case. Sorry my request took so much mucking about. :-[

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-17 19:26:03
New build that should fix compatibility with m-TAGS and some issues I found in my testing. I also increased the delay it adds when looping is detected and playback is not set to stop.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-07-19 05:22:10
Hey Case,

Everything working fine with that one. Skip Tracks decoder back on top.

Excellent!

Cheers 8)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-19 17:26:58
Good to hear. The new version is now officially released.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: thisbanisnotsettoexpire on 2019-07-28 18:44:10
SKIP tag handling worked for me in some previous version of foo_skip, but with updating to foo_skip 1.10.2 it stopped working completely (I guess, the main difference would be in moving foo_skip from DSP to Decoding?).

Various bits of information about my foobar2000 installation and its' configuration:
Spoiler (click to show/hide)

Tests were made by adding SKIP external tag with value 0:01:44-0:02:28 to some YouTube URL and then restarting foobar2000 and ensuring that tag value is appeared both in Edit external tags and Properties before playing track
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-28 19:38:13
Unfortunately reading skip info from External Tags is currently not reliable. The component opens a real decoder for handling the track but there's no API to get the decoders in configured order. When the order isn't correct the info it reads doesn't contain the skip data.

But I'm under the impression you don't need External Tags with YouTube component as it does its own tagging.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: thisbanisnotsettoexpire on 2019-07-29 01:04:04
Unfortunately reading skip info from External Tags is currently not reliable. The component opens a real decoder for handling the track but there's no API to get the decoders in configured order. When the order isn't correct the info it reads doesn't contain the skip data.

But I'm under the impression you don't need External Tags with YouTube component as it does its own tagging.
No, External Tags (or analog) is required, or at least I personally am not aware of a way to manually add and permanently store YouTube track's unique SKIP tag on a case-by-case basis using foo_youtube only.

Maybe you've thought about https://fy.3dyd.com/help/metadata/ (https://fy.3dyd.com/help/metadata/)
Quote
Component supports two ways to produce metadata. First one is to map video properties to metadata fields as is. Second one is to parse video title and extract metadata out of it.

...Oh, or, maybe you've meant this (from the same link):
Quote
Metadata can be overridden on URL basis. This can be done by extending video URL with pairs field=value where field is metadata field name prepended with fb2k_ prefix

I did read help earlier and just completely forgot about this feature, because I wanted to keep original URL as-is.

Now I've tried it and fb2k_SKIP value is really seen in track properties as SKIP tag in Metadata tab, but it doesn't lead to real skipping.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-29 19:02:47
There were actually two other issues preventing the new Skip Track from working here:
First obstacle was that the component didn't operate at all for tracks that returned a mime-type as I figured no one would want to use it with streams.

Second problem was that I had prevented operation on all decoders that mark themselves as redirectors. This was done to prevent potential infinite recursion, but currently I think there are no other components doing what I do except Skip Track and External Tags. So just blacklisting Skip Track in External Tags prevents the problem.

A new version with the above restrictions removed is out.

I haven't read any foo_youtube documents. I just open track properties and add or edit the tags as I please and they are stored under foobar's profile in foo_youtube's cache dir.

Edit: Note that External Tags actually has foo_youtube excluded by its custom mime-type. It interfered (https://hydrogenaud.io/index.php/topic,104379.msg972462.html#msg972462) with its operation and it's pointless there when youtube component seems to be able to store any metadata on its own.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: thisbanisnotsettoexpire on 2019-07-29 23:31:19
A new version with the above restrictions removed is out.

I haven't read any foo_youtube documents. I just open track properties and add or edit the tags as I please and they are stored under foobar's profile in foo_youtube's cache dir.
It really does (I didn't notice it) and I also confirm that this works just fine with updated foo_skip, enabling skipping. Thank you.

Edit: Note that External Tags actually has foo_youtube excluded by its custom mime-type. It interfered (https://hydrogenaud.io/index.php/topic,104379.msg972462.html#msg972462) with its operation and it's pointless there when youtube component seems to be able to store any metadata on its own.
Though, this is literally a metadata "cache", which is, like, not permanent storage. foo_youtube's preferences allow to set its' capacity to unlimited (in practical sense, to make it permanent), but it's itchy for me: this cache is used also for metadata of search results (which I prefer to be cleaned periodically, so I'll have to make it manually), it's all stored in flat scheme in one directory (with 50 results on search page it will grow relatively fast also in file count), files are automatically named after URL.

I have no local music files and I am using foo_youtube exclusively. foo_external_tags was a solution for permanent correcting of Artist Name and Track Title along with storing ReplayGain info for "favorite" URLs. I especially liked the option of storing all external tags in one file (in SQLite database).

Given that (as I understand) there are inherent limitations preventing using SKIP tag from foo_external_tags, I have no further relevant requests. However, I'll use explicitly saved metadata in form of m-TAGS files instead of foo_youtube's metadata cache: SKIP tag in m-TAGS file is also recognized by foo_skip, but, additionally, m-TAGS files are explicitly named and placed, they are recognized by Media Library and Waveform Minibar (mod) doesn't recognize them as remote tracks therefore saving waveforms permanently (like I want).



Should two or more intervals work? Like 0:00:04-0:00:15;0:00:19-0:00:25. It doesn't work for me, and I have a track where I'd like to use it.



I think I have a bug report (for foo_skip v1.10.3), though issue is unusual enough to think I just did something wrong, but it was reproduced on three different foo_youtube's tracks.

0:00:04-0:00:10 works, but 0:00:05-0:00:10 stops playing after 5 seconds and jumps to next playlist entry. Incidentally, Waveform Minibar (mod) also abruptly stops visual scanning at (what looks like) 5 seconds mark.

But if in these 5 seconds I click on Waveform Minibar (mod) panel to beginning of track (before 5 seconds), playing will continue work with skipping, however, waveform scanning will still be (visually) stopped.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-07-30 06:30:59
Given that (as I understand) there are inherent limitations preventing using SKIP tag from foo_external_tags, I have no further relevant requests. However, I'll use explicitly saved metadata in form of m-TAGS files instead of foo_youtube's metadata cache: SKIP tag in m-TAGS file is also recognized by foo_skip, but, additionally, m-TAGS files are explicitly named and placed, they are recognized by Media Library and Waveform Minibar (mod) doesn't recognize them as remote tracks therefore saving waveforms permanently (like I want).
Sounds like a good solution. I may get a new API for External Tags so it could do its thing without being a decoder. If that happens it shouldn't interfere with any advanced trickery done in other inputs.

Should two or more intervals work? Like 0:00:04-0:00:15;0:00:19-0:00:25. It doesn't work for me, and I have a track where I'd like to use it.
This has been requested but so far not implemented. I have liked the simplicity of just dealing with simple 'skip from' and 'skip to' timestamps.

I think I have a bug report (for foo_skip v1.10.3), [...] 0:00:05-0:00:10 stops playing after 5 seconds and jumps to next playlist entry.
It seems two timestamps isn't simple enough not to get bugged. I'll take a look and rethink adding support for more skip positions.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-08-07 19:31:57
New beta version (https://foobar.hyv.fi/?view=foo_skip) out with support for new API introduced in foobar2000 v1.5 beta 8 (http://www.foobar2000.org/download).

The component appears as a DSP on the new foobar2000 version and should be at the top of the DSP chain. The new features allow it to perform partial skipping without altering track lengths and all skip operations work without breaking other DSP effects, like crossfade.

Another new feature is added support for unlimited number of skip ranges.

Released as a beta as compatibility with older foobar2000 versions is half finished. For optimal operation the new foobar2000 version is required.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: thisbanisnotsettoexpire on 2019-08-07 21:35:39
The component appears as a DSP on the new foobar2000 version and should be at the top of the DSP chain. [...]

Another new feature is added support for unlimited number of skip ranges.
Just chiming in to confirm that it works. Thank you very much for your attention to feature requests and for productive useful work.

Edit: Using foobar2000 v1.5 beta 9, foo_skip v 1.15 beta 1, foo_youtube v3.1.1 and foo_ui_columns v1.2.0-beta.1, I noticed that with (for example) 0:00:05-0:00:10 value of SKIP tag for YouTube track (played with foo_youtube), %playback_time% value (shown in Columns UI status bar) is changing like 00:01, 00:02, 00:03, 00:09, 00:10 etc., but at the same time it looks like actual skipping is done as requested, without any errors. Is it a bug or an unintended feature?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2019-08-08 02:04:45
I just tested foo_skip 1.15beta1 with foobar2000 1.5 beta 9.
So, I have a question; what does it mean when it says the following in the console:
Using decoder shim instead of DSP: Skip Track

I have enabled foo_skip in my DSP chain.

Thanks in advance.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-08-08 07:39:10
Edit: Using foobar2000 v1.5 beta 9, foo_skip v 1.15 beta 1, foo_youtube v3.1.1 and foo_ui_columns v1.2.0-beta.1, I noticed that with (for example) 0:00:05-0:00:10 value of SKIP tag for YouTube track (played with foo_youtube), %playback_time% value (shown in Columns UI status bar) is changing like 00:01, 00:02, 00:03, 00:09, 00:10 etc., but at the same time it looks like actual skipping is done as requested, without any errors. Is it a bug or an unintended feature?
Looks like a bug. Affects local files too and not just streams. Will have to ask Peter if I do something wrong or if it's the core.

I just tested foo_skip 1.15beta1 with foobar2000 1.5 beta 9.
So, I have a question; what does it mean when it says the following in the console:
Using decoder shim instead of DSP: Skip Track
The new API allows manipulating decoders. Under the hood it takes over the real decoder like the previous 1.10 series but this time without hacks. It was decided to use DSP config for this instead of making a separate Shims page for simplicity. After all having control of decoder and its output allows being a supercharged DSP.

The component also has an actual DSP that can be used for example in Converter. It just can't do the job as efficiently. The decoder can skip a track by just returning false from decode function and it can do partial skipping by actually seeking past the skipped parts. The DSP has to fully decode the track and remove everything that gets skipped.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-08-14 21:21:01
The time display with partial skipping is fixed in the new foobar beta.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-08-20 15:41:30
Hi Case,

I only now got around to testing foo_skip 1.15 beta 1 with foobar 1.5 beta 10 (I'm not using betas on my main install). And as before using m-TAGs 1.2 and Playback Statistics 3.0.3.

With skip query: %last_played% DURING LAST 5 DAYS

It seems with 'Skip even manually selected tracks' off (the default), it always skips them regardless, whether double-clicked or added to queue. Same for both media files and m-TAG files. Hopefully you can get previous behavior working.

I also have another request, this also affected foo_skip 1.10.x When using a skip query like the above where the skip status changes mid track (after one minute when foo_playcount marks the track as played), if trying to do anything that makes foobar resume the track after that minute - changing the output device, changing ReplayGain mode, editing tags - it causes the rest of the track to skip. Meanwhile doing those things during the first minute is safe, there is a brief pause and the track resumes. Any chance you can prevent skipping in this case?

Thanks for your work as always :)

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-08-20 18:46:43
I seemed to have accidentally removed the force-play override check when I did some code cleaning. That issue is fixed. And I prevented playback reinitialization from skipping a track that is already playing.

Download 1.15 beta 2 (https://foobar.hyv.fi/?view=foo_skip). I'm still undecided about what to do with the foobar2000 v1.4 compatibility mode. Should there be a separate version for 1.4 without a DSP part confusing users? Or should I change it to use a DSP too so it works approximately like it does on 1.5? Or should it be left like it is?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2019-08-20 22:05:28
That works now, cheers. 8)

Hard to say, I'm not sure how much effort or workarounds would be involved to make "one foo_skip to rule them all", or whether that is the intended option even. I think it would be okay to leave it like it is really - one requiring foobar 1.4, another for 1.5. Although, does the component repository distinguish the correct version for the installed foobar? - say if the user is on foobar 1.4 series, the "get updates" button would not suggest a 1.5 required component?

I doubt DSP or no DSP would be that confusing to anyone, but who knows. And if the DSP is added automatically even better, the user does not have to do anything. (Which, should it be added when 'Playback > Skip tracks' is checked?)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2019-08-25 02:16:48
foo_skip v1.15 does not work with flac + cue on my foobar2000 v1.4.6 install, see the error messages below.
no problems with foo_skip v1.15 when using foobar2000 v1.5 b11

I'll revert to foo_skip v 1.10.3 for now, if I can find it again...

Code: [Select]
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 13
Skipping track...
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 13
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 12
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 12
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 9
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 9
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 14
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 14
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 2
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 2
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 11
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 11
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 1
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 1
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 4
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 4
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 15
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 15
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 3
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 3
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 8
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 8
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 5
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 5
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 7
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 7
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 10
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 10
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 6
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 6
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 13
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 13
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 12
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 12
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 9
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 9
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 14
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 14
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 2
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 2
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 11
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 11
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 1
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 1
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 4
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 4
Opening track for playback: "H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 15
Skipping track...
Skip Track delaying skipping after a repeat skip
Unable to open item for playback (Object is not seekable):
"H:\MP3\_CD-Backup\Blur - 1995 - The Great Escape [7243 8 35235 2 8]\Blur - The Great Escape.cue" / index: 15
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-08-25 06:48:45
Attached is the version 1.10.3. The changes in 1.15 shouldn't have made it work worse than 1.10.3 as I removed input flags that are buggy in 1.4 series.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2019-08-25 10:42:46
Attached is the version 1.10.3. The changes in 1.15 shouldn't have made it work worse than 1.10.3 as I removed input flags that are buggy in 1.4 series.

Thank you for posting v1.10.3 for me. Most appreciated .)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2019-10-03 01:07:05
Hello, dear Case!
I pray! Please add bookmarking support back. It was the best bookmarking feature to listen audiobooks and manage their bookmarks. It provided the following benefits:
 1. auto resume audio book playing at last stopped timestamp. Although it could be not just audiobook.
 2. you could see a list of all bookmarked files by typing  "%bookmark% PRESENT" in filter area.
 3. you could add appropriate column (with %bookmark% tag) to Playlist view to see bookmark listing.
 4. etc.
I'm sure, a certain amount of people who using your plugin FOR YEARS would be happy to get familiar feature back!
TYA
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: JoeBar on 2019-10-03 12:04:50
Hi Case, how can i skip a track which path contains a "word" in it. I don't want files contained in some folders and their subfolders to be read.

I tried "%path% HAS word" and it doesn't work.

I think foo_skip sees the path as a "plain" text and cannot read my word in it.

Thanks in advance.

Edit : I found a way : %path% HAS MyPath for Folders and SubFolders
                         
but

                                %path% IS MyPath doesn't work for just Folders without SubFolders
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-10-03 12:32:39
Please add bookmarking support back.
Alright, now with foobar2000 v1.5 changes implementing it won't break anything.

Hi Case, how can i skip a track which path contains a "word" in it. I don't want files contained in some folders and their subfolders to be read.

I tried "%path% HAS word" and it doesn't work.
Your method is exactly correct assuming you didn't actually use the double quotes around the string. But if the word has spaces in it you should have quotes around it. Note that by default manually selecting a track will override the skip string so if you double click a track in the playlist it will be played.

If you enabled the "Skip even manually selected tracks" or allowed playback to advance to the to-be-skipped track and it still wasn't skipped, make sure the component isn't disabled. There should be a checkmark next to 'Playback' -> 'Skip tracks' main menu entry.

If it still doesn't work please paste the path to the file and the skip word.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: JoeBar on 2019-10-03 12:59:23
Please add bookmarking support back.
Alright, now with foobar2000 v1.5 changes implementing it won't break anything.

Hi Case, how can i skip a track which path contains a "word" in it. I don't want files contained in some folders and their subfolders to be read.

I tried "%path% HAS word" and it doesn't work.
Your method is exactly correct assuming you didn't actually use the double quotes around the string. But if the word has spaces in it you should have quotes around it. Note that by default manually selecting a track will override the skip string so if you double click a track in the playlist it will be played.

If you enabled the "Skip even manually selected tracks" or allowed playback to advance to the to-be-skipped track and it still wasn't skipped, make sure the component isn't disabled. There should be a checkmark next to 'Playback' -> 'Skip tracks' main menu entry.

If it still doesn't work please paste the path to the file and the skip word.
I edited my comment above, so i have it working for a Folder and SubFolders, but i cannot make it for just a folder with the Keyword "IS" like %path% IS MyPath or %path% IS "MyPath\%filename_ext%" (with or without quotes)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2019-10-03 13:24:11
Use HAS %path%, not IS %path%.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-10-03 13:50:38
As jazzthieve suggested. Or you can try %directoryname% IS MyPath. %directoryname% contains only the last directory of the path. %path% contains everything including drive letter.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2019-10-04 19:12:54
@palash, new version is out with bookmarking support redone. Remember that it requires using the latest foobar2000 v1.5 beta (http://www.foobar2000.org/download).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-02-10 06:32:14
Hey Case,

Some funny stuff around %skip% tags (note: using M-Tags, actual media files are not tagged) ...

Query: %skip% PRESENT
%skip% tag = Y
 - No skip.

Query: %skip% PRESENT
-or-
Query: %skip% IS 1
%skip% tag = 1
 - Always skipped (manual selection / double-click does not override like it does other fields).

I know the %skip% tag is supposed to be used for timecodes, but I was hoping to and have been using it as a skip on/off toggle, which does work (perhaps inadvertently when value is 1), only cannot override it without removing the tag. Could that please be possible?

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-02-10 17:43:12
I couldn't verify the first behavior using External Tags. But having 1 in %SKIP% tag was interpreted as a skip after one second. I released a new version that doesn't use %SKIP% tag for partial skipping at all if it's present in the skip query. That should allow your usage to work without problems.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-02-11 17:22:38
Thanks that does work for me... I'm not currently using timecodes anywhere.

(I'm conflicted about that change though, I hope no one else's previous usage is affected... someone using both timecodes and %skip% query across different tracks)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2020-02-24 17:09:02
In version 1.17, when I click "skip tracks & use bookmarks" to enable foo_skip, it automatically make a bookmark.
Is this the intended behavior?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-02-24 17:27:36
It was definitely not intented behavior, thanks for notifying. Fixed version uploaded.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TuNk77 on 2020-02-24 21:46:28
It was definitely not intented behavior, thanks for notifying. Fixed version uploaded.
Thank you very much for the fast fix :D
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2020-03-03 18:26:01
It seems the component does not skip ftp:// playlist items.
For example, these AHX files (to add them to playlist use "Add location...") and test for "Skip track query: %rating% LESS 1":
Code: [Select]
ftp://ftp.modland.com/pub/favourites/AHX/Daiz'l/zero impression f.ahx
ftp://ftp.modland.com/pub/favourites/AHX/Gavin Lucas/forbidden colours2.1.ahx
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2020-03-04 04:39:13
^This component behavior is decoder dependent.
So the foo_input_zxtune (https://www.foobar2000.org/components/view/foo_input_zxtune) decoder does not skip ftp:// tracks, and foo_input_hvl (https://www.foobar2000.org/components/view/foo_input_hvl) skips properly.
And it seems that depends on processing the ftp:// file properties. Both decoders do this differently.
After playing and loading ftp:// file information using foo_input_hvl, then foo_input_zxtune will also skips tracks properly.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-04 16:08:17
I couldn't replicate that problem. Using the skip string you provided skipped these tracks as they don't have rating present. But when I tried more complex scenario I noticed that External Tags doesn't work correctly with foo_input_zxtune, at least with those urls. I don't know how it can evade the meta info filters.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kode54 on 2020-03-05 06:10:51
It’s a mystery black box, so only the author knows for sure.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: evndude on 2020-03-10 20:52:17
Thanks for the awesome plugin! It's been awhile since I've updated and I love the new changes/fixes.

I think I found a small problem though. When using %playback_order% in the skip query, the "Shuffle" options don't work if the word is capitalized. Using "Random" with a capital R still works though.

My old skip track query is:

Code: [Select]
(%playback_order% IS random OR %playback_order% IS "Shuffle (tracks)") AND (%rating% IS 1 OR %rating% IS 2)

Changing the capital S to lowercase s fixes the problem though:

Code: [Select]
(%playback_order% IS random OR %playback_order% IS "shuffle (tracks)") AND (%rating% IS 1 OR %rating% IS 2)

A minor issue but I thought you'd like to know. Thanks again!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-14 08:31:33
Thanks for the comments. The capitalization issue is now fixed.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: JWolf on 2020-03-23 15:00:57
How do I set a bookmark with this plugin? Thanks.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-23 15:54:10
There's a menu entry "Bookmark current position" under the Playback main menu. It's only visible if you are actually playing something. Using that command will bookmark the playing track at the current playback position.

The preferences page offers another option. When the setting "Automatically bookmark tracks that are in media library" is enabled the component will automatically bookmark tracks if you stop playback in the middle of a track.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2020-03-23 20:57:10
Hello, dear Case!
I'd like to propose one feature. Now preferences has checkbox "Automatically bookmark tracks that are in media library". It means auto bookmarking either all tracks or none. My point is to auto bookmark only some tracks by some criteria. For myself, for example, it would be "%genre% HAS Audiobook", also it could be Track duration or something. As I see it is really cosy feature.
What do you think about?
And thank you in advance!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-24 07:45:59
Decent idea. Added in version 1.21 (http://www.foobar2000.org/components/view/foo_skip).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2020-03-24 11:26:21
Decent idea. Added in version 1.21 (http://www.foobar2000.org/components/view/foo_skip).
You are the man! Fantastic responsiveness! I've just updated and prima facie works fine.
1) And 10 seconds postponement is also for good (and it could be not just 10 sec from file start, but also 10 sec for file browsing).

2) If you don't mind I have one more idea. Some times I also use another bookmarking plugin (foo_bookmarks), and maybe there are another ones. So time-to-time there is an awful confusion in interface and items names: this Bookmark and that Bookmark, which is which?
So I propose to rename your UI items to something like "ST Bookmark" (which means SkipTrack Bookmark).

What do you think?
And of course thank you!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-24 16:32:40
Would it be enough to add mention of Skip Track to the description that you see on the statusbar? Just ST alone is a bit unclear and spelling Skip Track would make the commands too long in my opinion. Also the Playback-menu commands are grouped together so it should be clear the bookmark command below Skip track enable switch belongs to the component.

Adding delay after seek for bookmarking is also a decent idea. I think I'll add it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2020-03-24 20:30:30
It seems statusbar tip not sufficient for hard-thinker but nevertheless can be helpful.
Also context menu has "Remove bookmark" but hasn't Add bookmark, is this on some purpose?

P.S. Thank you one more time for implementing "Limit autobookmarking to tracks matching query". In my case it makes listening to audiobooks far cosy and comfortable.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-25 16:17:04
New version out with clarified command names and seeking requires some playback time too before autobookmarking uses the time stamp.
Context menu has bookmark removal because it's a valid action for any track. Bookmarking playback position only has meaning for a track that is playing so I didn't want to place that command under the context menu at all.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-03-26 06:38:12
<practically insignificant feedback>

The perfectionist in me notices the capital B "Bookmark" on the new add command verses lower b "bookmark" on remove. Perhaps they should both be lower? (The statusbar tip should have been enough, really...)

Also seeing you have divided the preferences page for the two features, why not section them with bold text and horizontal lines same as native foobar... "Skip tracks" and "Bookmarks" headings?

</practically insignificant feedback> ;)

Edit: I should add, the query bookmarking is gonna be really useful! Great idea...
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2020-03-26 11:03:22
• Bug:
1) you play file that already has bookmark; 2) you click "Remove Skip Track bookmark" (it clears bookmark); 3) and then go to play another file (it brings bookmark back). And this restored bookmark will contain either real time position in file (for example 56:25) or just duration of current session (0:34).
• Near bug:
Sometimes bookmark updates not to real time position in file, but to apparently duration of current session (or something similar to it).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-26 11:48:51
The first issue isn't really a bug but perhaps unexpected behavior. If you have auto bookmarking enabled it will re-add the bookmark when you stop playing a track that matches bookmarking rule. You can stop playback or switch track first to circumvent that. You apparently want a track that has had its bookmark removed be off-limits from bookmarking until it is played again in the future?

The timestamp issue you see is most likely the result of requiring 10 seconds of playback after seeking before the new timestamp sticks. It stores last playback position where you had 10 continuous seconds of playback and reverts to storing that if you don't play long enough.

It is a bit confusing system. I think I'll remove that change.

The perfectionist in me notices the capital B "Bookmark" on the new add command verses lower b "bookmark" on remove. Perhaps they should both be lower? (The statusbar tip should have been enough, really...)
Thanks, I don't understand how I didn't notice the difference. I'll fix it for the next version. Do you think the new command names are too long?

Also seeing you have divided the preferences page for the two features, why not section them with bold text and horizontal lines same as native foobar... "Skip tracks" and "Bookmarks" headings?
I'll consult Peter for instructions how those are done.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2020-03-26 13:29:48
You apparently want a track that has had its bookmark removed be off-limits from bookmarking until it is played again in the future?
Yes, if bookmark just has had removed by user it should not be auto set again, except if user manualy click "Add Skip Track bookmark". Or until it's played again in the future. I suppose it'd be more expected behavior for users.

It stores last playback position where you had 10 continuous seconds of playback and reverts to storing that if you don't play long enough.
It is a bit confusing system. I think I'll remove that change.
What if propagate this delay only for clear files (without bookmark). But if file already has bookmark it should be updated irrespective of seeking (playing) time? The point is that if user just testing clear file, no need to set bookmark so fast.
Or maybe let think twice? But nevertheless it is not the main feature, so if it is buggy or hard-predictable for users maybe you're right when think to remove it.

And about new command names. The idea is to unambiguously distinguish items of different bookmarking plugins (components). I think it is quite important. But let think about concrete names.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2020-03-27 06:57:02
I'll consult Peter for instructions how those are done.

If you figure this out, could you me a clue. I'm pretty sure it's done with CStaticSeparator from libPPUI/Controls.h but I'm clearly doing something wrong.

I have this as a member of my preferences page...

Code: [Select]
CStaticSeparator m_header;

I then stuck this inside OnInitDialog...

Code: [Select]
CFont fnt;
CreatePreferencesHeaderFont(fnt, m_hWnd);
m_header.SubclassWindow(GetDlgItem(IDC_HEADER));
m_header.SetFont(fnt.m_hFont);

It sort of works but doesn't look like built-in pages (see attached image)



Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-27 11:44:05
Peter said he'll add it to the SDK sample component. But these are the instructions I received:

In resource file: CONTROL "TITLE", ID, "foobar2000:separator", 0, 0, 0, 332, 12
Peter actually used tab stop style but I removed it.

In the page constructor: CSeparator::Register();

Your CFont variable needs to be member variable. You can't define it in the local function or you'll get default font.

In OnInitDialog:
::CreatePreferencesHeaderFont(m_headerFont, *this);
GetDlgItem(ID).SetFont(m_fnt);

Also the resource font seems to need to be FONT 8, "MS Shell Dlg 2".
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2020-03-27 14:08:01
Thanks a lot!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-03-28 07:42:19
New version released.

Removing the bookmark from the playing track will now keep it off the track when stopping.

Automatic bookmarking behavior now uses the following experimental rule: seeking in a track will now reduce accumulated playback time by five seconds. When the playback stops bookmark will be written if the position is at or beyond 10 second marker if the track already had an existing bookmark. If the track doesn't have a bookmark the playback counter needs to be at 10 seconds or more for bookmarking to take place.

There's also a new titleformat parameter to use: %playback_reason%. Its possible values are auto, manual, next, prev & rand.

Context menu capital letter bookmark string is fixed. And preferences page now uses big bold headers.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: r0lZ on 2020-04-09 13:17:49
In the release notes for v1.17, I see: Doesn't use %SKIP% tag for time based partial skipping if it's used in the skip query.
I don't understand why this restriction has been added, as it breaks my previous settings.

My skip query is:
%rating% IS 1 OR %skip% IS all
So, indeed, %SKIP%=all is used in the query, to skip completely a specific track.
But I have also a lot of %SKIP% tags set to <time>- or -<time>, and they do not work any more.
I know that it is possible to skip a track with rating 1, or to define another tag, like %SKIPALL%, but IMO, it is better to keep all Skip Track related stuff in a single tag, without having to change the rating.  IMO, %SKIP% should be used for skipping a part of a track as well as the complete track.  I've tried %SKIP%=0-  but that doesn't work.

Is it possible to restore the old behaviour while retaining a way to skip completely a specific track without creating a new tag ?
If it's not possible, may I suggest to add the possibility to define %SKIP%=all or %SKIP%=0- to skip the whole track ?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-04-09 14:01:51
^ Yeah, that was unfortunately my suggestion and my fear afterwards. I kind of expected it to be a conversation and not an instant feature. :) ;D   (I was not aware what was happening with my SKIP=1 tags being interpreted as a time code, or something, hard to remember now...)

At any rate I agree - I'd be fine with it reverting to previous behavior, too. Case, sorry for the steering you in the wrong direction there.

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-04-09 19:27:32
Seems you were right the change would break someone's usage. I hope this one doesn't.
New version out with the change introduced in v1.17 removed and instead timestamp parsing requires the time to include colons or dots.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: r0lZ on 2020-04-09 19:51:13
New version out with the change introduced in v1.17 removed...
Huge thanks, especially for your responsiveness !

... and instead timestamp parsing requires the time to include colons or dots.
Why this ?  Does that mean that %SKIP%=1 means skip the whole track ?
If it's the case, why not consider that everything else (including 1- and -1) mean skip from/to the specified time ?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-04-09 20:29:12
... and instead timestamp parsing requires the time to include colons or dots.
Why this ?
To fix the original problem anamorphic had with his tag usage. Apparent skipping of a manually selected track (though it didn't fully skip it as it only played the first second).

Does that mean that %SKIP%=1 means skip the whole track ?
No, but you can use a skip query to achieve that. SKIP=1 alone in a tag with default config now means nothing.

If it's the case, why not consider that everything else (including 1- and -1) mean skip from/to the specified time ?
That is what the timestamp based skipping is meant for. But I realized I added my check to a wrong function in 1.24 and this kind of usage broke. New version with a fix is out. Though 1- now means nothing, used to mean skip after 1 second.
If you write SKIP=0:00.000001- the track will be skipped after playing it for a microsecond. Zero second timestamp isn't accepted here.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-04-09 21:46:20
Oh, fantastic. Sounds like the best of both worlds!

Many thanks :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: r0lZ on 2020-04-10 08:14:15
Though 1- now means nothing, used to mean skip after 1 second.
That's not what I'm seeing.  1- skips the whole track after 1 second, without the need to add a : or a dot.  This is perfect for me, because most of my %SKIP% are integers.  So, please, don't change anything more !  ;-)
Thanks again !
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2020-04-19 18:06:21
Hi @Case ,
A stupid question from me: doest it look familiar to you: 30b06b29-13fa-12af-894b-63a99f642e02 ?
Why I am asking:
Recently I updated lots of plugs after more than a year. I wasn't paying much attention to my saved DSP chains, until I saw that I have "missing DSP: 30b06b29-13fa-12af-894b-63a99f642e02.
I started looking for what it could be and I think I could have Skip Tracks DSP in my chain, but I am not sure now, as it was changing as development of component was going... I noticed that in console I can read that foobar very often is making some strange operations like:
"2020-04-19 19:01:38.307 thread 4980
> Using decoder shim instead of DSP: Skip Track
and rarely:
2020-04-19 18:39:13.814 thread 2256
> Automatic resampling: using Resampler (PPHS)
but I do not have automatic resampling rules set...

Could this mess be caused by newest version Skip Track component?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-04-19 19:49:54
The missing DSP GUID must be from the old Skip Track version but it looks like there's a single digit difference. Your post has "-12af-" but old source shows "-42af-". You can remove the DSP from the chain.

The first console message is foobar reporting that there's an otherwise invisible DSP-like decoder active.

The automatic resampler message doesn't come from Skip Track. Automatic resampling is available even if you haven't configured any rules for it. ReplayGain scanner for example uses it if you have True Peak scanning enabled or inaudible frequency filtering active.
DirectSound output uses it if you play a file with over 200 kHz sample rate.
My WASAPI shared output uses it for all content that differs from Windows mixer frequency.
My Waveform Minibar component uses resampling to upsample short samples to improve their visuals.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2020-04-20 13:33:11
Thank you for the answer :)
Yes, it is 42af, my mistake. So I replaced old one with new one in my chains.
It is possible that I use True Peak scan and for sure I was playing with RG scanning recently.
So you solved all my doubts :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: 3Dscrewer on 2020-05-30 12:21:02
Hi Folks,
it seems I'm to stupid to get it work  :(
I would like to skip every track after 10 Seconds, so my string is SKIP=10-
From my library I choose an album and send to new playlist, in playlist STRG-A and from Playback I choose add Skiptrack Bookmark.
Skip Tracks & use bookmarks is activated, but nothing happened.
I also tried 00:00:10- but didn't work.

What is wrong?

Regards
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-02 07:59:29
That's not how this component works. The skip query is performed for each track to check if that particular track is to be skipped. As you may have seen from documentation the component would by default skip all tracks that the user has rated with the worst one star rating.

And SKIP tag is to be placed inside each track where there are parts that you want to skip. For example a track may have spoken intro that you don't want to hear every time, you can add a SKIP tag to that track and make the component skip past it.

What is the purpose of wanting to skip 10 seconds of absolutely every track? If there's sensible need and no component allows to do that, I can make a component for it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2020-06-02 08:13:42
Not used it myself but I remember seeing it mentioned before: https://skipyrich.com/wiki/Foobar2000:Preview
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Priest_1 on 2020-06-02 12:47:57
Hi Folks,
it seems I'm to stupid to get it work  :(
I would like to skip every track after 10 Seconds, so my string is SKIP=10-
From my library I choose an album and send to new playlist, in playlist STRG-A and from Playback I choose add Skiptrack Bookmark.
Skip Tracks & use bookmarks is activated, but nothing happened.
I also tried 00:00:10- but didn't work.

What is wrong?

Regards

Download foo_seek http://www.hydrogenaud.io/forums/index.php?showtopic=88654
Download foo_seek_1.2.zip

Settings for foo_seek:

1)Playback - Seek control - Loop length - default
2)Playback - Seek control - Preview length - default
3)Playback - Seek control - Loop length - default

4)Advanced - Playback - Seek - Preview - Playback position - 0 (from beging of the track -  0 ms)
Preview length – 10000 ms  (10 sec)

5)Check on:
Reset next track to playback position preview
Skip shorter tracks in preview

6)Apply - ok – close and restart F2K app
7)Playback - Seek control - Preview is cheked
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: 3Dscrewer on 2020-06-02 22:39:14
@Case Thanks for your answer, I nearly thought that it is the MP3 Tag.
@Priest_1 Thanks for your suggestion, it seems that is what I'm searching for.
@snotlicker Thanks, I will have a look at this, i f the other one by Priest_1 is not what I need.

I have a huge database and I like to add Lyrics. The known plugins don't find so much synced lyrics but Minilyrics can do the Job. I'm tired to skip the tracks by hand and so I was searching a plugin to do that. For missing Lyrics I can use Lyrics3.
Thanks again
Heinz
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-06-08 21:21:22
Hi Case, :)

Over in the suggestions thread @lody asked -

Something I would like to have is, alongside the PLAY , NEXT , PREV hotkeys...

A 'SKIP ALBUM' hotkey for when you are in Shuffle (albums) order and want to skip this album via a hotkey

I was thinking this might be a nice fit for foo_skip thanks to the fast decoder skipping. Could be a simple (perhaps hidden) menu command - Playback > Skip album - that when activated, checks %album% field and immediately skips the following tracks that match it. I guess it could work for any playback order.

What do you think?

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-09 05:29:37
I don't think that belongs in foo_skip. But give this old component a try: https://foobar.hyv.fi/?view=foo_skip_album (https://foobar.hyv.fi/?view=foo_skip_album). It can skip album even faster than foo_skip.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2020-06-09 17:10:19
Oh! I might've known you had one already :D

By the way, it seems fast for everything except Shuffle (albums) / (folders), where it skips each track one at a time. (Not sure if normal?)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-15 20:27:46
It was done that way out of laziness as handling it better is quite a bit of work. But in the newly released version those two shuffle modes work considerably faster.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sunnow on 2020-06-20 18:41:51
foo_skip v1.26 when playback order is "Repeat (track)", skip does not work (keeps repeating).

Previously (v1.9.7), skip used to skip on "Repeat (track)". This is how it should be. Could you please revert back to the previous way? Or have an option in preferences for this?


Most importantly Case. Thank you so much for making this.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kode54 on 2020-06-21 01:04:00
What should it skip to? The player would need to be told to skip to another file. This component (I guess) works by internally ending playback on the current track, not by altering the playback order.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sunnow on 2020-06-21 04:43:29
@kode54
What I meant was:

Yes, foo_skip needs to skip irrespective of the playback order (your logic is correct). This used to be the default previously.

BUT

In the current version 1.26, foo_skip does not skip if the playback order is set to "Repeat (track)".

Hope this makes sense? (Please try it once)


Download Old foo_skip v1.9.7 (from 2016 I guess), which skips irrespective of playback order. But still working with my foobar 1.5.4 (2020-06).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-21 20:03:51
Released a new version with fix for skipping tracks with the "Repeat (track)" playback order. This version also keeps count how many times tracks get skipped. Counts are stored using the built-in indexing feature and pinned to metadata using similar rules as official Playback Statistics uses. The component regards a track skipped if the entire track gets skipped by the component or partial skip rules allow less than one minute of the track to play.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sunnow on 2020-06-22 09:50:29
@Case
Thank You so much for looking into this.

I just checked on a fresh foobar with only foo_skip installed. And its not skipping the "Repeat". Could you please check.

Console log foo_skip 1.27:
.....
Startup time : 0:00.380842
Skip Track debug: on_playback_starting
Skip Track debug: g_playing_playlist_name = default, g_active_playlist_name = default, g_playback_order_name = repeat (track)
Skip Track debug: track_command_settrack
Opening track for playback: "Z:\media\u\data\a\test\short_clip\09sec.opus"
Skip Track debug: on_playback_new_track
Opening track for playback: "Z:\media\u\data\a\test\short_clip\09sec.opus"
Skip Track debug: on_playback_new_track
....


When using old foo_skip 1.9.7
log:
....
Startup time : 0:00.373146
Opening track for playback: "Z:\media\u\data\a\test\short_clip\09sec.opus"
Opening track for playback: "Z:\media\u\data\a\test\short_clip\09sec.opus"
Skipping track...
Opening track for playback: "Z:\media\u\data\a\test\short_clip\10sec.opus"
....
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-22 10:00:48
Seems I forgot debug logging enabled, but it was fortunate. The track_command_settrack reveals you manually double clicked on the track. By default manually picking a track that way allows it to play. You can change that setting in preferences, it's labeled "Skip even manually selected tracks".
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sunnow on 2020-06-22 12:54:27
@Case
Yes, that was indeed fortunate.

Normally how I use it is (1.9.7):

1. A track will be playing (repeat is always on).
2. I give it a rating using a quick keyboard shortcut.
3. At the end of the track based on rating it skips or not (how I entered the track did not matter)

And.

I frequently enter a badly rated file because I had forgotten what it was, or to just listen one time. If I wanted to play it continuously, I turn skip off, or gave it a better rating.

So the old skip method was better. The skip functionality was changing on the fly, intuitively. That was very comfortable.

Also because I have been using skip for over a decade, the new method 'feels' wrong.

What do you feel?

If more users like the present method better, could you have an option in preferences for skipping based on how we entered the file?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-22 13:43:21
I released a new version that skips a skippable track after single playback with the loop mode. As the check is done in the decoder initialization with the new shim engine, it will accidentally trigger if you for example change output device while playing such a track. But I think that's such a minor issue it's not worth adding complex hacks to circumvent it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: sunnow on 2020-06-22 21:40:04
@Case 
v1.28 does the job perfectly.
THANK YOU. :-)...
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: laddie on 2020-06-24 18:34:47
Case, is it possible to bookmark tracks so that they're never skipped? Basically so they're ignored by Skip Track altogether?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-06-24 21:08:29
What kind of skip query do you use for that to be an issue? Or am I misunderstanding the question?

You can for example tag a file with NEVERSKIP field and add this to the query: " AND neverskip MISSING". Then the query would only evaluate to true for tracks that don't have NEVERSKIP tag.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: keldi on 2020-08-17 14:53:23
Hello!
I use Youtube Source component to listen some videos from youtube.
Is there a way to make bookmarks work with files like
Alice in Wonderland.m3u (which contains a link to the audiobook on youtube)

I tried the settings
Automatically bookmark -> All tracks
Automatically update bookmark position for bookmarked tracks checked

and also to use a shortcut 'Add Skip Track bookmark' to manually set a bookmark, but neither worked to save the position.

The build-in feature 'Playback -> Save playback state when closing foobar2000 and resume on next startup' works just fine with such files. But it's only for the one file that was playing on closing, and if I accidentally open something else in the foobar, the position is lost.

The foo_skip component seems exactly what I'm looking for, but I couldn't figure out how to make it work.
What am I missing?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: mikehawk1999 on 2020-08-18 03:05:31
I would like to second what keldi said. FOO_SKIP apparently doesn't work with YouTube Source component. It would be a real value for FOO_SKIP to support YouTube Source component.

btw. Is there any efficient way of highlighting bookmarked and skipped tracks in playlist (without additional components)?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-08-18 11:22:36
It's possible bookmarking is limited to local files only. I'll have to verify once I have the time.

The query language used to define skip rule is unfortunately not evaluated for streams - I suspect this is true for YouTube sourced streams as well. As that is a core limitation and I don't want to make my own query syntax parser I think I'll have to add support for old titleformat-based skip rule as a backup.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: keldi on 2020-08-18 13:49:10
It's possible bookmarking is limited to local files only. I'll have to verify once I have the time.

The query language used to define skip rule is unfortunately not evaluated for streams - I suspect this is true for YouTube sourced streams as well. As that is a core limitation and I don't want to make my own query syntax parser I think I'll have to add support for old titleformat-based skip rule as a backup.
That's it! foo_skip just didn't write the tag into m3u playlist. Silly me, I forgot that it works with tags in files, and not saves the data separately. Thank you for your answer.
I never liked the idea of writing temporary tags into files, so I've been using foo_skip combined with foo_customdb to skip tracks based on rating for artist+title for years. I totally forgot that it's how I set it up and not a feature of foo_skip itself. That's why I was confused with the bookmarks, as the skipping was working but not the bookmarks.

Now I checked it, and foo_skip works perfectly with skipping part of the youtube file by reading timestamp from the customdb's Skip field. Now, that I know in what direction to look for the settings, I'll probably be able to just make some workaround to work with foo_customdb. Sadly, it's abandoned and seems it doesn't support %playback_time%. But I suppose some AutoHotkey script to set a bookmark manually will do it for me.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: mikehawk1999 on 2020-08-31 04:11:29
Hello again!
Any chance for an update for foo_skip that would make YouTubeSouce component support BOOKMARK?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-08-31 07:33:09
I haven't forgotten but right now I just don't have the spare time.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: keldi on 2020-08-31 11:27:52
@mikehawk1999

I've solved it for myself with some additional foobar components and an AutoHotKey script, and it works for me, but as it has some serious limitations it might be not what you are looking for.
Limitations: shortcut to save a bookmark works only when main foobar window is active and the file playing is selected (I use the option Playback -> Playback follows cursor); the window where the time for the bookmark is saved briefly appears on pressing shortcut; no bookmarking automatically, I press Num0 to save a bookmark, Ctrl+Num0 to erase the bookmark (and foo_skip starts playback from the time saved in the bookmark).

I describe my setting as they work for me, but I can't really help if something goes wrong with them for you.

foo_skip (starts playback from the bookmarked time, no special settings needed)

foo_customdb (https://hydrogenaud.io/index.php/topic,109065.0.html) (stores time for bookmarks in the SKIP field of this component's database).
Settings:
(If the component crushes foobar, delete everything that was set by default in Preferences -> Tools -> Custom Database -> Actions and maybe in Custom  Database -> Fields too, not sure, I installed this component a long time ago)

1.
Preferences -> Tools -> Custom Database -> Fields. Add (edit) the Skip field:
Display: Skip
Name: SKIP
Key: Custom: $if($stricmp($left(%path%,4),'http'),%path%,%artist%-%album%-%title%)
(The key determines for what the bookmark will be saved. I set it up this way: if the path to the file starts with "http" the bookmark would be saved for that path, otherwise (= local file) the bookmark will be saved for Artist-Album-Title. You can change it however you want using Title Formatting Reference (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Title_Formatting_Reference) (i.e just leave %artist%-%title%) but keep in mind, if you change it in the future, the bookmarks saved before the change won't work).

2.
Preferences -> Tools -> Custom Database -> Actions. Add an action for setting up a bookmark:
Display: DB Skip - Bookmark time (or whatever name you want for it)
Field: SKIP
Update: contextmenu -> Dialog
Set Value:

3.
Preferences -> Tools -> Custom Database -> Actions. Add (edit) action to delete the bookmark:
Display: Set Skip Off (or whatever name you want for it)
Field: SKIP
Update: contextmenu -> Erase

4.
Restart foobar after changing setting for the foo_customdb.


foo_texttools (copies the current playback time as foo_customdb doesn't recognize %playback_time%). Settings:
Preferences -> Tools -> Text Tools -> Add new:
Name: playback time (or whatever name you want)
Pattern: %playback_time%

Preference -> Keyboard Shortcuts:
Key: Ctrl+Num0; Action: Set Skip Off (delete the bookmark on Ctrl+Num0)
Key: Ctrl+T; Action: Utilities / Text Tools / Copy: playback time
Key: Ctrl+Shift+B; Action: DB Skip - Bookmark time

At this point you can test it. Play an youtube link, press Ctrl+T, press Ctrl+Shift+B, type - and press Ctrl+V (in the window there should be the current playback time after the minus symbol), click on OK. Play another file and return to the previous youtube link. The playback should start from the bookmarked time.
If it all worked, the final thing is an AutoHotKey (https://www.autohotkey.com/) script that just does everything from the previous paragraph to save a bookmark.

AHK script (save it as a text file with .ahk extention and launch it with autohotkey):

Code: [Select]
#IfWinActive ahk_exe foobar2000.exe
{
; the hotkey on which the script will be executed = Numpad0 to save a bookmark
Numpad0::
; Ctrl+T = shortcut to copy %playback_time%
Send ^t
; Ctrl+Shift+B = shortcut for DB Skip - Bookmark time
Send ^+b
; typing - and then pasting (Ctrl+V) the copied playback time, TAB to move to the OK button and ENTER to save the bookmark
Send -
Send ^v
Send {Tab}
Send {Enter}
return
}
#IfWinActive


edit: Changed quoted username
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-09-13 14:14:16
Hello again!
Any chance for an update for foo_skip that would make YouTubeSouce component support BOOKMARK?
I released a new version of Skip Track component with bookmarking code largely rewritten. All local filesystem limits have been removed and bookmarks are now stored in foobar's metadb index store instead of tags. Old tag-based bookmarks can still be read but the component removes the bookmark tags from files when bookmarks are updated.

Edit: because of the large amount of changes and my limited spare time I initially only released the new version on my home page: https://foobar.hyv.fi/?view=foo_skip

edit: Changed quoted username
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2020-09-13 16:54:59
Case, how to see now at what time position of the track the bookmark is set? Previously, it was possible to see this in the playlist from the metadata.
Is it possible to display the bookmark on the Minibar (for example, with a colored label) for future versions of the component? Thank.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-09-13 17:40:04
Bookmark is visible in the Details tab of the Properties dialog. There's a new section "Skip Track" that lists skip counts and bookmark timestamps. And it can be shown on playlist with titleformat string %bookmark%. I won't rule out possible future integration with Minibar.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Dojando on 2020-09-16 01:28:26
Hey, I am too stupid to use this plugin after the updates.
Sooo How do I skip the forst 10 secodns or the last 10 secodns or 10 seconds in the middle of a track? Can someone give me an example for each? No matther what I put in the SKIP tag, it does skip sometimes, sometimes not and I dont get why ^^ thanks :3
And what is this bookmarking about?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2020-09-16 16:52:25
Case, is it possible to use a bookmark for youtube and ftp: // playlist items?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: mikehawk1999 on 2020-09-16 17:15:09
Hello again!
Any chance for an update for foo_skip that would make YouTubeSouce component support BOOKMARK?
I released a new version of Skip Track component with bookmarking code largely rewritten. All local filesystem limits have been removed and bookmarks are now stored in foobar's metadb index store instead of tags. Old tag-based bookmarks can still be read but the component removes the bookmark tags from files when bookmarks are updated.

Edit: because of the large amount of changes and my limited spare time I initially only released the new version on my home page: https://foobar.hyv.fi/?view=foo_skip

This is an excellent news  :) Thank you, Case!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2020-10-13 17:20:36
How does 'Stop playback after repeated skips' work? Does it only allow a certain number of skips in a row? Or does it just end when it has skipped the same track twice?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-10-14 10:08:13
The feature records the information of the first track skipped in the playback session. If the exact same track is reached again the component asks foobar2000 to kindly stop playback. It was intented to be a helper feature to prevent too fast skipping from locking the player up.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2020-11-16 00:00:13
Thank you for this plugin.

I was wondering if it's possible to use it to skip while playing radio streams.

I have "Enabled dynamic track titles" checked under Preferences/Networking. But, I can't figure out how to point this plugin to the new %artist% and %title% info received.

Any help would be very much appreciated. Thank you.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-11-19 16:44:36
Like I mentioned a few posts earlier (https://hydrogenaud.io/index.php?topic=30361.msg986858#msg986858) the player core doesn't process query strings at all for streams. So currently it's not doable.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-11-29 11:24:59
I just released a new version that can skip streams. You'll have to enable the option "treat query as titleformat string" and then use titleformat string instead of the newer query language as the skip string.
At its simplest if you wish to skip everything from some artist you can use string $stricmp(%artist%,some artist).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2020-12-06 03:38:27
I just released a new version that can skip streams. You'll have to enable the option "treat query as titleformat string" and then use titleformat string instead of the newer query language as the skip string.
At its simplest if you wish to skip everything from some artist you can use string $stricmp(%artist%,some artist).


Thank you very much! It works just fine. :)

Have a nice day.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2020-12-19 20:35:05
Thank you @Case for adding the option to skip streams.
I'm now able to skip my non-5-star streams (in addition to my 1-star tracks).
$if($stricmp($left(%path%,4),http),$ifequal(%rating%,5,0,1),$ifequal(%rating%,1,1,0))
 :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: LL25255252 on 2020-12-20 13:51:53
@Case , I sometimes use the "DSP Switcher" to load one of my old custom DSP chain presets".
I had created many presets before I've installed foo_skip for the first time so they don't include the "Skip Track" DSP.

The problem is that if I use the "DSP Switcher" to load one of those old presets it fails - foobar "ignores" the preset and the "DSP Switcher" returns to the previous preset.

I know there's a workaround : to load & edit all my old presets and add the "skip track" DSP to each preset but @Case , is there a way you can make Foobar work correctly on presets which don't include "Skip Track" (obviously without the user needing to remember to do any action) ?
Many thanks in advance.

foo_skip 1.32
foobar2000 1.5.3
Windows 7 x64
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2020-12-23 20:51:55
The component will always place itself to the playback DSP chain so any loaded preset that doesn't include it will be altered. This is unavoidable.

But I don't see the behavior you describe. If you load a unique preset that doesn't include Skip Track and the component then adds itself to the chain, the Switcher menu will keep displaying your old preset name for as long as the player is running. If you restart the player the Switcher menu will be blank as there's no matching preset. But if you happen to have another preset saved that matches the new configuration, the Swither menu will automatically switch to the matching preset.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TrueLossless on 2021-02-19 09:16:52
Guys, bad news...
Recently at some point I got many tracks randomly marked as skipped in database, even my favorite songs. I used skip track feature a lot so now I have to reset it all, very disappointing. This is probably a bug of foo_customdb or foobar itself. I'm writing here because customdb thread is closed.
Help me to understand where to send bug report so no one else won't affect this in future.

foobar 2000 1.6.2
foo_customdb 0.1.0_beta1
foo_skip 1.32
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: davideleo on 2021-02-19 12:37:11
This is probably a bug of foo_customdb or foobar itself. I'm writing here because customdb thread is closed.
Help me to understand where to send bug report so no one else won't affect this in future.

foobar 2000 1.6.2
foo_customdb 0.1.0_beta1
foo_skip 1.32

I have both components installed, but no such issues. I use cutomdb 9a, though. Why do you think this odd behaviour of foo_skip is caused by customdb, BTW?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TrueLossless on 2021-02-19 15:33:34
I have both components installed, but no such issues. I use cutomdb 9a, though. Why do you think this odd behaviour of foo_skip is caused by customdb, BTW?

Well, lucky for you. It's might not be behaviour of foo_skip because it just reads what's in database and doesn't write to it. I opened database in sqlite browser and I saw there new records like skip_track=1.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: davideleo on 2021-02-20 08:22:46
Well, lucky for you. It's might not be behaviour of foo_skip because it just reads what's in database and doesn't write to it. I opened database in sqlite browser and I saw there new records like skip_track=1.

I see, so you set foo_skip to skip tracks based on the value of a customdb field? I'm afraid this is really off topic here, but the problem might depend on how you set the customdb actions. It's hard to tell without knowing how you edit the skip_track field.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: TrueLossless on 2021-02-23 11:39:22
I see, so you set foo_skip to skip tracks based on the value of a customdb field? I'm afraid this is really off topic here, but the problem might depend on how you set the customdb actions. It's hard to tell without knowing how you edit the skip_track field.

Is there other options to keep information about skipped tracks? Where it will be stored? I did my setup a long time ago so customdb seemed the best option at that time. I am at Columns UI and to skip track I use hotkey with "Skip Toggle" action. Bug is probably occured on skipping track with hieroglyphs and other fancy non-typical symbols.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Koshingg on 2021-03-21 13:59:05
I just released a new version that can skip streams. You'll have to enable the option "treat query as titleformat string" and then use titleformat string instead of the newer query language as the skip string.
At its simplest if you wish to skip everything from some artist you can use string $stricmp(%artist%,some artist).


It works with one artist but how can I skip everything from 3 artists?
Thanks in advance
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2021-03-31 03:13:26
I just released a new version that can skip streams. You'll have to enable the option "treat query as titleformat string" and then use titleformat string instead of the newer query language as the skip string.
At its simplest if you wish to skip everything from some artist you can use string $stricmp(%artist%,some artist).


It works with one artist but how can I skip everything from 3 artists?
Thanks in advance

Hi. This is how: $stricmp(%artist%,some artist)$stricmp(%artist%,some artist)$stricmp(%artist%,some artist)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Koshingg on 2021-03-31 22:57:13
Thanks a lot Paaufo
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2021-04-07 17:05:14
Hi Case :)

I just updated and noticed skipping of a particular stream (saved in m-TAGS) when the option is not on - i.e. with normal query syntax. I replicated on a fresh install -

FB 1.6.4 / 1.6.5 + Skip Track 1.33 + m-TAGS 1.2 + Playback Statistics 3.0.4

Seems m-TAGs makes no difference, same result using 'Add Location...' -
Code: [Select]
http://s9.voscast.com:8916/listen.mp3

Add 'Skip query' -
Code: [Select]
%last_played% DURING LAST 5 DAYS
(All other preferences boxes are default - 'Treat query as title format string' off, etc.)

Play stream for a minute to get statistics updated. Stop, double-click to play again (which usually overrides skipping) -

Console log -
Code: [Select]
Opening track for playback: "http://s9.voscast.com:8916/listen.mp3"
Using decoder shim instead of DSP: Skip Track
Skipping track based on dynamic info....

When turning off Playback menu > 'Skip tracks...' it plays fine. Strangely I'm only getting it with this particular stream... no, other streams with dynamic info also skip, so I guess it must be that particular query (?)

Cheers
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-04-07 19:04:42
My component always runs the queries. I thought query isn't parsed for streams but apparently core internally only skips metadata queries. Playback statistics come from a different component and that doesn't seem to be so discriminating.

You could add extra check to require path to contain file:// or possibly ignore http:// and https://. Or do you want a checkbox that allows toggling the component off for streams?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2021-04-07 20:35:44
Adding an extra check works, I should've thought of that.

Code: [Select]
AND NOT "$info(@)" HAS http

Cheers :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: wcs13 on 2021-04-19 19:56:08
Hello, I would like to report a possible bug : Skip Track completely skips some tracks that have no skip tag at all.

Here is the behaviour :
- I'm playing a track
- I press "next"
- Sometimes, the next track just gets skipped and foobar goes to the "next-next" track

I have tried removing Skip Track from the DSP manager and saving changes. Then when I do the previous sequence again, the same track gets skipped again.
Then, going back to the DSP manager, I see that Skip Track has "auto-added" itself to the DSP chain, even though I had removed it and saved changes.  :o

The only way to deal with this issue is completely uninstalling Skip Track. But then I can't use it anymore for my other tracks that require it.
I have tried re-installing it (latest version from component repository) and the problem appears again. I seem to be able to reproduce it 100%.

Can somebody help ? Thank you.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Rollin on 2021-04-19 22:20:26
Then, going back to the DSP manager, I see that Skip Track has "auto-added" itself to the DSP chain, even though I had removed it and saved changes
This is by design.
https://foobar.hyv.fi/?view=foo_skip
Quote
The DSP is automatically enabled when playback is started on foobar2000 v1.5 series and disabled on foobar2000 v1.4 series

- I'm playing a track
- I press "next"
- Sometimes, the next track just gets skipped and foobar goes to the "next-next" track
Are you sure your mouse single click is not working as double click sometimes?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: wcs13 on 2021-04-19 22:50:30
Are you sure your mouse single click is not working as double click sometimes?
Hi Rollin. Uninstalling Skip Track solves the issue, and reinstalling Skip Track recreates the issue again.
So it has nothing to do with mouse clicks. It really seems to be related to Skip Track.

Plus I have keyboard shortcuts. I don't use the mouse here. ;)
Let's name tracks : track 1, track 2, track 3.
- Track 1 is playing.
- I press "next".
- Track 2 skips (after about 0.2-0.5 sec - it's very briefly hightlighted but there's no sound), and track 3 plays.
- Then I press "previous".
- Track 2 skips again, and track 1 plays.

I can do that as many times as I want, back and forth, so it's not a double click or a double-press problem.
And if I double click on track 2 directly, it plays without any issues.
Track 2 is perfectly OK : it's a FLAC track, integrity check OK.

It's like foobar doesn't want to play that particular track with "next" or "previous", but it plays it without issues with double click. And it happens only when Skip Track is installed.
And it's not just on one particular track : it happens on a number of tracks without apparent reason.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-04-20 06:35:00
Thanks Rollin, you have been busy and active in several topics.

@wcs13, what kind of skip query have you configured for Skip Track? Skip tag is only used for partial skipping, it's not required for the full track skipping behavior, which was the original purpose of this component.

The default skip query for example skips all tracks that you have given a rating of one star. So if your problematic track is rated 1 and you haven't touched anything, it will get skipped.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: wcs13 on 2021-04-20 11:52:23
Thank you very much Case. It was the default skip query.
I had modified it in one of my foobar configs, but I had completely forgotten about it in the other.
Problem solved !
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: MojoBass on 2021-04-21 05:19:58
A question on SKIP tag for partial skipping:
When using partial skipping at the start of Youtube tracks (e.g. SKIP -30), sometimes foobar is not capable to realize skipping (for whatever reason) and starts at 00:00, meaning the track plays from its very beginning. Seems to be not reproducable and not related to specific tracks.
No real problem for me if that occurs from time to time.
However, if this is happening, then I experience as well that the SKIP tag entry ('-30') is automatically deleted.
Any way to protect the SKIP tag value from unwanted deletion?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-04-21 17:05:44
This component shouldn't eat your tags away. The component will nowadays only write tags when it removes old "BOOKMARK" tag to replace it with the new metadb index based entry. And when that is done there will be a console report about it.

I'm guessing the SKIP doesn't work because something eats the tag away and Skip Track doesn't see the tag entry at all. But this is just a guess.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: MojoBass on 2021-04-21 19:52:42
Hmm, I did not even think of the possibility that 'eating the tag' by another instance could be the root cause for the failed skipping - I thought it is the other way round - that is interesting...
Another observation: When both front and rear skip are defined (e.g. -30;2:30-), then only the front part gets 'eaten'. Therefore the SKIP field then would be changed to '2:30-' in this example.
Anyone who can reproduce this behaviour?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: j0b0 on 2021-07-09 10:52:38
Maybe somebody can help: I recently had to switch OS and lost my old foobar install. Thus I ended up with the latest foobar 1.6.6 and foo_skip 1.3.3. Bookmarking was working fine with the old version of foobar (forgot which 1.x ist was exactly). No I can see that a bookmark is added whenever I want this but when I go back to the track it starts from the beginning. When I used foo_skip when it was working (same 1.3.3) I didn't need to configure anything else. I also don't see any errors in the console.

Any idea how I can identify the problem?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: j0b0 on 2021-07-09 11:19:10
Quote
Maybe somebody can help: I recently had to switch OS and lost my old foobar install. Thus I ended up with the latest foobar 1.6.6 and foo_skip 1.3.3. Bookmarking was working fine with the old version of foobar (forgot which 1.x ist was exactly). No I can see that a bookmark is added whenever I want this but when I go back to the track it starts from the beginning. When I used foo_skip when it was working (same 1.3.3) I didn't need to configure anything else. I also don't see any errors in the console.

Any idea how I can identify the problem?

Sorted it out myself: forgot to enable: Playback / Skip tracks & use bookmarks and the skip track needs to be the first item in the DSP chain
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2021-08-04 20:49:58
Using the Skip dsp on the converter produces a bug on tracks being randomly cut when they don't have a skip tag, totally destroying the conversion output.

- Track A (3:00)
- Track B (4:00) (skip tag at 01:40)
- Track C (2:00)
- Track D (2:30)
...
Output becomes
- Track A (3:00)
- Track B (1:40)
- Track C (1:40)
- Track D (2:30)
... (randomly, some next tracks get cut to 1:40).

Tracks which are cut seem to be random, since not all are cut.

X

X

X

EDIT: have tried with other encoders and deleting all other DSPs and the problem persists, so it's something added on the latest releases (worked fine previously at an old version).

EDIT2: All other versions up to 1.19 have the same bug. Don't know which version I used before at 2020 which worked fine.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-08-05 06:39:51
Thank you for spotting the bug and reporting it. Fixed version uploaded.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2021-08-06 18:20:44
Thanks, working flawlessly now
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: EpicForever on 2021-08-11 15:47:21
Hello.
It just doesn't work for me anymore... Skipping is enabled, query is the same since few years, Skip DSP present in the chain (does it matter on which position?). I just accidentally spotted it today. foobar 1.6.7 (updated, initially I spotted it in 1.6.7 beta 16, latest foo_skip (updated in attempt to solve the issue), Windows 7 x64 SP1 PL...

EDIT:
It seems something has changed over the time or I am missing something. I deleted the Skip Track DSP plugin from DSP chain and now it works fine. Is it supposed to be like that?

EDIT2:
OK, I see that when I enabled back the skipping function, now Skip Track DSP was readded at the top of DSP chain.
I think there is something messed if certain DSP, which does not transform the sound requires me to be added at the beginning. Plus there are more DSPs that want to be at the beginning, like Dynamic DSP which I use too.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2021-08-11 18:14:41
Yes, skip track may be the first along other dsps. But skip must be the first. Once you want to skip a track it makes no sense to process the other dsps, so the rest must be added below. I'm also using DSPs meant to be "first" without problems, but obviously you have to choose an appropriate order.

X

X

In my use case, mono is converted to stereo. Then resampled to desired value and channels adjusted for multi-channel audio (5.1 to 4.1). Dynamic DSP is applied on the resulting audio (mostly EQ, declick or swapping channels according to tags or device being used for room correction), since audio is already resampled it becomes easier. Finally de-emphasis if playing a CD with that flag.

Changing the order would make no sense, tracks would be skipped after being processed, thus resulting on audio hiccups when finding a track with skip tags. Not saying your specific use-case may have not found a problem, but you should probably check the order since it may be fixed without incompatibilities.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2021-09-07 07:14:00
Is there a way to use wildcards with this component? Thank you.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-09-07 08:16:19
The titleformat language or query syntax don't use wildcards, but you can achieve the same result. If you give an example what you want to do with wildcards I can try to explain how to achieve it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2021-09-08 05:23:33
The titleformat language or query syntax don't use wildcards, but you can achieve the same result. If you give an example what you want to do with wildcards I can try to explain how to achieve it.

I use Foobar to listen to radio stations. But, now some of the stations have introduced very annoying (and long) ads, with titles such as: "Advertisement33a" or "Ad segment", etc. I would like to skip when that happens.

Thank you.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2021-09-08 07:50:28
For example:
Code: [Select]
$stricmp($left(%title%,13),advertisement)$stricmp($left(%title%,3),ad )
This works for titles that begin with words "advertisement" or word "ad". Notice the requirement for space after "ad" to prevent false positives, like word "adventure".

To find those words in the middle of a title you can use something like this:
Code: [Select]
$if($or($strstr($lower(%title%),advertisement),$strstr( $lower(%title%) , ad )),1,)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Paaufo on 2021-09-08 09:08:49
Thank you so much! @Case

I've tested it and it works great. :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-01-04 09:01:37
The official component page (https://www.foobar2000.org/components/view/foo_skip) says: "Skip query also offers $rand() field to generate random number from 0 to 2^32-1.".

Why, then, does neither "$rand() GREATER 2147483648" nor "$rand() LESS 2147483648" skip every second track? Every single track is played.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-01-04 12:46:20
I fear this is a limitation with the query syntax. Internally it's handled by converting the $rand() string to actual random number and the resulting query is meaningless to the search filter. It just sees "1234 LESS 2147483648".

But you can use your idea by enabling the option to handle the query as a titleformat string. The string just needs a tiny change: "$ifgreater($rand(),2147483648,1,)".
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-01-06 11:24:28
Thanks, that works. I find it strange, however, that "1234 LESS 2147483648" isn't just evaluated normally and logically. Isn't that basically an fb2k bug? And why, then, advertise $rand() at all; what's it ever good for in query strings?

Anyways; what I really want to use $rand() for is to play differently rated tracks with different probabilities. I've come up with this solution:

Code: [Select]
$if($not(
// Only play the following.
$and(
$not($meta_test(duplicate)),
$or(
// Play unrated.
$not($meta_test(rating)),
// (Don't play anything rated lower than 3.)
$and(
// Play rating 3 with 50% probability.
$ifequal(%rating%,3,$not($not()),0),
$greater($muldiv(4294967295,50,100),$rand())
),
$and(
// Play rating 4 with 90% probability.
$ifequal(%rating%,4,$not($not()),0),
$greater($muldiv(4294967295,90,100),$rand())
),
$and(
// Play rating 5 with 95% probability.
$ifequal(%rating%,5,$not($not()),0),
$greater($muldiv(4294967295,95,100),$rand())
)
)
)
),1,0)

(BTW: $not($not()) is currently necessary to get boolean true for $and().)

This brings me to the following improvement suggestions for foo_skip:

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-01-06 12:32:14
I abuse the library search query quite a bit to bring the simplified syntax for users. You have to remember this is a query language meant to find tracks from library based on their metadata. The example you tried doesn't even touch metadata.

This component is 13 years old. I seem to be unable to remember all the reasons or quirks with all the features that have accumulated. You can utilise the $rand() with query syntax by combining it with other functions: https://hydrogenaud.io/index.php?topic=30361.msg825468#msg825468 (https://hydrogenaud.io/index.php?topic=30361.msg825468#msg825468). Thought either there is a typo in the string I gave in the linked thread (https://hydrogenaud.io/index.php/topic,99068.0.html) or foobar has become picker. The correct example skip query is:
Code: [Select]
"$mod($rand(),3)" IS 0

Note about the history dropdown: you can right click the down arrow to get a context menu which allows you to remove unwanted entries.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-01-06 15:34:21
The $mod() variant is interesting. It's nitpicky, but it's also less mathematically sound regarding probability percentages, because 4294967295 is not evenly divisible by 100.

For now, I'll prefix my query strings with something like "$NOT(     Name: Higher Rated More Probable     )", which evaluates to nothing.

The history drop-down context menu is useful and should be documented. It'll still be tedious, though, to do this for every old iteration and you have to fear you'll forget and push your other productive strings too far down, so they disappear.

The "SKIP" tag field value "0:01:25-" and all possible semicolon variants should also be documented. (Is it possible to skip the beginning, multiple fractions in the middle, and the end of a track?)

The following information from the changelog should also be documented on the regular component page: "If the string [when treating query as titleformat string] evaluates to anything but empty string or 0 the track will be skipped."

Then again would it be nice to be able to get from clicking the preferences window's question mark title bar button from the property page of foo_skip to foo_skip online documentation. This works for other components. Therefore, this wiki page (https://wiki.hydrogenaudio.org/index.php?title=Foobar2000redirect:03C62312-7232-4E6B-9C76-361F0A6D133E), that you reach after clicking the question mark button, must redirect to a dedicated wiki page (search for "foo_skip" in wiki) which, in turn, could link to https://www.foobar2000.org/components/view/foo_skip (quick and easy route) or provide the documentation itself.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-01-06 18:49:09
I now have the equivalent in query syntax and with different usage of $muldiv(). Makes it a bit clearer.

Code: [Select]
"#     Name: Higher Rated More Probable     " IS comment OR
NOT (
// Only play the following.
(
rating MISSING

// Play ratings according to different probability percentages.
OR (
%rating% IS 3
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 50
) OR (
%rating% IS 4
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 90
) OR (
%rating% IS 5
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 95
)
) AND
duplicate MISSING
)

I replace the regex "(\R\s*(//.+)?)+" with a space before pasting it in foo_skip's property page.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ubboo on 2022-01-24 06:49:57
I have to limit duration to 30 second when "genre" tag is set to "interlude".

For the time being, I add SKIP tag with "30-" to all track of this genre.

I would like to automatically obtain this duration when genre is interlude (without adding "SKIP" tag).
Anyway to get this result ?

If not today, could it possible to add this feature ?
(for instance with a "virtual" SKIP tag set up in global preference for skip tracks)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 12:12:45
I am at a loss how this plugin works. I have a field called RATING, this field is displayed ok in playlists and on the properties page. Skip track is the first item in my DSP manager. I'm using the latest Foobar2000 version (1.6.10) and the latest skip track version (1.34).
But:
When I set skip to %rating% IS 1 on the preferences page, it doesn't skip anything, but when I choose 'treat as titlequery" it skips all tracks.

I have no need for the other features, I just want to skip tracks I rated 1.
In the playback menu I can select Skip tracks & use bookmarks, but this does not make a difference.
What am I missing?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-04 12:34:26
Have the same setup and works fine. %rating% IS 1. Titlequery disabled.
 
It does skip tracks with rating = 1 ONLY when playback jumps to such tracks. But not when double clicking on them manually (there is an option for that). Rating comes from playback statistics plugin on my setup though.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 13:56:28
Have the same setup and works fine. %rating% IS 1. Titlequery disabled.
 
It does skip tracks with rating = 1 ONLY when playback jumps to such tracks. But not when double clicking on them manually (there is an option for that). Rating comes from playback statistics plugin on my setup though.

Thanks for your answer. In my case, rating is part of metadata. But when I set rating to 1 in the playback statistics, the track is not skipped either.

Then I tried $meta(rating) IS 1 and tried $meta(%rating%) IS 1
no change.

 
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2022-02-04 14:06:10
Code: [Select]
rating IS 1

should do it. The lack of %% means read file tags.

You could use $meta(rating) but you have to wrap it in double quotes when used in queries..

Code: [Select]
"$meta(rating)" IS 1
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 15:10:19
Code: [Select]
rating IS 1

should do it. The lack of %% means read file tags.

You could use $meta(rating) but you have to wrap it in double quotes when used in queries..

Code: [Select]
"$meta(rating)" IS 1

Thanks so much for all your and Regors help.
Still can't get it to work though. I play using Simplaylist, could this interfere with the skip plugin?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-04 15:58:19
Code: [Select]
rating IS 1

should do it. The lack of %% means read file tags.

You could use $meta(rating) but you have to wrap it in double quotes when used in queries..

Code: [Select]
"$meta(rating)" IS 1

Thanks so much for all your and Regors help.
Still can't get it to work though. I play using Simplaylist, could this interfere with the skip plugin?
Don't think so, since foo skip it's on the DSP chain, so it affects anything played no matter the source (now also for streams) or UI.

Anyway there is something wrong on your side since that is not right
Quote
But when I set rating to 1 in the playback statistics, the track is not skipped either.

Are you sure skip is on the dsp? It's silly but maybe you deleted it by error on tests... can't see any other reason.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 16:03:41
This is my DSP chain. Skip track is there.
I really do't get it. I never have problems using and configuring plugins.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-04 16:08:34
What about your rating tag. Are they really named rating? (in a tagger program or at the properties panel pressing edit on the tag)
Tags may have a name and a different displayed name within Foobar context.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 16:20:26
What about your rating tag. Are they really named rating? (in a tagger program or at the properties panel pressing edit on the tag)
Tags may have a name and a different displayed name within Foobar context.
Thought about that. Simplaylist implements the rating. But there is a Rating field in the metadata:

when editing Rating it says RATING
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-02-04 16:28:56
@meooms:
Your dialog (v1.6.10) says "Rating". Mine (v1.6.9) says "<RATING>". May this have to do with the rating-related changes I proposed (https://hydrogenaud.io/index.php?topic=121935)? Maybe it's still buggy. It's a beta version (https://www.foobar2000.org/download), after all.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 16:37:43
@meooms:
Your dialog (v1.6.10) says "Rating". Mine (v1.6.9) says "<RATING>". May this have to do with the rating-related changes I proposed (https://hydrogenaud.io/index.php?topic=121935)? Maybe it's still buggy. It's a beta version (https://www.foobar2000.org/download), after all.
Could be the issue. But I had the same problem in 1.6.9
What is the difference between rating and <Rating> ?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-02-04 16:49:42
What is the difference between rating and <Rating> ?

Items without angle brackets are specially mapped fields, because tag types have special units designed for this data. "Track Number" and "Total Tracks", however, are written into the same unit, originally only intended for the track number.

Items with angle brackets use a generic mechanism of the tag types (like ID3 for .mp3 or MP4 tags for .m4a files) to store any data that hasn't a dedicated unit for it. And the name of the field is written to the file as opposed to the fields previously described.

Using angle brackets for ratings isn't quite correct of fb2k, though. It seems that the fb2k author adopts a new writing style for ratings.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-04 17:44:59
I wil try to use a new variable as skip criterium tomorrow. See if that works.
Thanks everyone for helping
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-02-05 06:59:56
@meooms, you didn't comment about regor's clarification that unless you alter configuration options, skipping is only done when playback advances to the track. Unless you enabled the "Skip even manually selected tracks" you can't double click the test track to see if skipping works. Perhaps you knew this, I just wanted to make sure.

I tested the behavior with foobar2000 v1.6.10 beta 2 and SimPlaylist. I see no issues.

If there is no hint about the problem in the foobar's console and you still can't make it work today, I could make you a test version with extra console logging.

Btw, there is no need to manually touch DSP configuration. The component automatically takes care of that.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-05 14:01:50
Case, thanks for your offer. Today I added a field called DONTPLAY. This somehow automatically appears WITH angle brackets as <DONTPLAY> in the properties dialog.

With skip set to
%DONTPLAY% IS 1
it all works ok! Tracks with this field set to 1 are skipped, others are not.

Very strange. Perhaps h-h is right, and does Foobar2000 have an issue with certain tags?
I use flac files and have the metadata writing mode for FLAC set to 'More compatible with other software'.

Now this leaves me with a problem: how to convert from RATING to <RATING>? And will this work?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2022-02-05 14:59:54
^ It probably just means you have added to Preferences > Advanced > Display > Properties Dialog > Standard Fields. Assuming you added Rating=RATING it should make no difference. (It should work regardless)

I suggest try a fresh portable install of foobar with just foo_skip. Without foo_playcount the default skip query should work looking at the file tag. Drop a bunch of different rated files in the playlist to test.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-05 16:01:48
^ It probably just means you have added to Preferences > Advanced > Display > Properties Dialog > Standard Fields. Assuming you added Rating=RATING it should make no difference. (It should work regardless)

I suggest try a fresh portable install of foobar with just foo_skip. Without foo_playcount the default skip query should work looking at the file tag. Drop a bunch of different rated files in the playlist to test.

Instead of a fresh install, I removed the playcount plugin. Now it works using the RATING field!
I have no idea why it works without the plugin, but I don't think that I have any use for the playcount plugin.
Thanks for your suggestion.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-06 19:15:30
That doesn't explain why tracks were not skipped when you said "I even added ratings via playcount plugin". Since the queries marc posted (with and without %) should have worked at some point either with the file tags or the library data.
Also... if playcount is installed, and a track has no data on the plugin library, why the file tag is not being used instead as fallback?

I mean, if you finally solved it for your use case, then that's great. But your reports still point to either a bad configuration (then it's fine and solved now) a compatibility problem (between both plugins when rating is also a tag) or a bug.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-06 23:15:58
That doesn't explain why tracks were not skipped when you said "I even added ratings via playcount plugin". Since the queries marc posted (with and without %) should have worked at some point either with the file tags or the library data.
Also... if playcount is installed, and a track has no data on the plugin library, why the file tag is not being used instead as fallback?

I mean, if you finally solved it for your use case, then that's great. But your reports still point to either a bad configuration (then it's fine and solved now) a compatibility problem (between both plugins when rating is also a tag) or a bug.

Agreed, I did not figure out if it's a bug or bad configuration. I will try a portable install with Simplaylist, playcount and my library and report for the greater good.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-08 15:39:20
Regarding the skip on Rating IS 1 problem  reported on:
- I did a portable install of ver 1.6.9 and added the latest foo_skip.fb2k-component .
Skipping worked fine with RATING IS 1
- Then I added Playback Statistics.fb2k-component
 Now skip track did not work with , not with $meta(%rating%)  IS 1 , and not with $meta(rating)  IS 1.

Also, in the default playlist view, without the Playback Statistics.fb2k-component the Rating field was displayed ok. After adding it, this only worked when set to $meta(rating) .  This is mentioned as default behavior for the latest version, but this method apparently does not work for Skip-trac.

IMHO this points to a bug when using both the skip-tag and the Playback Statistics component. This was done one a fresh stable install, with no additional components.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-08 17:08:12
I have both installed working without any problems though. Not saying there can not be a problem, but it is not so immediate.

Quote
$meta(%rating%)  IS 1 , and not with $meta(rating)  IS 1.
Those are wrong. This is the right expression:
Code: [Select]
"$meta(rating)" IS 1
BUT that's is meant to read tags from files.

Also the right query to read from database is:
Code: [Select]
%rating% IS 1

marc already pointed to it.
Code: [Select]
rating IS 1

should do it. The lack of %% means read file tags.

You could use $meta(rating) but you have to wrap it in double quotes when used in queries..

Code: [Select]
"$meta(rating)" IS 1
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: meooms on 2022-02-08 18:12:26
@regor
"$meta(rating)" IS 1 did it in both 1.6.9 and 1.6.10. I want it to read the file tags, not the database.
I really on't know why I could not get it to work earlier  :-[  , I tried them all. But it is working now. Thanks for the help!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-02-08 19:08:23
@regor
"$meta(rating)" IS 1 did it in both 1.6.9 and 1.6.10. I want it to read the file tags, not the database.
I really on't know why I could not get it to work earlier  :-[  , I tried them all. But it is working now. Thanks for the help!
I meant it for the plugin, since that was the last thing not working on your tests. Anyway glad you finally sorted it out.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2022-03-11 02:41:12
Hi!

Could you add ability to auto change DSP preset according to some conditions? For example if "%genre% HAS Audiobook" then it should be such-and-such preset, if "%genre% HAS Club" then such preset. If none matches then such preset (default).

Thank you in advance.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2022-03-11 08:55:53
Hi!

Could you add ability to auto change DSP preset according to some conditions? For example if "%genre% HAS Audiobook" then it should be such-and-such preset, if "%genre% HAS Club" then such preset. If none matches then such preset (default).

Thank you in advance.

I use Dynamic DSP plugin for that. I have a DSP that will switch from my default DSP chain to Dolby Headphone if it detects more than 2 channels. foo_dynamicdsp
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2022-03-13 21:51:04
I use Dynamic DSP plugin for that. I have a DSP that will switch from my default DSP chain to Dolby Headphone if it detects more than 2 channels. foo_dynamicdsp
Cannonaire, thank you!
Your suggestion works. Although it took some time to figure out how does it work and how to define operable script.

The only questions remained are: 1) how to turn on/off "Stop after current",  and 2) how to switch Order (random, shuffle, default)? It is supposed that it'd be switched automatically depending on titleformat query.

Thank you in advance!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2022-03-14 18:07:01
I don't know of any way to activate or deactivate Stop After Current, or to change playback order, using DynamicDSP or any titleformat script. Sorry.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: h-h on 2022-03-15 09:00:07
@Case's component Stop After Queue (https://www.foobar2000.org/components/view/foo_stop_after_queue) activates FB2k's "Stop After Current" when the last track of the queue is played.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2022-03-15 20:01:00
I use Stop After Queue all the time. Several times a day, for sure. I kinda wish foobar2000 had a "Play once (Album)" playback mode though, which would automatically stop playback at the end of the album.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: grimes on 2022-03-15 21:16:57
Try Stop after album (https://hydrogenaud.io/index.php?topic=83743.0).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2022-03-15 22:12:03
I'll try not to take us even further off topic, but using the Stop After Current function is different from a dedicated playback mode. I would rather have something that didn't rely on that. I'd really like dedicated playback modes for "Play once (Track)", "Play once (Album)", and "Repeat (Album)" that didn't make use of Stop After Current because that would be better for my workflow. We already have "Repeat (Track)" and "Shuffle (Albums)", so most of the functionality is already written, but just not implemented in that particular way.

Going back to Palash's request, are there any ways to trigger Stop After Current or change Playback Mode/order using title query? Is that even something that would be covered by foo_skip? I could see that being useful.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: palash on 2022-03-16 08:40:25
Going back to Palash's request, are there any ways to trigger Stop After Current or change Playback Mode/order using title query? Is that even something that would be covered by foo_skip? I could see that being useful.
For now foo_skip already can operate with titleformat query (I meen adding bookmark according to it).
So if I may, it's for the better, if another query would control "Stop After Current".
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ohlookasquir on 2022-04-28 20:03:15
Hello! Awesome forum here, looking forward to poking around some more. I'm a beginner programmer just trying out random small projects for fun. I would like to build a component that only plays the first 30 seconds of a song before automatically skipping. I listen to a lot of new music & would like to run through those songs faster so I can pick out the ones that really catch my fancy off the bat.

I tried using foo_skip but I'm not sure if the query I'm trying out 'SKIP=0:00:45-0:06:00' works. I tried setting up the SDK in Visual Studios but was struggling a bit -- which isn't a problem, just learning curves :)! I would really like to look into the time expressions code, if foo_skip's source files are available somewhere?

ty!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Koshingg on 2022-04-28 23:47:50
You can use foo_preview https://skipyrich.com/w/index.php/Foobar2000:Preview
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: MojoBass on 2022-04-29 05:41:16
This is how to use the SKIP tag field for partly playing a title:

SKIP=-<time>   to skip from the beginning to <time>.
SKIP=<time>-   to skip from <time> to the next track.
SKIP=<a>-<b>   to skip from position <a> to later position <b>.
SKIP=-<a>;<b>-   to skip from start to <a> and from <b> to next track.
SKIP=<a>-<b>;<c>-<d>   to skip from <a> to <b> and from <c> to <d>.

Timecodes use format [hh:][mm:]ss[.mmm]

To jump to the next track after 30s, the SKIP Tag would have to be set to '30-'.
If you want to start playing a track at time 45s and end playing this track at 6:00 minutes, the SKIP tag would be '-45;6:00-'
Setting the tag SKIP to '0:00:45-0:06:00' would mean that the track is played from the beginning to 45s, then the playback would jump to 6:00 and play from there to the end of the track.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: laddie on 2022-06-07 22:43:16
Is there a way to have Skip Track avoid playing songs from a certain playlist?

Example: I have an autoplaylist which is in a shared folder with other users, so I can't delete the song. I also can't use the <DONTPLAY> tag because if I do, that metadata will transfer to the other computers, which are also using the <DONTPLAY> feature in Skip Track.

So instead, what if I have a playlist called "DONTPLAY", and I manually put the songs on that list that I don't want to play. Skip Track checks that playlist to see if the song is on there and then skips it without disturbing the other users of the song.

Does that make sense?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: regor on 2022-06-08 12:32:13
Uhm... you are in fact looking for an autoplaylist which uses other playlists as sources (see playlist manager).

But probably you can do it with the component by using DONTPLAY as a multitag pointing to the user who doesn't want to play it.

Instead of %DONTPLAY% = 1 all users may tag %DONTPLAY% with multi-values: USERA; USERB; ...

%DONTPLAY% = USERA; USERC
Then you would add %DONTPLAY% IS USERA
Other user would add %DONTPLAY% IS USERB
Another user would add %DONTPLAY% IS USERC

B would play the track fine, while A and C would skip it.

Obviously I'm assuming the files are in a shared disk accessed by all the users, while every user a personal foobar installation (so every user may have its own query for the component).

Adding your user value to a multi-tag is trivial with button bars + foo_masstag. So it takes a second to tag any track to be skipped that way.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: laddie on 2022-06-08 22:20:07
Uhm... you are in fact looking for an autoplaylist which uses other playlists as sources (see playlist manager).

But probably you can do it with the component by using DONTPLAY as a multitag pointing to the user who doesn't want to play it.

Instead of %DONTPLAY% = 1 all users may tag %DONTPLAY% with multi-values: USERA; USERB; ...

%DONTPLAY% = USERA; USERC
Then you would add %DONTPLAY% IS USERA
Other user would add %DONTPLAY% IS USERB
Another user would add %DONTPLAY% IS USERC

B would play the track fine, while A and C would skip it.

Obviously I'm assuming the files are in a shared disk accessed by all the users, while every user a personal foobar installation (so every user may have its own query for the component).

Adding your user value to a multi-tag is trivial with button bars + foo_masstag. So it takes a second to tag any track to be skipped that way.
BRILLIANT! Thank you!!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2022-07-01 16:08:36
When I set the SKIP tag to -4.45 the component works as expected.

Opening track for playback: "C:\Download\Silence01min.mp3"
Using decoder shim instead of DSP: Skip Track
Skip Track found partial skip info from tags
Skip Track skipping to 0:04.450

But when I set the SKIP tag to -4.453 the component skips 0:08.503 which is unexpected.

Opening track for playback: "C:\Download\Silence01min.mp3"
Using decoder shim instead of DSP: Skip Track
Skip Track found partial skip info from tags
Skip Track skipping to 0:08.503

The about dialog states "Timecodes use format [hh:][mm:]ss[.mmm]" so it seems like -4.453 should be a valid tag value.

Am I doing something wrong?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-07-01 17:45:35
You aren't doing anything wrong. There was a silly bug in my time parsing code and it couldn't handle millisecond (or higher) accuracy.
Fixed version has been released.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ZhuGeLiang on 2022-07-01 20:07:56
Thanks for the quick turnaround!

Fixed version has been released.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: nikolai4ik on 2022-07-05 09:05:29
I now have the equivalent in query syntax and with different usage of $muldiv(). Makes it a bit clearer.

Code: [Select]
"#     Name: Higher Rated More Probable     " IS comment OR
NOT (
// Only play the following.
(
rating MISSING

// Play ratings according to different probability percentages.
OR (
%rating% IS 3
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 50
) OR (
%rating% IS 4
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 90
) OR (
%rating% IS 5
AND
"$add(1,$muldiv(100,$rand(),4294967295))" LESS 95
)
) AND
duplicate MISSING
)

I replace the regex "(\R\s*(//.+)?)+" with a space before pasting it in foo_skip's property page.
Do I put this into the skip track query or what? I'd love to have rating-weighted shuffle in my library...
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-07-07 08:02:32
You can't put it there as is, it only accepts a single line of text. You need to edit it so that everything is on one line.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: nikolai4ik on 2022-07-08 15:10:48
 Thanks,

NOT (((rating MISSING AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 60) OR (%rating% IS 3 AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 60) OR ( %rating% IS 2 AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 30) OR ( %rating% IS 1 AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 10 ) OR ( %rating% IS 4 AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 90 ) OR ( %rating% IS 5 AND "$add(1,$muldiv(100,$rand(),4294967295))" LESS 95)) AND duplicate MISSING)

seems to be working.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2022-07-10 01:15:37
I tried using that before, didn't work for me. Also, what's going on in the beginning and end of the syntax?

Code: [Select]
NOT (((rating MISSING AND...
instead of
Code: [Select]
NOT (((%rating% MISSING AND...

 Also
Code: [Select]
...AND duplicate MISSING
instead of
Code: [Select]
....AND %duplicate% MISSING
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: m3ta on 2022-07-11 11:33:38
Fresh install - the only Active DSP.

"SKIP=10-" does nothing, all tracks play from start to end.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-07-12 06:41:34
Did you enter that "SKIP=10-" into the skip query field in preferences? It means nothing there. The query string in the preferences is evaluated for each track prior to playback and if the query returns true, the current track will be entirely skipped.

SKIP tag field is used on a per-track basis. If you want some track to be skipped after 10 seconds of playback, tag that track the way you quoted.

And make sure you haven't accidentally disabled the component. Main menu has entry "Skip tracks & use bookmarks" in the "Playback" section. The entry shows a checkmark when the component is active.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: nikolai4ik on 2022-07-13 09:48:16
I tried using that before, didn't work for me. Also, what's going on in the beginning and end of the syntax?

Code: [Select]
NOT (((rating MISSING AND...
instead of
Code: [Select]
NOT (((%rating% MISSING AND...

 Also
Code: [Select]
...AND duplicate MISSING
instead of
Code: [Select]
....AND %duplicate% MISSING
don't know i stole it from h-h
but it definitely works for me in current form (obv i don't know if actual percentages of probability work, but enabling "apply skip for manually selected songs" lets you test if it works. My 5 rated songs almost never skip.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2022-07-13 14:37:24
Also, what's going on in the beginning and end of the syntax?
Code: [Select]
NOT (((rating MISSING AND...
instead of
Code: [Select]
NOT (((%rating% MISSING AND...
I think according to an earlier post (https://hydrogenaud.io/index.php/topic,30361.msg1007808.html#msg1007808), rating checks file tags directly, while %rating% would check Playback Statistics database field if installed.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2022-07-13 17:14:05
That explains things, I don't use Playback Statistics database. Thanks.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2022-08-29 13:56:44
After seeing the link in the minbar thread, just posting to thanks for the 64bit fb2k v2 version. Very nice.  :))
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2022-09-11 13:37:59
I wouldn't normally have the same track skipped multiple times in a single fb2k session but messing around, I discovered this curious message...

Code: [Select]
Skip Track delaying skipping after a repeat skip

I'm just wondering why? It's certainly not the same track appearing more than once in a playlist. It's just going back and playing the track preceding a skippable track.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-09-11 14:25:21
The reason is documented somewhere deep in this thread. Especially on slower machines or with heavy UI modifications the player could appear frozen if all tracks got skipped at super high speed. I tried to prevent such misfortune from happening to anyone again and added a workaround. I recall I record the first track skipped in a session and if the same track is reached again there's some delay added before the next skip. The idea is to allow main thread time to update UI so user can hit stop or do whatever.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: marc2k3 on 2022-09-11 14:31:49
OK, that's entirely reasonable. Thanks.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: wolf7913 on 2022-09-13 15:08:15
Did you enter that "SKIP=10-" into the skip query field in preferences? It means nothing there. The query string in the preferences is evaluated for each track prior to playback and if the query returns true, the current track will be entirely skipped.

SKIP tag field is used on a per-track basis. If you want some track to be skipped after 10 seconds of playback, tag that track the way you quoted.

And make sure you haven't accidentally disabled the component. Main menu has entry "Skip tracks & use bookmarks" in the "Playback" section. The entry shows a checkmark when the component is active.

Can you please elaborate on what "tag that track the way you quoted' means? I have 0 experience with foobar. All I want is all tracks to play no longer than 1 minute. Is there a way to do so?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-09-14 07:38:42
This component can't do what you want, but foo_seek (https://hydrogenaud.io/index.php/topic,88654.0.html) should.

The part you asked about means that each track you want to play only partially needs to be explicitly tagged with SKIP field.
I'll add a screenshot of an example scenario where someone might want to skip the quiet part at the end of a Pink Floyd track. It could be accomplished by adding a SKIP field with the wanted track end timecode. In this case the track would end after one minute and 30 seconds.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Dojando on 2022-10-02 15:51:38
How do I skip parts in the end or middle of the track? Everything that is above 1 minute does not work.
Example:
"01:00-01:30"; "1:00-1:30"; 0:01:00-0:01:30" do not work
"0:10-0:30"; "0:30-1:30" do work.
However something is wrong with the timing. When I skip "-00:10" it skips to 0:20 of the song instead of the first 10 seconds.
I have no idea why it is acting so strange.
Foobar ver. 1.6 (.3 I think)
Fooskip version 1.35 for foobar 1.4+
I also use tagbox for tagging and editing the tags easily.
Thanks for any help and suggestions :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2022-10-02 17:40:28
All your syntaxes are valid and work. Have you perhaps manually added Skip Track DSP to the DSP chain? I could replicate issues by manually adding extra Skip Track entries to the DSP chain. They all do skipping and you will get nonsensical and unexpected results that way.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Dojando on 2022-10-03 15:47:21
All your syntaxes are valid and work. Have you perhaps manually added Skip Track DSP to the DSP chain? I could replicate issues by manually adding extra Skip Track entries to the DSP chain. They all do skipping and you will get nonsensical and unexpected results that way.

Thank you for your answer! It was indeed the problem! :D I deleted the DSP Chain entries and now it works as expected! :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2023-05-14 01:42:11
I cant get the plugin to work, it is installed, I have added SKIP to all songs, added the skip info.
(I used to use it, then new computer so needed to install everything again)

So my question is does this plugin need any other plugin to work?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-05-14 10:52:24
You don't really say anything about what you have done.
SKIP tag is used for partial skipping. It's not meant to be added to every song, only for tracks where you want to skip some unwanted portions.

By default the component fully skips tracks that the user doesn't like. That is tracks that are rated with 1 star.

The SKIP tag on the other hand specifies timespans in that particular track that get skipped, for example quiet 30 second intro could be skipped with SKIP=-0:30.

And no, this component doesn't require any extras.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Wolfbane on 2023-05-17 12:51:03
You don't really say anything about what you have done.
SKIP tag is used for partial skipping. It's not meant to be added to every song, only for tracks where you want to skip some unwanted portions.

By default the component fully skips tracks that the user doesn't like. That is tracks that are rated with 1 star.

The SKIP tag on the other hand specifies timespans in that particular track that get skipped, for example quiet 30 second intro could be skipped with SKIP=-0:30.

And no, this component doesn't require any extras.


I dint say what I have done, because my question did not rely on anything I have done.
My question was rather simple. "Does the plugin need any other plugin to work"... So there was absolutely no reason to write what I had done.

So after your rant, you answers my question, thx.

It seems like all my previous "Skip" settings that where saved on the playlist, get reset for some other reason then.
So have a long playlist.. a few tousen songs, and maybe 30% have Timestamped SKIP settings, that seems to get "reset" the first time they are played.

Hmm... Oki, strange.

So Im not missing any plugin then, does anyone know what is causing the songs to lose the information the first time they are played? Or how to counter act it?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: The Link on 2023-05-17 13:51:53
You don't really say anything about what you have done.

And now we‘re back to what you interpreted as a personal attack. Without any information about what kind of audio files are concerned and how you tagged your files, every answer can only be guesswork.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: jazzthieve on 2023-05-18 07:12:58
So after your rant, you answers my question, thx.

Check yourself. You're overreacting. If I were Case, you wouldn't get any response anymore.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kahel on 2023-05-18 11:22:06
Quote
If I were Case, you wouldn't get any response anymore.

Not answering for that reason alone would be 'overreacting' too... just saying.    : )

The guys clearly took it the wrong way (for almost no reason)... but it happens... (not a reason to add fuel to the fire.)
Hopefully he realize that, apologize (or not,) and the thread move on...

On a general note... doesn't mean that 'we' shouldn't answer, even rude comment, if they warrant a response... that could ultimately benefit the community.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-05-21 11:20:01
I installed the plugin and I find it in the active dsp list, but if I remove it from the active dsp the next time I restart the dsp menu I always find it.

Where am I wrong?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-05-21 12:04:03
I installed the plugin and I find it in the active dsp list, but if I remove it from the active dsp the next time I restart the dsp menu I always find it.

Where am I wrong?
It automatically puts itself in every DSP chain. I think this is by design so it will always skip the tracks it is supposed to when it is enabled, regardless of which DSP chain you use. You can also add a button that will show you when skipping is enabled or not. That's how I turn it on and off. This functionality is honestly perfect for me.  :D

I have noticed that sometimes it can cause problems if it isn't the first item in a given DSP chain, so I would recommend putting it there for all saved chains and using a button or menu item to turn it on and off as needed.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-05-22 09:41:39
I installed the plugin and I find it in the active dsp list, but if I remove it from the active dsp the next time I restart the dsp menu I always find it.

Where am I wrong?
It automatically puts itself in every DSP chain. I think this is by design so it will always skip the tracks it is supposed to when it is enabled, regardless of which DSP chain you use. You can also add a button that will show you when skipping is enabled or not. That's how I turn it on and off. This functionality is honestly perfect for me.  :D

I have noticed that sometimes it can cause problems if it isn't the first item in a given DSP chain, so I would recommend putting it there for all saved chains and using a button or menu item to turn it on and off as needed.

I have removed the plugin.

I must be able to choose whether to have it in the list of active dsp or not.

Waiting for fix I'm forced to remove it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-05-22 10:43:10
I understand that reasoning. I have lots of things like that since I'm obsessive compulsive. Although I'm not sure why it matters in this case since it won't do anything unless it is enabled at a given moment, even if it is in the DSP chain.

Regardless, I hope it can be fixed to suit your preferences, maybe with an option - just as long as I get to keep it functioning as it is already, since it is perfect for me as-is.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-10 08:48:50
After the removal of the foo skip plugin I'm left with this rather annoying indication in the dsp menu.

(https://i.postimg.cc/7GNZG7LQ/Immagine-2023-06-10-094453.png) (https://postimg.cc/7GNZG7LQ)

I can't delete the item permanently.

I see remaining traces in the foo_ui_columns.dll.cfg as well

Spoiler (click to show/hide)

Really annoying thing.

I also deleted the foo_skip.cfg

Nothing to do the evidence reappears as soon as I activate any other plugin.

This also applies to other plugins since I uninstall a plugin the related configuration must also be deleted (discogs is one of them).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-06-11 06:39:36
Your complaint has nothing to do with Skip Track.

foobar2000 doesn't really adjust user configuration when a component is deleted. And it certainly doesn't nuke component settings without asking, which is a good thing. The configuration files are some bytes or at max some kilobytes in size and when a component is gone, they do absolutely nothing. But if a component is reinstalled, their configuration isn't gone.

If you uninstall any DSP that is currently active, you will be left with the entry marking the missing DSP. Same with uninstalling UI element, you will be left with a blank spot in the layout. If you aren't planning on reinstalling the components, remove the entry that was left behind. With DSPs there's the delete button (X) that you can easily hit to get rid of things.

Skip Track has nothing to do with Columns UI configuration. Only Columns UI is responsible for storing its configuration in that file. Are you using a downloaded theme someone created, as your copy/paste mentioned ELPlaylist's %el_user_profile_path%?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-06-11 06:42:42
I installed the plugin and I find it in the active dsp list, but if I remove it from the active dsp the next time I restart the dsp menu I always find it.
The component works as a decoder shim, otherwise it wouldn't be able to skip anything seamlessly. That requires it to be present in the DSP chain, otherwise the shim isn't enabled.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-11 08:17:30
I understood what you wrote.

Without going into the merits of the goodness of the plugin, if I don't need it once I try it and uninstall it, I don't want to see any traces in the active dsp menu.

I was forced to put the plugin back, which I don't need, to my considerable disappointment.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-06-11 09:41:08
You are not. Do you not see the 'x' behind the name of the entry? Clicking that removes the DSP and you are done.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-11 10:14:07
It is a pity that as soon as I activate any other dsp plugin, I find it, even if deactivated in the list of active plugins and it is already a contradiction, if I then uninstall it, it reappears like a ghost.

For me this is not acceptable.

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-06-11 10:57:10
You are loading a DSP preset where it is stored. Resave your presets.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-11 11:33:42
I saved the individual presets I had again.

It seemed to work, except as soon as the track started playing the Skip Track reappeared.

Edit.

I did a restart of foobar2000 and maybe that fixed it.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-11 13:13:55
No way.

When track or radio streaming is changed, it returns, repositioning itself in the list of active dps.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-06-11 13:41:23
If the component is installed it will keep itself functional, that is, it will always be in the DSP chain.

When the component is not installed it will absolutely not appear for you on its own. foobar2000 v2.0 allows configuring certain DSP chain for chosen output, check those settings. There are also third party components that allow dynamically adjusting DSPs. At least foo_dynamicdsp and I think foo_playlist_attributes too.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: ApacheReal on 2023-06-11 14:12:12
After re-saving the single presets without the presence of Skip Track and consequently updating the configuration file/files, I proceeded to uninstall the foo_skip plugin.

Seems to work, fingers crossed.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: DoubleUD on 2023-06-24 19:33:52
Hello,

I have this setup in which one tab skips a bunch of songs based on when the track was last played, while also taking into account the total playlist duration. However, if I hit play upon restarting foobar, it appears that in 1.37 the total playlist calculation is based on a different tab (presumably the first one). This is noticeable as the player won't skip songs and my first tab typically doesn't have a lot of entries, thus drastically reducing the total playlist duration threshold.

From what I can tell this behavior is being upheld until any manual action. For example, when I hit next, the player will resume the desired behavior of skipping tracks. I was wondering if you may be able to confirm this behavior? Many thanks in advance for the help.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kahel on 2023-07-20 17:16:55
Hi Case... thanks for this 'must have' plugin.

I've read (with attention) the conversation between you and ApacheREal...
Unless there is a technical reason... wouldn't it be good to have a checkbox (in the option) that could disable the plugin entirely...

Plus that would allow the use of a shortcut to disable/enable foo_skip, if I'm not mistaken.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-07-20 17:34:49
Plus that would allow the use of a shortcut to disable/enable foo_skip, if I'm not mistaken.
You can already put a button on the toolbar that will enable and disable foo_skip, and it even shows when it is active or not like Stop After Current.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kahel on 2023-07-20 23:27:56
Seem interesting... but I don't see anything like that by just right clicking the toolbar... maybe it doesn't work with CUI...
Can you do a small tuto for anyone interested in implementing it.

Even tough the foobar I'm running right now doesn't have a toolbar... I might try it later on a basic foobar test layout I have laying around.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-07-20 23:52:23
Right-click where the buttons are and add a button. It will be Main Menu Items > Playback/Skip tracks & use bookmarks. I'm using it on CUI as well, fren! :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-07-21 11:14:41
I have this setup in which one tab skips a bunch of songs based on when the track was last played, while also taking into account the total playlist duration. However, if I hit play upon restarting foobar, it appears that in 1.37 the total playlist calculation is based on a different tab (presumably the first one). This is noticeable as the player won't skip songs and my first tab typically doesn't have a lot of entries, thus drastically reducing the total playlist duration threshold.

From what I can tell this behavior is being upheld until any manual action. For example, when I hit next, the player will resume the desired behavior of skipping tracks. I was wondering if you may be able to confirm this behavior? Many thanks in advance for the help.
Sorry for the delay, time goes by too fast.

The correct playlist should be picked as the playback starts and a debug build here shows correct values. You could try this special compile that logs some internal state information to the foobar's console: https://foobar.hyv.fi/foo_skip_debug.fb2k-component (https://foobar.hyv.fi/foo_skip_debug.fb2k-component).
If the logs catch incorrect behavior, you can send them to me for example with a private message.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: kahel on 2023-07-21 23:46:03
Right-click where the buttons are and add a button. It will be Main Menu Items > Playback/Skip tracks & use bookmarks. I'm using it on CUI as well, fren! :)

Thank you... it's been so long since I use a skin with a toolbar, I wasn't even aware of the adding button part this way.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Habanero on 2023-08-01 09:10:02
I'm trying to skip songs that have a duration of 60 seconds or less, but it seems to lag foobar to the point of being unusable when I try to enable this. Is this correct?

%length% LESS 60

Edit: Updating to 1.37 seems to have fixed it (looks like it works better if you use the default %length_seconds% LESS 60 instead)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Habanero on 2023-08-01 10:55:36
Hm, nevermind, it's not working again. The console says "Using decoder shim instead of DSP: Skip Track."

Edit: So many edits... As it turns out, I had the "skip tracks" option turned off in the Playback menu, so I turned it on and tried it again. However, now it's back to freezing up foobar2k. I'm on 2.0, x86 if I recall (since so many plugins haven't been updated yet). It was lagging pretty hard, but I had to console open and it looked like it skipped tracks that weren't under 60 seconds anyway. Eventually it froze my computer entirely lol. Memory leak?

In any case, I'm just gonna use a playlist search filter instead to hide songs shorter than 60 seconds for now.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-08-15 09:39:13
I'm trying to skip songs that have a duration of 60 seconds or less, but it seems to lag foobar to the point of being unusable when I try to enable this. Is this correct?

%length% LESS 60

Edit: Updating to 1.37 seems to have fixed it (looks like it works better if you use the default %length_seconds% LESS 60 instead)
Remember, you can always test queries that don't use Skip Track specific fields easily in Library -> Search. Both your strings produce the exact same results.

Hm, nevermind, it's not working again. The console says "Using decoder shim instead of DSP: Skip Track."

Edit: So many edits... As it turns out, I had the "skip tracks" option turned off in the Playback menu, so I turned it on and tried it again. However, now it's back to freezing up foobar2k. I'm on 2.0, x86 if I recall (since so many plugins haven't been updated yet). It was lagging pretty hard, but I had to console open and it looked like it skipped tracks that weren't under 60 seconds anyway. Eventually it froze my computer entirely lol. Memory leak?

In any case, I'm just gonna use a playlist search filter instead to hide songs shorter than 60 seconds for now.
That query string can skip all your tracks if you have enabled the option "Treat query as titleformat string (required for streams)". With that option enabled the skip string isn't using query syntax but standard titleformatting. In titleformat mode any string that returns zero or blank output will mean no skip, anything else means skip. Your "skip anything less than 60 seconds long" skip can be written in titleformat code as:
Code: [Select]
$ifgreater(%length_seconds%,59,0,1)

Skipping tracks fast can easily be taxing for your system. You may have components that for example try to start downloading song lyrics or album art for the files. And if these special functionalities are created with interpreted languages using the Javascript panels the demand for your computer's resources is even higher. But the entire machine should never lock up, but of course it might look that way if you have some very heavy processes running with realtime priority and you somehow manage to run out of memory. But with 32-bit foobar2000 running out of memory is unlikely, it can only use 4 GB of RAM. But of course if you have components that spawn worker processes each worker can also consume 4 GB.
Woud be curious to know what makes things go so bad for you. Could you use  Process Explorer (https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer) and double click the foobar2000 process and then open the Threads tab. That should show which component or part of the player uses all the processing power. Perhaps set foobar2000 process priority to low before starting. And if you see memory use indeed go super high so that your machine would start swapping you can suspend the process from right click context menu.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-09-02 05:01:27
Is there a way to NOT skip a track if it has a certain tag, when it would otherwise be skipped?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2023-09-13 16:51:18
Is there a way to NOT skip a track if it has a certain tag, when it would otherwise be skipped?
You can do this with titleformatting, no? Something like:
Code: [Select]
(%donotskip% MISSING) AND (%rating% IS 1 OR %otherquery% LESS 5)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2023-09-13 16:59:12
Is there any chance to make the %skip_count% tag optional (on/off), or making it user configurable so it populates a different field instead (e.g. %play_counter%)?

Seems like it was added in this version:
https://www.foobar2000.org/components/view/foo_skip/release/1.27

A component offering similar functionality, foo_skipcount was released which also tries using %skip_count% and this (or a similar solution) would alleviate the naming conflict:
https://hydrogenaud.io/index.php/topic,124742.0.html

Not sure what is the best solution here, so I asked in both topics.

Thanks for this component by the way Case, has been essential for me for many years now :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-09-13 23:10:32
You can do this with titleformatting, no? Something like:
Code: [Select]
(%donotskip% MISSING) AND (%rating% IS 1 OR %otherquery% LESS 5)
I tried using if statements and such, but I couldn't get it to work. I also don't know what kind of arguments are valid (like "MISSING", I had no idea that was a thing.) What I need is for it to not skip a song if %pla_stop_focused_track_active% is equal to %list_index%, and then skip songs based on my currently working script, which is
Code: [Select]
%rating% IS 1 OR %rating% IS 2 OR %last_played% DURING LAST 8 HOURS
Do you know how I would write this? Thanks for responding earlier.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2023-09-14 19:37:42
Is there any chance to make the %skip_count% tag optional (on/off), or making it user configurable so it populates a different field instead (e.g. %play_counter%)?
I'll change the field name.

What I need is for it to not skip a song if %pla_stop_focused_track_active% is equal to %list_index%, and then skip songs based on my currently working script, which is
Code: [Select]
%rating% IS 1 OR %rating% IS 2 OR %last_played% DURING LAST 8 HOURS
Do you know how I would write this? Thanks for responding earlier.
As documentation states, %list_index% is only valid in certain contexts, like in playlist viewer. It has no meaning for Skip Track. And unfortunately as the API functions to get playlist information are only valid from main thread, I can only get information about playing track's position in the playing playlist with delay - too late to be used for skip check. I could simulate it with elaborate workarounds as long as playback order isn't random, but I would rather not.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Daeron on 2023-09-14 19:55:06
I tried using if statements and such, but I couldn't get it to work. I also don't know what kind of arguments are valid (like "MISSING", I had no idea that was a thing.)
Sorry, by titleformatting I meant to say query syntax. Here is the wiki page that goes through what options are available:
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Query_syntax

Remember that you can influence how a query is evaluated by using ( ), AND, OR etc. in the right places (if you need to check for multiple conditions).

Case already explained the situation with %list_index% in this...case.

I'll change the field name.
Thanks!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Cannonaire on 2023-09-15 09:31:26
I could simulate it with elaborate workarounds as long as playback order isn't random, but I would rather not.
I understand. I won't ask you to do something like that. I will have to be careful when setting the final track I want to listen to. Thank you for the information, everyone!
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: DClaville on 2023-09-16 17:36:07
Wow i never new I needed this component thanks for updating it!

Its perfect I have set it to skip all christmas songs what i have been doing up until now was have all christmas songs in a folder and then move the folder out of my music location but this is much easier and can just remove it the query when christmas time comes around

I just put %Genre% HAS Christmas

all my christmas songs are tagged with their main genre; Cristmas so this works easy
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: aloola on 2023-10-21 18:39:34
Is there any way to make skip track work only on certain playlists?
I have three playlists: A, B, and C. I only want the skip track function to work on playlist C. Is there any way to make this happen?

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: aloola on 2023-10-24 14:31:26
please ignored my dumb question before. I found the info on the foobar component page.

"%playlist_name% returns the name of the playlist where the current file is played from"
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: NoToneS on 2023-11-09 13:22:30
Hi, I'm currently using this skip format, but does anyone know how to make it more random, as in Random or Shuffle mode it nearly always repeats the order. any help appreciated.

rating IS 2 OR rating IS 0 OR %last_played% DURING LAST $playlist_length(minutes, 90) MINUTES

I've been experimenting with %played_per_day% to see if this could work but not worked out anything as yet.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: anamorphic on 2024-01-09 16:23:51
Hey Case, just installed foo_skip 1.38 on fb 2.1 and noticed Preferences are cut off on right side...

Win10 (22H2 / 19045.3803) on 2nd monitor 1080p with display scaling 125% (no problem at 100%)

(It could be the crappy display drivers on my music laptop here? - Intel UHD Graphics 600 - curious that no-one has reported it so far)

Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2024-01-09 16:41:25
Thanks for notifying. Display drivers can't cause such issues. Waveform Minibar had similar looking bug so I think the cause is the same.
The config screen resource uses a different default font than foobar2000 which causes automatic DPI scaling calculations to be off. I'll try to get updates out soon.

Edit: Fixed version uploaded to the repository (https://www.foobar2000.org/components/view/foo_skip).
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2024-01-28 12:22:35
Hi there!
@Case,
I noticed that there is no option to add a bookmark for the following playlist items due to the menu option not appearing.
Here are some links (the first two for the Youtube Source component) and an XM module for testing:
Code: [Select]
www.youtube.com/watch?fb2k_artist=PYLOT&fb2k_search_title=The+Return&fb2k_title=The+Return&v=Oddp32TODKs
fy+https://soundcloud.com/hansee/hansee-mordi-muffin
ftp://ftp.modland.com/pub/modules/Impulsetracker/Mick Rippon/belief.it
However, the feature to add a bookmark automatically works fine.
It would also be convenient to duplicate the feature of adding a bookmark using the context menu by right-clicking on the selected playlist element.

Thx.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: DClaville on 2024-04-13 18:28:27
I feel like I am missing something but how do I delete a skip text line?
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Case on 2024-04-13 22:27:14
You can remove a skip query from the history by right clicking on the drop down arrow at the end of the text field. There's also an option to wipe all entries at once.

@Sergey77 - sorry, I had missed your issue report. I'll fix that for the next release.
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: Sergey77 on 2024-04-14 08:46:06
You can remove a skip query from the history by right clicking on the drop down arrow at the end of the text field. There's also an option to wipe all entries at once.

@Sergey77 - sorry, I had missed your issue report. I'll fix that for the next release.
Oh, it's nothing, @Case
Thanks for your reply. :)
Title: Re: foo_skip: skip tracks that match a specified search query
Post by: DClaville on 2024-04-14 09:58:17
You can remove a skip query from the history by right clicking on the drop down arrow at the end of the text field. There's also an option to wipe all entries at once.

@Sergey77 - sorry, I had missed your issue report. I'll fix that for the next release.
Ah ON the arrow how smart thank you for the help I had been clicking pretty much everywhere else lol