Skip to main content

Notice

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

Re: foo_skip: skip tracks that match a specified search query

Reply #700
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?

Re: foo_skip: skip tracks that match a specified search query

Reply #701
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.


Re: foo_skip: skip tracks that match a specified search query

Reply #703
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...

Re: foo_skip: skip tracks that match a specified search query

Reply #704
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #705
 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.

Re: foo_skip: skip tracks that match a specified search query

Reply #706
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

Re: foo_skip: skip tracks that match a specified search query

Reply #707
Fresh install - the only Active DSP.

"SKIP=10-" does nothing, all tracks play from start to end.

Re: foo_skip: skip tracks that match a specified search query

Reply #708
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #709
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #710
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, rating checks file tags directly, while %rating% would check Playback Statistics database field if installed.

Re: foo_skip: skip tracks that match a specified search query

Reply #711
That explains things, I don't use Playback Statistics database. Thanks.


Re: foo_skip: skip tracks that match a specified search query

Reply #713
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #714
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.


Re: foo_skip: skip tracks that match a specified search query

Reply #716
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?

Re: foo_skip: skip tracks that match a specified search query

Reply #717
This component can't do what you want, but foo_seek 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.

Re: foo_skip: skip tracks that match a specified search query

Reply #718
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 :)

Re: foo_skip: skip tracks that match a specified search query

Reply #719
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #720
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! :)

Re: foo_skip: skip tracks that match a specified search query

Reply #721
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?

Re: foo_skip: skip tracks that match a specified search query

Reply #722
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.

Re: foo_skip: skip tracks that match a specified search query

Reply #723
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?

Re: foo_skip: skip tracks that match a specified search query

Reply #724
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.