The File List

The File List is one of the main elements in the Resonic user interface. It looks like this:

File List Behavior

The following general file list behavior applies to all versions of Resonic:

  • Left-Click a non-playing file to play it.
  • Ctrl+Left-Click a file to select it — it won't play; i.e., you can Ctrl+Drag the currently playing file without playing it.
  • Esc always clears the current selection.
  • When a playing file is not selected yet, it will never restart when clicked. i.e., press Esc to clear the selection, then drag the playing file out, and it won't restart.
  • When a playing file is already selected and is clicked again, it will restart.
  • Right-Click for Resonic context menu; ⇧ Shift+Right-Click for Explorer context menu.

File List Colors and Symbols

There's a concept behind the colors and symbols used in Resonic's file list, and by the Explorer icons:

Blue shades mark audio files that contain lossless audio (uncompressed audio, or compressed audio without sound degradation.)
Blue shades are also used in other places of the user interface.
Orange shades mark audio files that use a lossy compression algorithm that in some way degrades sound quality.
Orange shades are also used in the user interface whenever sound is being altered in some way, e.g., audio effects are active.
Green shades mark music files (e.g., module music files, MIDI files, etc.) Green shades are also used for highlighting elements in the user interface, e.g., active file, or play status.
Purple shades currently only mark video files
Deep blue marks REX/RX2 audio files

Big squares mark stereo files, but also music and video files with an uncertain channel count
Little squares mark mono files
Four little squares mark multichannel files with more than two channels
Four horizontal lines mark Native Instruments Stems music files.
A Stems multi-track audio file is used by DJs, producers, and live performers and contains four separate musical elements.

The File List Filter

The File List Filter lets you quickly filter the currently displayed list of files, leaving only what you want to see, or alternatively dimming non-matching files.

You can match one or more text portions in various ways and while it is not intended as a replacement for a full database keyword search it can find whole words, exact matches, even spaces in filenames, include and exclude portions, and available textual metadata.

This documentation refers to Resonic 0.9.4.

Using the File List Filter

To toggle the filter bar click (filter button) in the status bar, or press Ctrl+F.

To start filtering type the text you are looking for. Resonic will then typically find filenames that contain the text you typed.

When done you can use Esc, Ctrl+F, or the × to quickly close the filter bar.

Advanced settings that affect both usability and filtering are available through (more button) on the filter bar.

How the Filter Works

The filter uses a number of text matching methods and can operate in multipe ways.

A filter string consists of one or more patterns and is primarily matched against the filename, but can also be matched against textual metadata in files.

Multiple filter patterns must be separated by spaces.

If a pattern contains spaces it becomes a phrase and must be enclosed in quotes.

The filter will match any file that contains any of the patterns you have provided.

Strings vs. Words

Text without quotes or in "double" quotes becomes as string pattern and is matched as a substring anywhere in the text.

Text in 'single' quotes becomes a word pattern and is matched as a whole word at word boundaries in the text.

Including and Excluding Patterns

You can prefix patterns with + (pattern must match) or - (pattern must not match.)
Any pattern (string, word, or phrase) can be prefixed including the ones that use quotes or wildcards (* ?.)

Wildcard Patterns

Wildcards are auto-detected (unless disabled in the filter settings), e.g. *sn*e*dr?m* -loop. They will always match anywhere in the text and never in whole word mode, so l?nes might not match anything but *l?nes* might.

Learn more: Wildcard Matching (* and ?)

Tilde as Escape Character

Any character with a special function (" ' ` * ? etc.) can be made into a literal by putting a ~ in front of it (i.e. escaping it with a tilde), e.g., "~"quotes inside a phrase~"".

Likewise if a literal tilde is needed it must be written as ~~.

Certain cases that contain quotes do not need escaping, e.g., that~'s and that's are the same, the same goes for *'*'* and *~'*~'* (which finds anything with two single quotes in it.)

Internal Logic Explained

In our design of a refinement filter explicit operators like OR, AND, and ( ) known from database searches are not needed or supported. However, internally it sticks to the following logic: (pattern OR pattern OR …) AND +-pattern AND +-pattern …

Any pattern or phrase on its own will be optional (OR), e.g. kick, "kick", "kick drum".

Any pattern or phrase prefixed with either + (must match) or - (must not match) will be a requirement (AND), e.g. +kick, -"kick", +"kick drum".

e.g., kick snare +loop -*.mp3 hihat would internally mean (kick OR snare OR hihat) AND loop AND NOT *.mp3

Filter Patterns

Pattern Type
A string
A "string"
"A string"
A substring pattern only requires "double quotes" around it if it contains spaces.
When a pattern is a substring it matches anyhwere in the text (this is the default.)
e.g., "ice" will be found in "the ice is thin", "ice-skating", and also in "suffice".
A 'word'
'A word'
A whole word pattern always 'requires' 'single quotes' around it to be recognized as such.
When a pattern is a whole word it matches at the beginning of text, at the end of text, or at a word boundary which can be spaces, dashes, underscores, brackets, etc.
"A phrase" (substring)
'A phrase' (word)
Any pattern that contains spaces automatically becomes a phrase.
It must be wrapped into either "double quotes" to match in substring mode, or 'single quotes' to match in word mode.
e.g., 'ice' will be found in "the ice is thin" and "ice-skating", but not in "suffice"
Wildcards (* ?)
Any pattern that contains wildcards (* ?) automatically becomes a wildcard pattern.
If it contains spaces it needs to be wrapped in quotes, but regardless of which quotes you use a wildcard pattern always matches in substring mode.
If file extension matching is enabled (which is the default) wildcards can also be used to match extensions (e.g., *.mp3) or exclude them (e.g., -*.mp3.)
To match a literal * or ? symbol escape them with a ~ (tilde), i.e., ~* and ~?
An +inclusion (must match)
For refining your results any pattern prefixed with + must be contained in the text.
Any pattern can be prefixed including ones that use quotes or wildcards.
To match a literal + symbol at the beginning of a pattern escape it with ~, i.e., ~+
An -exclusion (must not match)
For refining your results any pattern prefixed with - must be absent from the text.
Any pattern can be prefixed including ones that use quotes or wildcards.
To match a literal - symbol at the beginning of a pattern escape it with ~, i.e., ~-

Filter Pattern Examples

Pattern Example
What it matches
substring kick anywhere in the text
substring kick anywhere in the text
" kick "
exactly kick anywhere in the text, including the spaces around it
word kick anywhere in the text at a word boundary, which can not just be be spaces but also underscores or other symbols
"kick drum"
phrase kick drum anywhere in the text
'kick drum'
phrase kick drum anywhere in the text at a word boundary
kick drum
anything that contains either substring kick or substring kick
'kick' drum
anything that contains either word kick or substring drum
'kick' -drum
anything that contains word kick but not substring drum
'kick' 'drum'
anything that contains either word kick or word drum
anything that contains kick, basically the same as without the stars though
e.g., kick, kikk, kirk, kink, ki0k, etc. anywhere in the text
"?? kick*"
two characters and a space at the beginning followed by kick and anything else
anything that explicitly ends with .wav
anything that contains substring .wav
anything that contains word wav
everything that ends with .wav is excluded
something that ends in .wav is a requirement
+*.wav bass
all .wav files that contain the substring bass
-*.wav 'bass'
all non-.wav files that contain the word bass
"~"kick drum~""
exactly "kick drum" anywhere in the text, including quotes (marked as such by tildes)
substring *kick* anywhere in the text, including stars (marked as such by tildes)
substring that's anywhere in the text
substring that's anywhere in the text (tilde is not needed here)
anything that contains two single quotes, e.g., the 'fat' kick, or the '' kick
anything that contains two single quotes, e.g., the 'fat' kick, but not the '' kick
" C#"
e.g., Loop C#.wav, but not Loop_C#.wav
e.g., Loop_C#.wav, but not Loop C#.wav
e.g., Loop C#.wav, Loop_C#.wav, Loop(C#).wav, etc.
e.g., Loop C.wav, Loop C#.wav, A B C D.wav, etc., but not ABCD.wav
'C' +.mp3
same as above, but must also contain substring .mp3

Case Matching

By default filtering does not differentiate between lowercase and uppercase letters, e.g., [piano would also find [Piano, and is called caseless.

To change this behavior to case-sensitive click  case  (case button) on the filter bar, or press Alt+C while the filter bar is open.


While the filter bar is open there are several shortcuts available, for example F3 to go to the next match, or Alt+C to toggle case-sensitive matching.

When you open the filter panel directly with F3 you can keep stepping through the results with subsequent presses of F3.
When done press Esc to close the filter.

Learn more: File List Filter Shortcuts

Wildcard Matching (* and ?)

A wildcard (or wildcard character) is a symbol used as a placeholder for one or more characters.

These wildcards can be used in filter pattern:

  • A star (*) matches any character zero or more times in succession
  • A question mark (?) matches a single character once

Wildcard patterns are typically auto-detected. If a literal * or ? is required it can be escaped with a ~, i.e. ~* and ~?.

Wildcard Examples

Matches anything that …
*some text*
contains some text
some text*
begins with some text
*some text
ends with some text
*some te?t*
contains e.g., some text, some test, etc.
contains some followed by text somewhere
123? *
begins with 123, 1234, or etc. followed by a space, but not 12345
must exactly be test, text, or etc. (File Extension Matching must be disabled)
must exactly be test0.m4a, text5.m4a, or etc. (File Extension Matching must be enabled)

Filtering by Metadata

By default all versions of Resonic will filter by filename only.

In Resonic Pro many metadata fields that have their own file list columns, i.e., metadata embedded in the actual files, can also be used for filtering.

A complete list of metadata supported for text filtering is accessible through the button.

To filter by filename only, ignoring selected metadata and without losing the other filter settings, use the appropriate menu item, click  meta  (meta button) on the filter bar, or press Alt+M.

To also match file extensions as part of the filename make sure  ext  (extensions button) is active, or press Alt+E.

Filter Modes

While the filter bar is open you can change the filter mode using the  hide / dim  button, with Alt+D, or through the filter settings menu.

Hide filtered items

By default the File List Filter only shows files that contain the text you typed, hiding all the items that did not match.

Dim filtered items

This filter mode visually dims (and disables) filtered items, and shows tick marks in the vertical scroll bar that indicate the approximate position of the matches in the file list, if there is more than one page of results.

Sticky Selections

Available from Resonic 0.9.2.

When the Sticky Selections feature is active, which is the default, list selections become sticky, i.e., they are preserved until you press Esc to clear them, or change the playlist (e.g., switch another folder).

Effectively it allows you to select items multiple times using keyboard or mouse without losing the previous selections when interacting with the file list in other ways, like you do in other applications like Windows Explorer.

Combined with double-click mode (DCM) this creates a powerful operating mode in which you can play, select, and navigate the file list independently. You could be selecting files while playback is progressing, and even right-click unrelated files to run commands on them, all without losing your current selections.

You can change this setting in the file list options, or in the file list's quick menu (arrow in the top-right corner.)

In single-click mode (button shows  SCM ) focused item and active (playing) item are synchronized.

In double-click mode (button shows  DCM ) focused item and active (playing) item are untied, which means that you can navigate the list independently from the active item, and select independently as well.

Press Esc at any time to clear the current list selection, regardless of operating mode and settings.

Length Lines

Available from Resonic Pro 0.8.9.

Length Lines are thin horizontal lines of varying width and opacity drawn directly under the file name.
They are enabled by default and visible in the File Name column only.

Toggling Length Lines

Use the File List settings menu, located in the top right corner of the file list, to disable or toggle this feature.

Understanding Length Lines

Length Lines help to quickly distinguish between short audio files with varying durations of up to 30 seconds (e.g., one-shots, loops, sound effects) and long audio files (e.g., full songs, long loops, ambiences).

The longer the file's duration, the wider the line becomes.

No line is drawn when:

  • the file's audio duration is unknown
  • the file's audio duration is longer than 30 seconds

A line that roughly takes up half the width of the filename column would roughly be 15 seconds in length.

Lines utilize brightness variations to make them easier on the brain, and to make differences in file duration more visible even when quickly scrolling through the file list.
No other meaning is attached to these changes in color shade.

Go to documentation