#contents

**これ何? [#ycfbd7e2]

タグや [[custom_info>General#m6aa62c4]] のデータベースに書き込まれている情報を参考にし、自動的に特定の曲の再生をスキップする[[コンポーネント>Components]]。
デフォルトでは '''SKIP''' = 1 か '''SKIP''' = true となっているファイルの再生をスキップします。プレイリストには表示させたいけど演奏はさせたくない場合などにどうぞ。

**設定 (Preferences) [#hc07db56]

設定画面は Preferences>Playback>skip control にあります。
#imgr(./snaps/up556.png);

ここではスキップの条件を [[TitleFormatting]] を使うことで追加できます。''Add'' でスクリプトを追加、''delete'' でスクリプトを削除します。
''※作成したスクリプトは、後で[[ツールバーから選択しないと>#a7d3660c]]動作しません。''このスクリプトを実行して "1" や "TRUE" が返されるファイルはスキップされます。

例えば
 $if(%rating%,,1)
このスクリプトを例にとると、'''RATING''' に何か値があるならば何も文字を返さない、つまり "1" や "TRUE" を返さないのでスキップせず、'''RATING''' に値が無ければ "1" を返すのでスキップします。

次にデフォルトのスクリプトを例にとってみます。
 $if2(%skip%,0)
$if2 を使っていますが、結果的に '''SKIP''' = 1 か '''SKIP''' = true となっているファイルの再生をスキップすることが分かります。
("0" と書いてあるのは「スキップしない」ということを分かりやすくする為だと思われます)
 
なお、スクリプトは再生された瞬間にだけ参照されるので、 再生途中に値が変わってもスキップされません。
(例えば「曲の途中で '''SKIP''' = 1 にしたらその曲をスキップ」や、 %_time_elapsed_seconds% を使って「30秒たったらスキップ」や、 %_ispaused% を使って「一時停止したらスキップ」、ということは出来ない)

また、[[playback core から値を得る関数>Title Formatting Help#a7d3660b]]及び2バイト文字は使えないようです。

***スクリプトのサンプル [#le82ecbf]

※ スクリプトの意味を理解しやすくするために、ここでは "TRUE" を使いました。
+'''SKIP''' に何か値のあるトラックをストップ
 $if(%skip%,TRUE,FALSE)
+一曲が 300 秒を超えるファイルをスキップ
 $ifgreater(%_length_seconds%,300,TRUE,FALSE)
+'''RATING''' が 1 以下、または '''Rating''' が無いファイルをスキップ
 $ifgreater(1,%rating%,FALSE,TRUE)
+'''SKIP''' = 1 かつ '''RATING''' が 1 以下のファイルをスキップ
 $if($equal(%skip%,1),$ifgreater(%rating%,1,FALSE,TRUE),FALSE)
+50% の確率でランダムにスキップ(v0.9.4.5)
 $ifequal($rand(2),0,TRUE,FALSE)

**設定 (ツールバー) [#a7d3660c]

Playback>Skip から設定できます。

#imgr(./snaps/up557.png);

-''Activate''
--スキップを有効にします。
-''Deactivate''
--スキップを無効にします。
-''Toggle''
--''Activate'' と ''Deactivate'' を切り替えます。
-''(設定したスクリプト)''
--この中からスキップに使うスクリプトを一つ選択します。同時に複数を選択することは出来ません。
新しいスクリプトを作っても、ここで選択しておかないと動作しないので注意してください。