Skip to content
AF-1 edited this page Dec 19, 2023 · 8 revisions

Custom Skip wiki


Filter rules like "Skip artist XY" or "Skip short tracks" are grouped in filter sets (= group of filter rules).

Primary and secondary filter sets

Primary filter set

On the web page you can set a primary filter set (by clicking on the name of a filter set) that will always filter tracks (not just in dynamic playlists). The name of the currently active primary filter set is displayed at the top.
Since the active primary filter set will filter tracks globally (= always) you'll want to include only a few rather general filter rules like filter all tracks shorter than 90 seconds or filter all tracks with the word never in their comment tag.

You can also use CLI commands to enable/disable the primary filter set:

  • customskip setfilter defaultfilterset.cs.xml to enable the filter set called defaultfilterset.cs.xml
  • customskip clearfilter to disable the primary filter set.

Please note:

  • You have to use the complete file name (incl. the file extension .cs.xml).
  • The file name is case-sensitive. CustomSkip would consider TEST.cs.xml and test.cs.xml two different filter sets.

Important: Changing or disabling the primary filter set will also disable any active secondary filter set!


Secondary filter set

You can enable a second(ary) filter set whose rules will be evaluated/executed in addition to the rules of the active primary filter set (if there is an active primary filter enabled for your client/player). Secondary CustomSkip filter sets are enabled/disabled with a CLI command followed by the filename of the secondary filter set:

  • customskip setsecondaryfilter TEST.cs.xml will enable the filter set TEST.cs.xml
  • customskip clearsecondaryfilter TEST.cs.xml will disable the secondary filter set for a client.

Important: Primary and secondary filter sets are client-specific. You can enable different primary and secondary filter sets for different clients. Therefore you'll have to prefix all CLI commands with the client's ID (MAC address). Dynamic playlists parameters (see below) will add the client ID automatically.



Dynamic Playlists version 4+

Dynamic playlists can use the PlaylistStartAction and PlaylistStopAction parameters to execute the one of the above CLI commands when a dynamic playlist is started or stopped.
It's used to enable or disable a secondary CustomSkip filter set to filter tracks at playtime. Selecting a Customkip filter set in the SQPlayList plugin does the exact same thing: add these 2 parameters to make CustomSkip enable/disable the selected (secondary) filter set.

Example:

-- PlaylistStartAction1:cli:customskip setsecondaryfilter TEST.cs.xml
-- PlaylistStopAction1:cli:customskip clearsecondaryfilter

The PlaylistStopAction parameter to disable to selected (secondary) CustomSkip filter set is executed as soon as the Dynamic Playlists plugin stops adding new songs and is no longer 'active'. So if DPL can't find more tracks matching your search criteria it stops being 'active' and disables the secondary filter on exiting. The remaining unplayed songs in your client playlist will no longer be filtered by the secondary CustomSkip filter set because DPL disabled it on exiting. If that happens a lot to you I recommend setting the DPL preference max. number of unplayed tracks to a low number so DPL doesn't stop and disable the secondary CS filter too soon.


I want CustomSkip to filter only dynamic playlist tracks

No problem. There are 2 ways:

  • Go to CustomSkip3's (web) menu and check if there's an active primary filter set enabled for your client/player. If so click on Turn off filtering to disable it.

  • There's another way: if it doesn't exist already create a filter set (e.g. defaultfilterset.cs.xml) without any filter rules and click on its name to make it the active primary(!) filter set for your client/player. CustomSkip displays the name of the active primary filter set at the top of its web UI menu. CustomSkip will use this empty filter set and will not filter tracks globally because the filter set is empty.

Now you can create other filter sets to select as your (secondary) CustomSkip filter set in SQLPlayList or in your custom dynamic playlist definition. The Dynamic Playlists plugin will enable the selected secondary filter set when your dynamic playlist is started and disable it when it's stopped.

Result: no filtering should happen unless the Dynamic Playlists plugin is active and you told it to enable a secondary filter set.