Filtering files and tags (Searching)

Introduction

The Filter allows for searching files that meet a certain criteria (e.g., the filename contains specific characters or a tag field has a specific content). By default it is located at the bottom of the file list and can be enabled and disabled via 'View > Filter' or the F3 keyboard shortcut.

To filter the file list simply start typing in the filter field. As a result, all files that contain the specified filter string in their tag or file name are listed in the file view.

Sometimes it is neccessary to use more complex criteria to search for files (e.g., all files of a specific genre but not of that artist). To achive this, Mp3tag has the notion of filter expressions. Filter expressions are simple expressions that consist of tag field names, filter keywords and text.

Examples of filter expressions

artist IS Air AND album IS Moon Safari

Artist is "Air" and album is "Moon Safari"

genre IS Rock AND artist HAS Stone

Genre is "Rock" and artist contains "Stone"

NOT genre IS Rock

Genre is not "Rock"

%_covers% IS ""

All files that do not contain cover art.

Description of the Filter Expression Language

<string>

Returns only files that contain every word in the string as a word or substring thereof. A word is a contiguous sequence of characters excluding the space character.

<field> HAS <string>

Returns only files that have all words from <string> in their tag field named <field>. You can use * to address all fields.

<field> IS <string>

Returns only files that where the content of at least one tag field named <field> is equal to <string>.

<expr1> AND <expr2>
<expr1> OR <expr2>

Combines the filter expressions <expr1> and <expr2> by logical and or or. Parentheses can be used to group combined expressions.

NOT <expr>

Inverts the result of <expr>.

<field> GREATER <number>
<field> LESS <number>
<field> EQUAL <number>

Returns all files where the content of tag field named <field> is greater, equal, or less that the integer value specified by <number>.

<field> MISSING

Returns all files where tag field named <field> is missing.

<field> PRESENT

Returns all files where tag field named <field> is present.

<field> MATCHES <regexp>

Returns only files where the content of the tag field named <field> matches against the regular expression <regexp>. You can use * to address all fields.

Notes

If you also use foobar2000 the filter language should look very familiar (because this is where we got the idea from).

Back to main page