# Filter Expressions

Filter expressions can be used to display only files in the file-view that match a certain criteria. They can be entered into the Filter Panel (Windows->Filter or F3).

The filter expression will be evaluated for each file loaded. If it evaluates to True for a file, then that file will be shown. Otherwise, puddletag will hide it. All comparisons are case-insensitive.

## Strings

- Strings are either a single word containing no white-space eg. Thisisvalid is a valid string but No spaces are allowed is not a valid string.

- Anything enclosed in double-quotes will be regarded as a string. Eg “You can do this” or even “artist”.

- Strings not enclosed in double quotes will be assumed to be a field. The field’s value as stored in the file will be used provided:

    - The field is listed in Tag Reference. If the field isn’t present in the file it’ll evaluate to an empty string. Eg artist or title, but not madeupfield.

    - The field is present in the file. If not the string will be interpreted as normal text.

- Any text in the form %string% (if it’s not enclosed in quotes) will be assumed to be a field.

## Expressions

string

  Evaluates to True if a contains string in any of it’s fields.

MISSING field

  Evaluates to True if field is not present in a file. Eg. MISSING artist or MISSING style

PRESENT field

  Evaluates to True if field is present in a file. Eg. PRESENT artist or PRESENT style

expr1 GREATER expr2

  Evaluates to True if expr1 is greater than expr2. Conversion to floats will be attempted first. For strings comparision using ASCII positions are done. Eg. track GREATER replay_gain, artist GREATER “some words”.

expr1 LESS expr2

  Evaluates to True if expr1 is less than expr2. Conversion to floats will be attempted first. For strings comparision using ASCII positions are done. Eg. track LESS replay_gain, artist LESS “some words”.

expr1 EQUAL expr2

  Evaluates to True if expr1 equals expr2. Conversion to floats will be attempted first. For strings comparision using ASCII positions are done. Eg. track EQUAL replay_gain, artist EQUAL “some words”.

field HAS expr

  Evaluates to True if expr is contained in field for each file. Eg. artist HAS Jon, %title% HAS “Remixed By”.

field IS expr

  Evaluates to True if field=expr for each file. Eg. artist IS “Bongo Maffin”, title IS Monster.

expr1 AND expr2

  Evaluates to True if both expr1 and expr2 evaluate to True for each file. Eg. artist IS “Bongo Maffin” AND title IS Monster.

expr1 OR expr2

  Evaluates to True if either expr1 and expr2 evaluate to True for the file. Eg. artist IS “Bongo Maffin” OR title IS Monster.

NOT expr

  Evaluates to True if expr is False. Eg. NOT artist IS “Bongo Maffin” OR title IS Monster.