検索 (Search)

タグの情報を基に、曲を検索する方法について解説します。そのとき検索の対象によって、次の2つの検索方法があります。

  • Playlist Search … Playlistから検索 Ctrl + F
  • Media Library Search … Libraryから検索 Ctrl + E

検索クエリの基本は、Guidelines - Foobar2000:Query syntaxで解説されています。

簡単な検索 (Simple Search)

キーワードを記述するだけでも検索できます。このとき演算子は不要で、メタフィールドおよびファイルパスの文字列が検索対象となります。キーワードは半角スペースで区切って複数指定でき、それらすべてのAND検索となります。Simple search - Foobar2000:Query syntax - Hydrogenaudio Knowledgebase

高度な検索 (Advanced Search)

演算子は大文字で記述します。一方でそれ以外のフィールド名やキーワードでは、大文字/小文字は区別されません。

メタデータ (Metadata expressions)

構文 一致する項目
field MISSING fieldのメタデータを含まない
field PRESENT fieldのメタデータを含む

たとえば独自のフィールドabcを設定したファイルがあるとき、そのファイルにだけマッチさせるには、

abc PRESENT

とします。

論理演算

構文  
expression1 AND expression2 expression1expression2が真
expression1 OR expression2 expression1またはexpression2のいずれかが真
NOT expression expressionが偽

テキスト

構文 一致する項目
field IS string fieldstringである
field HAS string fieldstringが含まれる
* HAS string いずれかのフィールドにstringが含まれる
(簡単な検索と同じです。論理演算子とは同時に使用できません)

stringに空白を含むときは、そのstringをダブルクォート (") で囲みます。また一部のフィールドは、「%」で囲む必要がありません

空文字にマッチさせるには、ISやHASではなくメタデータのMISSINGを用います。

文字列関数

数値

構文 一致する項目
field GREATER number fieldnumberより大きい
field LESS number fieldnumberより小さい
field EQUAL number fieldnumberと等しい
NOT field EQUAL number fieldnumberと等しくない※1

※1 等しくないことを意味する演算子は存在しないため、論理演算のNOTと組み合わせて実現します。「AまたはBではない」のように複数の条件を指定するには、「NOT (field EQUAL A OR field EQUAL B)」のようにかっこで囲みます。

一部のフィールドは「%」で囲む必要がありません

時間

構文 一致する項目
time1 BEFORE time2 time1time2より前
time1 AFTER time2 time1time2より後
time1 SINCE time2 time1time2より前ではない
time1 DURING time2 time1time2の期間に含まれる
time DURING LAST number time-unit timetime-unitの期間※1に含まれる
NOT time DURING LAST number time-unit timetime-unitの期間より前

※1 期間を表わすtime-unitは、

  • SECONDS
  • MINUTES
  • HOURS
  • DAYS
  • WEEKS

のいずれかです。ただしnumberが1の場合には、numberを省略し単数形 (SECOND/MINUTE/HOUR/DAY/WEEK) の表記でも可能です。

並べ替え (sort)

昇順

昇順に並べ替えるには、

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

Playback Statisticsがインストールされていれば、次のような検索もできます。

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)

再生中に条件に一致しなくなるのを防止するため、最初の再生時間も確認しています。

2週間以上、聴いていない

(%play_count% GREATER 0) AND (NOT %last_played% DURING LAST 2 WEEKS OR %last_played% DURING LAST 10 MINUTES)

再生回数が1回以上あり、最後に再生された日時が2週間の間にないものを対象としています。ただしこれも、再生中に条件に不一致になるのを防止するため、最後に再生されたのが10分以内のものも条件に含めています。

評価が3より大きいものを、評価の降順に並べる

%rating% GREATER 3 SORT DESCENDING BY %rating%

条件そのままです。