タグの情報を基に、曲を検索する方法について解説します。そのとき検索の対象によって、次の2つの検索方法があります。
検索クエリの基本は、Guidelines - Foobar2000:Query syntaxで解説されています。
キーワードを記述するだけでも検索できます。このとき演算子は不要で、メタフィールドおよびファイルパスの文字列が検索対象となります。キーワードは半角スペースで区切って複数指定でき、それらすべてのAND検索となります。Simple search - Foobar2000:Query syntax - Hydrogenaudio Knowledgebase
演算子は大文字で記述します。一方でそれ以外のフィールド名やキーワードでは、大文字/小文字は区別されません。
構文 | 一致する項目 |
---|---|
field MISSING | fieldのメタデータを含まない |
field PRESENT | fieldのメタデータを含む |
たとえば独自のフィールドabcを設定したファイルがあるとき、そのファイルにだけマッチさせるには、
abc PRESENT
とします。
構文 | |
---|---|
expression1 AND expression2 | expression1とexpression2が真 |
expression1 OR expression2 | expression1またはexpression2のいずれかが真 |
NOT expression | expressionが偽 |
構文 | 一致する項目 |
---|---|
field IS string | fieldがstringである |
field HAS string | fieldにstringが含まれる |
* HAS string | いずれかのフィールドにstringが含まれる (簡単な検索と同じです。論理演算子とは同時に使用できません) |
stringに空白を含むときは、そのstringをダブルクォート (") で囲みます。また一部のフィールドは、「%」で囲む必要がありません。
空文字にマッチさせるには、ISやHASではなくメタデータのMISSINGを用います。
構文 | 一致する項目 |
---|---|
field GREATER number | fieldがnumberより大きい |
field LESS number | fieldがnumberより小さい |
field EQUAL number | fieldがnumberと等しい |
NOT field EQUAL number | fieldがnumberと等しくない※1 |
※1 等しくないことを意味する演算子は存在しないため、論理演算のNOTと組み合わせて実現します。「AまたはBではない」のように複数の条件を指定するには、「NOT (field EQUAL A OR field EQUAL B)」のようにかっこで囲みます。
一部のフィールドは「%」で囲む必要がありません。
構文 | 一致する項目 |
---|---|
time1 BEFORE time2 | time1がtime2より前 |
time1 AFTER time2 | time1がtime2より後 |
time1 SINCE time2 | time1がtime2より前ではない |
time1 DURING time2 | time1がtime2の期間に含まれる |
time DURING LAST number time-unit | timeがtime-unitの期間※1に含まれる |
NOT time DURING LAST number time-unit | timeがtime-unitの期間より前 |
※1 期間を表すtime-unitは、
のいずれかです。ただしnumberが1の場合には、numberを省略し単数形 (SECOND/MINUTE/HOUR/DAY/WEEK) の表記でも可能です。
昇順に並べ替えるには、
SORT BY sort-pattern
または、
SORT ASCENDING BY sort-pattern
とします。このとき並べ替えは、sort-patternを文字列として比較して処理されます。
降順に並べ替えるには、
SORT DESCENDING BY sort-pattern
とします。
アルバム名またはディレクトリ名がAAAの曲を検索するには、次のようにします。
(album IS AAA) OR (%directoryname% IS AAA)
アルバム名に「AAA BBB」が含まれる、またはディレクトリ名が「AAA BBB」の曲を検索するには、次のようにします。
(album HAS "AAA BBB") OR (%directoryname% IS "AAA BBB")
Playback Statisticsがインストールされていれば、次のような検索もできます。
検索項目 | |
---|---|
最近、再生した | %last_played% DURING LAST 1 WEEK SORT DESCENDING BY %last_played% |
最近、追加した | %added% DURING LAST 1 WEEK SORT DESCENDING BY %added% |
(%play_count% EQUAL 0) OR (%first_played% DURING LAST HOURS)
再生中に条件に一致しなくなるのを防止するため、最初の再生時間も確認しています。
(%play_count% GREATER 0) AND (NOT %last_played% DURING LAST 2 WEEKS OR %last_played% DURING LAST 10 MINUTES)
再生回数が1回以上あり、最後に再生された日時が2週間の間にないものを対象としています。ただしこれも、再生中に条件に不一致になるのを防止するため、最後に再生されたのが10分以内のものも条件に含めています。
%rating% GREATER 3 SORT DESCENDING BY %rating%
条件そのままです。