Qoobar features

  • Reading and writing of these standard tags: Composer, Album, Title, Performer (added to enhance classical music tags), Artist, Conductor, Orchestra, Subtitle, Key, Comment, Genre, Year, Track Number, Total Tracks, Album artist, Publisher, Mood, Beats per minute (Tempo), Original artist, Original lyricist, Lyricist, Original album, Lyrics, Music category (Grouping), Copyright, Disc number, Total discs, Remixed by, Encoded by, ISRC, URL, Rating.
  • Adding your own tags for all supported file types.
  • Full support for the following tag formats and file types:
    MP3 id3v1, id3v2, APE tags
    TrueAudio id3v1, id3v2 tags
    FLAC Vorbis comments
    Ogg/Vorbis, Ogg/FLAC Vorbis comments
    Speex Vorbis comments
    Musepack id3v1, APE tags
    WavPack id3v1, APE tags
    Wma, Asf Asf tags
    Mp4 Mp4 tags
    APE id3v1, APE tags
    Wav id3v2 tags
    Aiff id3v2 tags
    Opus Vorbis comments
    Dsf id3v2 tags
  • Tabbed interface: you can edit different folders in their own tab.
  • Cover art pictures: reading, writing and importing pictures from local filesystem.
  • Automatic tags generating from the file names and the other tags.
  • Powerful dialog for moving / copying / renaming files.
  • Copying and pasting tags between different groups of files.
  • Various operations for tags editing include: changing case, tags recoding, transliterating, removing diacritical marks.
  • Full support of placeholders and text processing functions in the renaming, filling, editing operations.
  • Insertion of latin characters with diacritics from the Characters panel that contains a list of German, French, Spanish, Polish etc. additional characters.
  • Undo / redo system: You can undo (and redo) changing tags and cover art pictures separately for each opened tab.
  • Importing tags from gnudb, Discogs and Musicbrainz databases. You can search albums by selected files, by a CD in CD-ROM, or manually - by artist name and album title.
  • Splitting of a CD image by the corresponding CUE file.
  • Multilanguage interface with the immediate translation.
  • Autocompletion for any tag.
  • Tagging schemes that define how to read and write tags of different types.
  • ReplayGain support in Mp3, Mp4, Ogg Vorbis, Flac, Musepack, WavPack files.
  • Command-line interface in Unix-like systems.
  • Searching for music files in the standard and user-defined locations.

Qoobar interface

The Qoobar Menu

File

  • Add folder... - adds a directory with all its subdirectories Ctrl+O
  • Add files... - adds a file / files Ctrl+Shift+O
  • Split disc - splits an image of a musical disc (*.ape, *.flac, *.wav) by a cue sheet
  • Search files... - searches music files on your computer and places them in a separate tab Ctrl+Shift+F
  • Save current tab - saves all changes in the current tab Ctrl+S
  • Save all tabs - saves all changes in all tabs
  • Reread tags - rereads tags in the selected files and undoes all unsaved changes
  • Remove from the list - removes selected files from the current tab
  • Clear the list - clears the current tab Ctrl+Del
  • Exit - exits from Qoobar Ctrl+Q

Edit

  • Undo last operation Ctrl+Z
  • Redo last operation Ctrl+Shift+Z or Ctrl+Y
  • Cut - cuts selected tags of selected files Ctrl+X
  • Copy - copies selected tags of selected files Ctrl+C
  • Paste - pastes copied tags Ctrl+V
  • Copy to clipboard - copies selected tags of selected files to the clipboard Ctrl+Shift+C
  • Paste from clipboard - pastes copied tags from the clipboard Ctrl+Shift+V
  • Clear all tags - clears all tags in the selected files
  • Add new tag... - adds a new tag to selected files Ctrl+N
  • Settings... - shows Qoobar settings dialog

Tools

  • Rename files... - renames / moves files according to their tags Ctrl+R
  • Fill tags... - fills tags from file name, tags or Internet Ctrl+F
  • Play selected - plays selected files in an external player Ctrl+P
  • ReplayGain info... - adds or removes ReplayGain info from files
  • Autonumber selected files... - adds or removes track numbers via the Autonumber dialog
  • Tags editing plugins installed with Qoobar

Tabs

  • New tab - adds a new tab Ctrl+T
  • Close the tab - closes the current tab Ctrl+F4
  • Close other tabs - closes all tabs except the current one
  • Rename the tab... - opens the dialog to rename the tab

Help

  • Help - shows help on Qoobar F1
  • About Qoobar - shows the brief info about the current version
  • About Qt - shows the standard info about the Qt framework
  • Qoobar Online - shows the Qoobar page on SourceForge
  • Check for updates... - searches for the new versions available

The Upper Toolbar

  1. Add folder... - adds a directory with all its subdirectories Ctrl+O
  2. Add files... - adds a file / files Ctrl+Shift+O
  3. Split disc - splits an image of a musical disc (*.ape, *.flac, *.wav) by a cue sheet
  4. Save - saves all changes in the current tab Ctrl+S
  5. Reread tags - rereads tags in selected files and undoes all unsaved changes
  6. Undo / Redo last operation Ctrl+Z / Ctrl+Shift+Z or Ctrl+Y
  7. Rename files... - renames / moves files according to their tags Ctrl+R
  8. Fill tags... - fills tags from file name, tags or Internet Ctrl+F
  9. Delete all tags - deletes all tags in the selected files
  10. Clear the list - clears the current tab Ctrl+Del
  11. Play selected - plays selected files in an external player Ctrl+P
  12. Cut - cuts selected tags of selected files Ctrl+X
  13. Copy - copies selected tags of selected files Ctrl+C
  14. Paste - pastes copied tags Ctrl+V
  15. Add new tag... - adds a new tag to selected files Ctrl+N

The toolbar is partially customizable: you can hide the unnecessary buttons, but moving them is yet to be implemented. (In OS X the toolbar is already fully customizable)

The Files Table

Files Table
  • Browse the files in the tab
  • Sort by any column case-sensitively or case-insensitively according to the Settings
  • Direct edit tags by double-clicking on a tag
  • Direct save one file by clicking on the
  • Customize the visibility of columns in the header context menu
  • Other operations available in the context menu

The Folders Tree

Folders Tree
  • Browse files in your music directories
  • Add files and directories to the current tab by direct clicking on the directory or using the context menu

The Tags Table

Tags Table
  • Add, remove and edit tags of selected files

The Status Bar

Status Bar

The Status Bar shows:

  • file name with full path
  • file bitrate, sample rate, and number of channels
  • file length (duration) and size
  • total count and length of files in the current tab
  • total count and length of selected files

Working with the Files Table

Adding files

You can add a folder with all its subfolders and musical files using the button Add folder button or shortcut Ctrl+O.
To add some files use the button Add files button or shortcut Shift+Ctrl+O.
You can also drag&drop any folders and any files into the Qoobar window; or use command line like this:

> qoobar "/home/I/music/first dir" /home/I/music/just_file.mp3

The Folder Tree allows you to easily browse your music library. The folder you click will be placed into the Files Table. All files currently present in the tab will be removed. To add a folder with all its subfolders and musical files right-click on this folder and choose "List this folder with all subfolders"

Files are always appended to the end of the current tab.
If the number of added files is less than 100, they will be automatically selected.
If some files you are adding are read-only, a warning message will appear, and these files will be grayed-out in the Files table.

Searching for files

Search barIf you want to search for files in your Music folder by some pattern in file names or file tags, you can use the built-in search feature.
To enable it, press Ctrl+Shift+F (or choose menu item File → Search files). If the current tab is empty, the Search Bar will be shown in this tab, otherwise another tab will be opened with the Search Bar.

First of all you need to set up the search location(s). There is already one default location - your Music folder, but you can add as many other folders as you wish to perform search in them.
Next, type the text to search, f.e. Madonna (or Pettersson, or concerto), click Start search and wait for the search to finish. If you have found enough files or just tired of waiting, click Stop search.
You can specify additional search options in the menu of the search field. By default search is case-insensitive and diacritics are also ignored.

Removing files

To remove all files in the current tab click Clear button.
Or click anywhere in the Files Table, press Ctrl+A, then Del.
Or just press Ctrl+Del.
To remove some of the added files select them and press Del.

Save-files-before-delete dialog When removing some not saved files, a simple dialog appears where you can choose whether to save changes or discard them:

Files removing clears the undo stack.

Saving files

To save all files in the current tab click Save button or press Ctrl+S.

If you click on the icon in the leftmost column, all changes will be written in the file:

Save one file

Mp3 tag typesIf you have selected only mp3 files, you can duplicate tags in the desirable formats. In the context menu choose "Mp3 tag types..." and the dialog appears:

Remember though that this dialog overrides global settings only for selected files, so if you want to set mp3 tag types once and for all, please use the Settings dialog.

Files saving clears the undo stack.

Other operations

  1. To reread files (and undo all changes) click reread files.
  2. To play selected files in an external player click start play or press Ctrl+P. You should set the path to this player in the Qoobar settings dialog.
  3. To move files up and down the list use shortcuts Ctrl+Up / Ctrl+Down.
  4. To sort files in the Files table by some tag click on the column header.
  5. To delete all tags from selected files click clear tab. It removes all tags which Qoobar can read. You can undo the deletion.
  6. To move selected files into (an)other tab right-click on these files and choose the desired tab name under the "Move to the tab..." item in the context menu.

Tags editing

First select one or several files in the Files table.
To set one tag for all selected files - click on this tag (f.e. on the "Artist" tag) and type a text.
To edit a tag file by file - double-click the tag.
To number tracks consecutively starting from 1, click on the "Track number" tag, type 1 and press Enter.

Note: If you type 01, track numbers will be two-digit formatted: 01, 02 etc.

To remove some tags select these tags in the Tags Table and press Del.

Note: You can change a tag in the Files table by double clicking on it.

Copying and pasting tags

If you copy only one tag (only one line in the Tags Table), you can paste it where you want, even if you select other files.
If you copy several tags (Composer and Album, for example), you can only paste them into the same tags (though you can select other files).
You can paste some text from the clipboard into one selected tag.
Copying selected tags into the clipboard is also possible.

Operations with tags

There is a number of operations that you can use to edit tags. You can find them in the context menu:

  • Change case - changes case to lower, upper, sentence-like etc. The equivalent functions: $lower, $upper, $caps, $caps2.
  • Simplify whitespaces - removes leading, trailing and inner extra whitespaces. The equivalent function: $simplify
  • Remove diacritics - replaces latin characters with diacritical marks by plain ones. The equivalent functions: $ansi or $ascii
  • Transliterate - replaces cyrillic (Russian) characters with latin ones according to this scheme. The equivalent function: $transliterate.
  • Fix encoding - recodes tags written in local encodings (f.e. Russian Windows 1251, KOI8-R, and CP866) into UTF8. Qoobar uses enca for guessing the tag encoding, so if you want a better guess, please set a preferable language in the Settings dialog. The default enca guess language is Russian. The equivalent function: $recode.

Tags autocompletion

AutocompletionQoobar can autocomplete any tag while you are typing some text. This feature is turned on by default only for composers, genres, and moods. If you want to turn on autocompletion for other tags, do it in the Settings dialog. You can also edit autocompletion lists in the Settings dialog.

There are two modes for adding completion variants: automatic and manual (the default one). To manually "remember" tag select it and use "collect for future use" action or shortcut Ctrl+H.

If the automatic collecting is turned on in the Settings dialog, then tags will be collected (remembered for future use) automatically when you press Enter in the Tags Table or click OK in the Edit Dialog.

Adding your own tag

New fieldYou can add your own tag to the selected files. Click or press Ctrl+N. A dialog appears:
Type a tag name with latin characters, spaces and underscores. Then click OK. The newly added tag will be appended to the Tags Table.
If you don't add something in the newly added tag, it will be lost.

If you want to make this tag permanent (that is to add it to your tagging scheme), then select the tag row and choose the option "Add this tag to the scheme" in the context menu of the row name. If the default scheme is used, it will automatically be cloned. If the tag is already present in the scheme, a warning message will be shown. Tag fields for every tag format will be constructed by using the tag name, but you can edit them in the Tagging schemes dialog. This is the quickest way to add custom tag to the scheme.

Placeholders and functions

If you want to join different tags together or add some text to a tag just in one operation, you can make use of placeholders. A placeholder is a variable that contains a tag or other info of one file.

There are two types of placeholders: short and long ones.

Short placeholders begin with '%', followed by one latin letter, for example %t for title, %a for album, %n for track number, and so on. There are only 44 predefined short placeholders that cover all standard tags and file properties supported by Qoobar.

Long placeholder is a tag name enclosed in < and >, f.e. <title> or <performer>. Note that long placeholders are case and spaces insensitive, so <tracknumber> and <Track Number> are equivalent. You can also use localized tag name instead of the English name, that is if the German language is chosen as the user interface language, you can use either %c, <composer> or <komponist> for the composer tag.

Unlike short placeholders, long placeholders are not limited by 44 predefined tags: any tag name shown in the Tags Table can be used as a long placeholder. In other words, every user tag added to the tagging scheme, every new tag added to the Tags Table, and even any non-standard tag added by other tagging program can be addressed by its name.

Examples: <TSSE> in some mp3 files (Software/Hardware and settings used for encoding) or <----:com.apple.iTunes:TAGGINGTIME> in mp4 files.

The full list of available placeholders can be found in Appendix 3.

The table below shows some examples of using placeholders in Qoobar.

SchemeSourceResult
%n. %t
track numbers:
1
2
3
track titles:
title
another title
the third title
track titles:
1. title
2. another title
3. the third title
%N. %t
track numbers:
1
2
3
track titles:
title
another title
the third title
track titles:
01. title
02. another title
03. the third title
[%n. ]%t
track numbers:
1
2
 
track titles:
title
another title
the third title
track titles:
1. title
2. another title
the third title
appended text - %t track titles:
title
another title
the third title
track titles:
appended text - title
appended text - another title
appended text - the third title

Functions are similar to those of Foobar2000. They help to automate and simplify work with tags. For example, to simplify files renaming you can make use of $last_word function, which returns the last word of its argument. So if you have the conductor set to "Sergiu Celibidache", the rename pattern may look like   %a ($last_word(%d))/%N. %t, which gives us f.e. "Symphony No.6 A-Dur (Celibidache)/01. Maestoso.flac" (guess what composer it is :)).

You can use nested functions: $upper($replace(%A, an, the)) replaces all occurrences of "an" by "the" in the artist tag and returns uppercased result. $upper($lw(%c)) returns an uppercase of the last word in the composer tag.

You can use brackets [ ] to remove sections if the function result is empty, f.e. [Section from 2nd to 20th character of album is $section(%a,2,20)] will be removed if the album tag is shorter than 2 characters.

The full list of functions can be found in Appendix 3.

Note: Not all functions work identical to their Foobar equivalents, please test them before saving changes.


Autonumbering

Adding track numbers has never been easier with Qoobar. There are three ways to add a track number or total tracks tag to a file:

  • By directly typing the starting track number in the "Track number" field.
  • By using the autonumbering function.
  • By using the Autonumber dialog.

"Track number" field

The easiest way to add track numbers is to directly use the "Track number" field. Whether in the Tags Table on in the Edit dialog, type the starting number (f.e. 1 or 01), and every selected file will get the right consecutive track number.

Autonumbering function

This function is extremely useful when you need to add a consecutive track number to other tags (or embed it into some highly structured text).

For example, when you are editing some opera and want to add text like "Act 1. Scene 1." etc. It can be quite tedious to type all these acts and scenes manually. Instead use the autonumbering function:

{startNumber-endNumber, someNumber:repeatNTimes, someOtherNumber:repeatMTimes; otherStartNumber, m1:k1, m2:k2}

Let's see an example. Suppose we have 'raw' track titles of Debussy's opera "Pelleas and Melisande". We want to structure them by giving each track title a description: "Act 1. Scene 2. Title" and so on. So we have:

Original titles What we want to get
Je ne pourrai plus sortir de cette forêtAct 1. Scene 1. Je ne pourrai plus sortir de cette forêt
Qu'est-ce qui brille ainsi, au fond de l'eau?Act 1. Scene 1. Qu'est-ce qui brille ainsi, au fond de l'eau?
Interlude (Orchestre)Act 1. Scene 1. Interlude (Orchestre)
Voici ce qu'il écrit à son frère Pelléas: ''Un soir, je l'ai trouvée''Act 1. Scene 2. Voici ce qu'il écrit à son frère Pelléas: ''Un soir, je l'ai trouvée''
Je n'en dis rienAct 1. Scene 2. Je n'en dis rien
Grand-père, j'ai reçu en même temps que la lettre de mon frèreAct 1. Scene 2. Grand-père, j'ai reçu en même temps que la lettre de mon frère
Interlude (Orchestre)Act 1. Scene 2. Interlude (Orchestre)
Il fait sombre dans les jardinsAct 1. Scene 3. Il fait sombre dans les jardins
Hoé! Hisse hoé! Hoé! Hoé!Act 1. Scene 3. Hoé! Hisse hoé! Hoé! Hoé!
Vous ne savez pas où je vous ai menée?Act 2. Scene 1. Vous ne savez pas où je vous ai menée?
C'est au bord d'une fontaine aussi qu'il vous a trouvée?Act 2. Scene 1. C'est au bord d'une fontaine aussi qu'il vous a trouvée?
Interlude (Orchestre)Act 2. Scene 1. Interlude (Orchestre)
Ah! Ah! Tout va bien, cela ne sera rienAct 2. Ah! Ah! Tout va bien, cela ne sera rien
Je suis... je suis malade iciAct 2. Je suis... je suis malade ici
Il est vrai que ce château est très vieux et très sombreAct 2. Il est vrai que ce château est très vieux et très sombre

Let's compose our functions according to what we want to achieve:

Acts number from 1, Act 1 lasts 9 tracks, Act 2 lasts 6 tracks, so for the acts we have:

{1, 1:9, 2:6}

Act 1 consists of 3 scenes, where Scene 1 contains 3 tracks, Scene 2 contains 4 tracks, and Scene 3 is 2 tracks. Then Act 2 begins, so we need to start numeration from the beginning (thus adding ';'). Scene 1 of Act 1 contains 3 tracks, so for the scenes we get

{1-3, 1:3, 2:4, 3:2; 1-1, 1:3}

We do not need Scene 2 in Act 2, so we should use square brackets to exclude this text:

Act {1, 1:9, 2:6}. [Scene {1-3, 1:3, 2:4, 3:2; 1-1, 1:3}. ]%t

Type this text into the title tag to achieve our goal!

Tip: You can omit commas: {1-3 1:3 2:4 3:2; 1-1 1:3}.

More examples: we have selected 7 files

Function  What we get file by file  
{}1, 2, 3, 4, 5, 6, 7
{1}1, 2, 3, 4, 5, 6, 7
{2}2, 3, 4, 5, 6, 7, 8
{1-5}1, 2, 3, 4, 5, _, _
{2-5}2, 3, 4, 5, _, _, _
{1, 1:2}1, 1, 2, 3, 4, 5, 6
{1, 1:2, 2:3}1, 1, 2, 2, 2, 3, 4
{1-3, 1:2, 2:3; 1, 1:2}1, 1, 2, 2, 2, 1, 1

Here _ means "nothing" and not underscore.


Autonumber Dialog

qoobar autonumberThe Autonumber Dialog simplifies adding track numbers and total tracks to files in case you have selected files from different folders and albums.
To open it, choose the Tools → Autonumber selected files... menu item.

The dialog options:

  • Begin at number: lets you to change the starting track number.
  • Number format: choose between one-digit, two-digits and three-digits track numbers.
  • Add total tracks: if this option is set, the dialog will also update/change the total tracks tag.
  • Reset counter for each folder: if this option is set, Qoobar will reset the track number to the starting one if it encounters a file from the different folder.
  • Reset counter for each album: if this option is set, Qoobar will reset the track number to the starting one if it encounters a file from the different album.
  • If a file has no album...: this option manages the "single" or "orphaned" files, that is files with no album tag set or albums that contain only one track.

The old and new track numbers are shown in the table. You can edit them manually by double-clicking on the field, though only "New #" and "New ##" will be used.


The Edit Dialog

Edit dialogWhen you double-click any tag in the Tags Table, the edit dialog appears.

The toolbar contains buttons for quick access to tags editing operations described earlier. The button Collect for future use helps adding tag values to autocomplete lists.

The first line: this line contains the text that will be written into all selected files. On the image all titles are different, so the first line is empty. If you type some text here, it will overwrite the values below.

Multiple values: different text for different files. If you change any line here, the first line will be cleared.

The left-most panel contains various characters with diacritics. It can be hidden if not necessary. Also a list of characters can be edited in the Qoobar settings.
To insert some character place the cursor where needed and left-click the character. To insert its upper case variant click the character while holding down the Shift key.

The Legend button gives you access to placeholders which can be used just like here.

Autofilling track numbers. If you are editing track numbers you can autonumber them by typing 1 in the first line. If you are editing other tags please use the autonumbering function.

Using tags autocompletion: The autocompletion is available here as well.


Quick parsingFilling in tags: To quickly "parse" parts of a tag into other tags use the context menu:

Set this text into...: sets the selected text into all selected files as 'Artist' (f.e.). It is equivalent to as if you copy the selected text and manually paste it into the artist tag.

Set this block into...: extracts similar texts in other rows of 'Multiple values' and sets them as 'Artist' (f.e.). To see what text will be selected in other rows select some text in the current row while holding down Ctrl key.

This menu option is aimed as an alternative to using the Fill dialog. It only allows parsing one tag at a time.


Find panelFind & Replace: Press Ctrl+F to show the find & replace panel.

You can navigate through the table by clicking buttons or using shortcuts: F3 (Ctrl+G in Linux) - find next, Shift+F3 (Shift+Ctrl+G in Linux) - find previous.

The Options button allows you to specify some search options:

  • Case Sensitive
  • Whole Words Only
  • Use Regular Expressions. The available regular expressions are listed in Appendix 4.

Working with Cover Art pictures

Cover artQoobar supports reading and writing of embedded pictures for all file types. You can also cut/copy picture from one group of selected files and paste it into other files. Tags importing from Discogs and Musicbrainz also imports cover art picture, if there is such. You can also edit cover art type and description and also undo / redo any changes in the picture info.

If you click on the picture, a dialog with full-size picture appears. To close it click on the picture again.

You can also resize the imported picture to the desired width and height.

Exporting pictures to a hard drive is also supported. You can choose between JPG and PNG file formats.

Splitting files by CUE sheet

If you have a disc image (ape or flac or wav) and a cue file with it, Qoobar can split it to separate tracks, just click Split button.
If you don't have shntool, ffmpeg, or flac, install them.

  • On Linux you should install flac, ffmpeg and shntool from your repository.
  • Qoobar installer for Windows is distributed with all the necessary executables.
  • On Mac OS X you can install them:
    • using HomeBrew:
      brew install ffmpeg
      brew install shntool
      brew install flac
    • using MacPorts:
      sudo port install ffmpeg
      sudo port install shntool
      sudo port install flac

If you have ffmpeg installed on your computer, you can choose the output files format. By default the format is flac, but you can set it to be m4a (ALAC codec), m4a (AAC codec), ogg, wma, wavpack, tta, speex, opus or mp3. I recommend to set 'alac' in Mac OS X and 'flac' in other systems, as they are lossless formats.

Note: By default all lossy formats are encoded with bitrate 320 kb/s. If you want to change the bitrate, edit splitandconvert.sh or splitandconvert.bat script file and change the line bitrate=320K (or set bitrate=320K).

Automatic filling in the tags

Filling You can fill in the tags of selected files from their names or other tags. Select one or more files and click the button import from Internet or press Ctrl+F. A dialog will appear.

  1. Choose a source - file names, clipboard or one of tags.

  2. Set a filename pattern (use / and \ to match folders). You can use all the non-read-only placeholders listed in Appendix 3. They can also be found under the Legend button.

    All other characters will be treated as delimiters. And don't use patterns with no delimiter between two placeholders.

    Use the %% placeholder if you want to skip some part of a file name. For example, if you have, say, 50 files "Unknown Artist - 1 - some_meaningful_title_1", "Unknown Artist - 2 - some_meaningful_title_2" etc. and you only want to extract titles, use this pattern: %% - %% - %t.

  3. Unselect files you don't want to change. Note that old tags are shown grayed.

  4. Click OK.

Importing tags

Importing from network You can import tags of an album from the Internet. Qoobar can search tags in gnudb, Discogs, Musicbrainz and other databases, depending on the installed plugins. Click the button or press Ctrl+F and the dialog will appear:

  1. Choose the server. You need to have at least one download plugin installed - gnudb, Discogs, GD3 or Musicbrainz.
  2. Choose the search mode - by the lengths of selected files, by CD in CD-ROM, or manually - by artist name and album title.
  3. Click Search and wait a little. The list of found albums will appear in the left panel.
  4. Choose an album (just click on it) and wait while its details are being downloaded.
  5. Uncheck tags which you do not want to import and click OK.

Renaming files

Renaming To open the Renaming files dialog click the button or press Ctrl+R.

Qoobar supports three rename operations:

  1. File rename / move
  2. File copy
  3. Folder rename

The first two operations allow you to change file names, create nested folders etc. The last one is intended for folder renaming without any touching of file names. In this mode some rename options are disabled by default.

The ordinary workflow is as follows:

  1. Choose the desired operation.
  2. Choose the output folder. If you don't select one, files will be written in their original locations. In "folder rename" mode the output folder is always the folder one level up, so this option is disabled.
  3. Set a file renaming pattern (use slash / or backslash \ to create subfolders). You can use all placeholders and functions listed in Appendix 3. The placeholders can also be found under the Legend button.
    There are three predefined patterns. You can edit these patterns in the Settings dialog. Any pattern you use will be added to the patterns list for later use.
    If some tag is empty, the special character will be inserted instead. But you can enclose empty tags in brackets [], and this section will be removed from the file name.
    In "folder rename" mode subfolders creation is not allowed, and all slashes and backslashes will be replaced by "_".
  4. Adjust the additional processing of file names.
Note: The special Windows symbols in tags are replaced by default as follows:
  • Question ? will be removed
  • Double quotes " will be replaced with two single ones ''
  • Greater/lesser characters < > will be replaced with parentheses ( )
  • Slash / and backslash \ are used to create subfolders, but in tags they will be replaced with the special character (underscore _ by default)
  • Characters | : * will be replaced with _

You can specify the maximum file name length. But whatever the value all file names in Windows are truncated to 255 characters.

Example: The pattern

%c (1905-1975)/%a/[%N. ]%t

for an ogg file containing tags

  • Composer="Bela Bartok",
  • Album="Microkosmos",
  • Track number=2,
  • Title = "Ostinato"

yields the new file name Bela Bartok (1905-1975)/Microcosmos/02. Ostinato.ogg

If you remove the track number, the new file name will be Bela Bartok (1905-1975)/Microcosmos/Ostinato.ogg

Adding ReplayGain info to files

Qoobar can help you replaygain your music files. Qoobar follows the specifications presented by the loudgain app.

Qoobar so far uses ffmpeg to decode files, so if you are using Linux, you need to install ffmpeg from your repository.
The Windows installations of Qoobar already have all the ffmpeg libraries and executables available.
The OS X users can install ffmpeg via HomeBrew: brew install ffmpeg or via MacPorts: sudo port install ffmpeg

Scanning for ReplayGain info

  1. Select files, as many as you want. Qoobar will sort these files according to their type, folder and album.
    Note: you cannot scan a folder that contains files of different types as a single album.
  2. In the context menu or the "Tools" menu click "ReplayGain info...". If some files you have selected have unsaved changes, a dialog will appear with the suggestion to save them. Please save these files if you want to proceed. Then a dialog appears:

    Replaygain dialog

  3. Now you can use one of the buttons to start scanning:
    • Scan per file track gain - All files you have selected will be scanned independently.
    • Scan as a single album - All files you have selected will be scanned as one album regardless of their path/folder or the "Album" tag.
    • Scan as albums (by tags) - All files you have selected will be sorted according to their "Album" tag and scanned by groups.
    • Scan as albums (by folders) - All files you have selected will be sorted by their path/folder and scanned by groups.
    • Remove replaygain tags from files - The replaygain info will be removed from files.

Note: Qoobar can skip already scanned files. Just check on the "Skip already scanned files" box.

After scanning is complete, the replaygain info table will be updated. Now you can click the Update file tags button to save changes or click Cancel to close the dialog.

The Files Table has the "RG" column that displays the presence of the replaygain info in the file tags.

The ReplayGain tab of the Settings dialog allows you to fine-tune the replaygain process.

Command-line interface

Qoobar can work in the command-line mode. You can automate your work by launching Qoobar in the console and by writing bash scripts. So far only Unix-like systems are supported.

There is a man file shipped with Qoobar. To see the man file run

man qoobar

To see the help on the command-line options run

qoobar -h

There is the possibility to run Qoobar in both command-line and GUI mode, that is to perform some scripting and then show the Qoobar window. For more info see examples below.

The description of all the options can be found in the Appendix 5

Examples

The GUI mode

qoobar

Runs Qoobar in the GUI mode.

qoobar --force-id3v23

Switches on writing of id3v2 tags to id3v2.3 format and runs Qoobar in the GUI mode. Other global options can be specified.

Note: These global options will be saved when closing the Qoobar window. See Appendix 5 for the list of supported global options.

qoobar "~/Music/Artist/Album 1"

Runs Qoobar in the GUI mode and adds the content of "~/Music/Artist/Album 1" directory.

The command line mode

The command line mode is automatically used if any of the following arguments is specified:

-c, --composer, -a, --album, -t, --title, -A, --artist, -C, --comment, -g, --genre, -y, --year, -n, --track-number, -T, --total-tracks, --s, --set, --remove, --remove-user-tags, --remove-all, --set-image, --set-image-description, --set-image-type, --remove-image, --write-image, --scan-rg, --write-rg, --remove-rg, --list-image-types, --list-keys, --show-tags, -f, --fill, --rename, --split.

Note: Any global option that is specified in the command line mode will not be saved automatically. If you want to change the default settings, either edit the ~/.config/qoobar/global.ini file, or set them in the qoobar preferences dialog.

qoobar -a "Sonata No.29 Hammerklavier" "~/Music/Beethoven, L./Sonata 29 (Richter)"

Sets the album to be "Sonata No.29 Hammerklavier" in every file in "~/Music/Beethoven, L./Sonata 29 (Richter)" directory.

qoobar --write-id3v2 on --write-ape off --delete-id3v1 delete -n 1 "~/Music/ABBA/*.mp3"

Automatically sets track numbers from 1 to number of files for all mp3 files in the "~/Music/ABBA/" directory. When saving files writes id3v2 tags only, and strips all ape tags and all id3v1 tags.

qoobar -s "ARTIST:%A (piano)" "~/Music/SKRIABIN A./Compilation"

Takes ARTIST tag, appends " (piano)" text and writes back into ARTIST tag for all files in the "~/Music/SKRIABIN A./Compilation" directory.
This is equivalent to qoobar -A "%A (piano)" "~/Music/SKRIABIN A./Compilation"

qoobar --fill "%c/%a (%A)/%n - %t" "~/Music/Beethoven, L./Piano concerto No.5 (Arrau)/"

Fills tags from files names for all files in "~/Music/Beethoven, L./Piano concerto No.5 (Arrau)/" directory. The tags to write are:

Composer will be "Beethoven, L."
Album will be "Piano concerto No.5"
Artist will be "Arrau"
Track numbers will be all symbols in files names before the first " - "
Track titles will be all symbols in files names after the first " - " (excluding the file extension).

qoobar --split  ~/Music/Ellington/compilation/cd.cue --artist "Edward \\"Duke\\" Ellington" --rename "%N. %t" --force-gui

Splits an audio image file to separate tracks by the CUE sheet file "~/Music/Ellington/compilation/cd.cue" (the audio file is taken from this file data), sets artist to "Edward \\"Duke\\" Ellington" (note the double backslashes in the text) and renames newly created files according to the pattern "%N. %t", that is track number (01, 02, 03...) followed by a dot and a space followed by track title. After that launches Qoobar in the GUI mode and opens these created files for fine tuning.

Arguments order

The order in which the command-line arguments are processed is independent of their order in the command line and is as follows:

  1. -h, --help, --version, --list-image-types, --list-keys, --list-placeholders

    After executing these commands Qoobar quits.

  2. Global options:

    --recursive, --verbose, --simplify-whitespaces, --read-id3v2, --read-ape, --write-id3v2, --write-ape, --force-id3v23, --delete-id3v1, --id3v1-transliterate, --ogg-image-new

  3. Other options:

    --maximum-length, --replace-win-chars, --output-dir, --replace-spaces, --remove-diacritics, --apply-to-folders, --change-case, --format --mpc-replaygain-format, --rg-loudness, --rg-mode, --rg-prevent-clipping, --rg-tags-case, --rg-units

  4. --split
  5. --show-tags
  6. --write-image, --scan-rg, --write-rg, --remove-rg
  7. --remove, --remove-user-tags, --remove-image, --remove-all
  8. --fill
  9. -s, --set, -c, --composer, -a, --album, -t, --title, -A, --artist, -C, --comment, -g, --genre, -y, --year, -n, --track-number, -T, --total-tracks, --set-image, --set-image-description, --set-image-type
  10. After these Qoobar saves tags.
  11. --rename

Qoobar Settings

You can reset all settings to their defaults by clicking the Reset Settings button in the bottom left corner.

Interface settings Interface

Use undo / redo
This option lets you switch on/off the undo system. If the undo / redo operations are switched off, Qoobar runs faster and consumes less memory.
Automatically fill a tag in all selected files when pasting a single line
If this option is set, you can select one file, copy its tags, then select several files and paste the copied tags right into all files, not only the 1st of them.
Hide Tab bar with only one tab
If this option is set, the Tab bar will automatically be hidden if less than 2 tabs are opened.
Show folder tree
Shows/hides the Folder Tree in the main window.
Folder tree root
Allows you to set the top-level folder for the Folder tree.
Characters
Characters with diacritical marks of the Tags Edit dialog - edit the text to add or remove characters. You can also change the font if characters are too small or not recognisable. Note: This option is removed in OS X since v.1.6.8
Sort file names and other text fields
Sets the case sensitivity option which is used in the Files Table sorting.
Status bar is tracking
Allows you to set the tracking option for the status bar: track files in the Files Table by moving the mouse or by clicking on the file.
User interface language
The user interface language.
Toolbar icons theme
The current set of Qoobar icons. Restart Qoobar to see the changes.

Autocompletion settingsAutocompletion

Collect text
Sets the automatic or manual text collecting.
Completion style
Sets whether completion matches the whole string or just the last word in it.
The table below
Allows you to switch on/off autocompletion for different tag types and edit lists of variants.

Tags writing settingsTags Writing

Save changes when closing Qoobar
Check this box to automatically save all unsaved files, both selected and not selected.
Simplify whitespaces when saving files
If you find it tedious to manually remove extra spaces, tabs etc., check this item, and Qoobar will do it automatically. Qoobar also always skips Comments and Lyrics tags.
Write tags separated by ; in different fields
This option works only for flac, ape, ogg, oga, spx files. If you switch on this option, the string "some text;another text;some other text" will be written not as one field "ARTIST=some text;another text;some other text" but as three different fields "ARTIST=some text", "ARTIST=another text", "ARTIST=some other text".
Mp3 files
Here you can choose which tags to read and write.
ID3v2 tags version
Sets the default version of ID3v2 tags when saving.
Ogg / Speex files
This setting allows you to choose the desirable format for the cover art tag - the old one (COVERART) or the new preferred one (METADATA_BLOCK_PICTURE).
ID3v1 tags
Here you can choose how to duplicate ID3v2 tags into ID3v1 - either delete ID3v1 tags completely, only update existing ID3v1 tags or always create ID3v1 tags.
Transliterate Russian words
If you set this option, all Cyrillic letters in ID3v1 tags will be replaced according to this scheme:
Cyrillic letterLatin letterCyrillic letterLatin letter
аaрr
бbсs
вvтt
гgуu
дdфf
е, ёeхkh
жzhцc
зzчch
иiшsh
йjщx
кkъw
лlыy
мmьj
нnэeh
оoюyu
пpяya

Patterns settingsPatterns

Renaming patterns

Here you can edit the list of patterns used when you rename files, fill or edit tags.

All patterns you use will automatically be remembered for the future use. If some are no more needed, delete them.

You can also create a set of your own patterns. Use the Add pattern button to add a new pattern, Legend button to search & insert the placeholders available.

Three predefined patterns are present in the freshly installed Qoobar, you can see them in the picture.

Tagging schemes

Here you can choose which scheme to use for tags reading and writing. They are: one default scheme (you cannot edit or delete this scheme, but only clone it) and 4 more schemes, which you can change: Tag&Rename, Mp3tag, Iain Lamb's scheme, Musicbrainz Picard.

You can edit schemes, clone or remove them (except for the default one).

How to edit the tagging scheme

Taggings scheme dialogIf you click on the Edit button, a dialog appears:

You can change the scheme name in the first line. The table sets the correspondence between Qoobar tags and various fields for 5 tag formats. If you want to set several fields for one tag, simply separate them by semicolon, f.e. in the default scheme the tag "Total tracks" are written into APE files into 3 different fields: TOTALTRACKS;TRACKNUMBER;TRACKTOTAL.

If you set the same field for "Track number" and "Total tracks" tags, f.e. TRACKNUMBER, the resulting field value will be written as "track_number/total_tracks", and vice versa, when reading the field TRACKNUMBER with the value "02/10" it will be parsed as "Track number=02", "Total tracks=10".

You can add your own tag(s) to the scheme. This tag will constantly be visible in the Tags Table, although the Files Table doesn't show custom tags.

  1. Click on the + button.
  2. Change the tag name by double-clicking on the row name. This name will be used in the Tags Table.
    Note: This name will not be localized, but you can type your own localized name.
  3. Set fields for all five tag formats. Please take into account the peculiarities in the paragraph below.

Example: Let's add the "File Owner" tag. First click on +. Then double-click on the row name and input File Owner. Next fill in the fields: TOWN in the ID3v2 cell (this is the standard field listed in the ID3v2 specification, so no "TXXX:" prefix needed), ----:com.apple.iTunes:FILEOWNER in the MP4 cell, and FILEOWNER in the other cells. Click Save.

If you want to remove some tag from the scheme, click on any field on the tag row and then click . Removing of standard tags (that is Composer through ISRC) is not supported. If you want to remove them, simply hide them by choosing the "Show/hide tags..." option in the Tags Table context menu.

Note: Please if possible restart Qoobar so the scheme changes can fully be applied.

There are some peculiarities for ID3v2, Asf and Mp4 formats:

  • ID3v2: Use prefix TXXX: for non-standard text fields, WXXX: for non-standard web URLs, and COMM: for custom comments. You can also use all text fields listed in the ID3v2.3/4 specification.
  • Mp4: Use prefix ----:com.apple.iTunes: for your non-standard fields. The grayed internal fields are handled internally by Qoobar and cannot be changed.
  • Asf: The grayed internal fields are handled internally by Qoobar and cannot be changed.

Utilities settingsUtilities

This tab contains the settings of the external utilities.

External programs
Here you can find out if all external programs are properly found by Qoobar.
Player command
The external player name (with the full path to the executable optionally).
Note: Finding the right command to launch the player with your files can be quite tricky. For some players you need to consult their help files (look for "command-line parameters").
CD-ROM device
type here the path to the CD-ROM Qoobar can read (or left this field blank if you have only one CD-ROM).
Cue files encoding
The default encoding to use for reading cue files.
Default language to use with the enca utility
The language that enca uses to guess the encoding of the wrong written tags (f.e. when reading id3v2 tags of mp3 file that were previously saved with Windows-1251 encoding).

ReplayGain settingsReplayGain

This tab contains the settings of the replaygain process. They loosely correspond to the settings of the loudgain utility. For more info on their meaning please go to loudgain page.

Replaygain tags
Uppercase or lowercase depending on your favourite player.
Replaygain mode
Standard (minimum of RG tags) or advanced (additional RG tags).
Loudness target
-18 dB or -23 dB. Choose the latter if you want to prevent clipping of tracks with high true peak.
Loudness units
dB or LU.
Prevent clipping
allows Qoobar to apply the clipping prevention mechanism (effectively reducing the gain just below the clipping point).

Network settingsNetwork

Here you can set proxy parameters if you use a proxy server.


PluginsPlugins

Here you can view the installed plugins. They are divided into two groups:

Download plugins

The list of sources used in the Fill dialog.

The last three columns describe available modes the plugin can work in.

  • Manual means that the plugin can perform search by the artist name and the album title manually entered by a user.
  • By CD means that the plugin can read the table-of-contents (TOC) of a CD in the CD-ROM and search for this particular CD.
  • By files means that the plugin can use the list of selected files to imitate the CD TOC and search for an abstract album according to the lengths of these selected files.
Tags editing plugins
The list of plugins in the Tools menu.

Appendix 1. The default tagging scheme supported by Qoobar

The table contains all fields that Qoobar read and write in 5 different tag types: ID3v2.4, APE, Xiph, Asf, MP4.

Internal means that this field is stored in the file without any field key.


ID3v2.4 fields Vorbis comments APE fields Asf fields MP4 fields
Composer TCOM COMPOSER COMPOSER WM/Composer ©wrt
Album TALB ALBUM ALBUM WM/AlbumTitle ©alb
Original Album TOAL ORIGINALALBUM ORIGINALALBUM WM/OriginalAlbumTitle ----:com.apple.iTunes:ORIGINALALBUM
Title TIT2 TITLE TITLE Internal ©nam
Subtitle 1 TIT3 SUBTITLE SUBTITLE WM/SubTitle subt
Music Category 2 TIT1 GROUPING GROUPING WM/ContentGroupDescription ©grp
Artist TPE1 ARTIST ARTIST Internal ©ART
Original Artist TOPE ORIGINALARTIST ORIGINALARTIST WM/OriginalArtist ©ope
Performer TXXX:PERFORMER PERFORMER PERFORMER foobar2000/PERFORMER ----:com.apple.iTunes:PERFORMER
Comment COMM: DESCRIPTION;
COMMENT
COMMENT Internal ©cmt
Genre TCON GENRE GENRE WM/Genre ©gen
Year TDRC DATE DATE WM/Year ©day
Track Number TRCK TRACK;
TRACKNUMBER;
TRACKNUM
TRACKNUMBER WM/TrackNumber trkn
Total Tracks TRCK TOTALTRACKS;
TRACKNUMBER;
TRACKTOTAL
TOTALTRACKS;
TRACKNUMBER
WM/TrackNumber;
TotalTracks
trkn
Conductor TPE3 CONDUCTOR CONDUCTOR WM/Conductor cond
Orchestra TXXX:ORCHESTRA3 ORCHESTRA ORCHESTRA Orchestra3 ----:com.apple.iTunes:ORCHESTRA
Publisher TPUB LABEL LABEL WM/Publisher labl
Copyright TCOP COPYRIGHT COPYRIGHT Internal ©cpy;cprt
Mood COMM:MusicMatch_Mood;
PRIV:WM/Mood
MOOD MOOD WM/Mood mood
Beats Per Minute TBPM BPM BPM WM/BeatsPerMinute tmpo
Lyricist 4 TEXT LYRICIST LYRICIST WM/Writer lyrt
Original Lyricist TOLY ORIGINALLYRICIST ORIGINALLYRICIST WM/OriginalLyricist olyr
Lyrics USLT LYRICS LYRICS WM/Lyrics ©lyr
Key 5 TKEY KEY KEY WM/InitialKey ----:com.apple.iTunes:KEY
Cover art APIC COVERART /
METADATA_BLOCK_PICTURE6
Cover Art (front) WM/Picture covr
Disc number TPOS DISCNUMBER DISCNUMBER WM/PartOfSet disk
Total discs TXXX:TOTALDISCS;
TPOS
TOTALDISCS;
DISCNUMBER
TOTALDISCS;
DISCNUMBER
foobar2000/TOTALDISCS;
WM/PartOfSet
disk
Encoded by TENC ENCODEDBY ENCODEDBY WM/EncodedBy;
WM/CodedBy
©enc
Remixed by TPE4 VERSION VERSION WM/ModifiedBy rmix
Rating 7 POPM;
COMM:MusicMatch_Preference
RATING RATING WM/SharedUserRating --
ISRC TSRC ISRC ISRC WM/ISRC ISRC
URL WXXX: URL URL WM/URL ©url
Album artist TXXX:ALBUMARTIST;
TPE23
ALBUM ARTIST ALBUM ARTIST WM/AlbumArtist;
AlbumArtist3
aART

1 The opus number of the composition (Beethoven's 8th Symphony has opus number 93) or years of writing or something else.

2 The music form of your music, for example for the Mozart's opera "Die Zauberflote" Music category will be "Opera", for Rachmaninov's 2nd concerto the music form is "Piano Concerto" or "Concerto for piano and symphony orchestra" and so on.

3 These fields do not follow the id3v2 specification, which provides "TPE2" for orchestra/band/ensemble etc. But due to consistency with Tag&Rename the tag "Orchestra" is now written in TXXX:ORCHESTRA, and the tag "Album artist" goes to TPE2. Wma files have the same difficulty.

4 The author of opera libretto, of song words etc.

5 The tonality of a composition, for example Beethoven's Fifth Symphony has the key (tonality) C Minor (c-moll, ut mineur etc.).

6 It depends on the option you set in the Qoobar settings.

7 A number from 1 to 5.

Appendix 2. Qoobar Shortcuts

Shortcut Action
Ctrl+AIn the files table: Select all files
In the tags table: Select all tags
Ctrl+CCopy selected tags
Shift+Ctrl+CCopy selected tags into clipboard
Ctrl+DownMove selected files down
Ctrl+FIn the main window: Fill tags with the information from files names
In the tags editing dialog: Start search & replace
Shift+Ctrl+FSearch for music files on your computer
Ctrl+GIn the tags editing dialog: Find next (in Gnome and maybe KDE)
Shift+Ctrl+GIn the tags editing dialog: Find previous (in Gnome and maybe KDE)
Ctrl+HAdd selected tags to the autocompletion list
Ctrl+NAdd a new tag to the selected files
Ctrl+OAdd a folder with music files (with all subfolders)
Shift+Ctrl+OAdd a file / files
Ctrl+PPlay selected files in an external player
Ctrl+QExit from Qoobar
Ctrl+RRename selected files
Ctrl+SSave all files in the current tab
Ctrl+TNew tab
Ctrl+UpMove selected files up
Ctrl+VPaste copied tags
Shift+Ctrl+VPaste text from clipboard into a selected tag
Ctrl+WClose current tab (in Gnome and maybe in KDE)
Ctrl+XCut selected tags
Ctrl+YRedo the last change (in Windows)
Ctrl+ZUndo the last change
Shift+Ctrl+ZRedo the last change (in Gnome and maybe in KDE)
DelIn the files table: Remove selected files from the list
In the tags table: Delete selected tags
Ctrl+DelClear the files table of the current tab
F1Help on Qoobar
F3In the tags editing dialog: Find next (in Windows)
Shift+F3In the tags editing dialog: Find previous (in Windows)
Ctrl+F4Close current tab (in Windows)

Appendix 3. Placeholders and functions

This table contains all placeholders that you can use when renaming files and filling or editing tags.

Short PlaceholderLong PlaceholderMeaningComments
%c<composer>composer 
%a<album>album 
%t<title>title 
%p<performer>performer 
%A<artist>artist 
%d<conductor>conductor 
%o<orchestra>orchestra 
%s<subtitle>subtitle 
%k<key>key 
%C<comment>comment 
%g<genre>genre 
%y<year>year 
%n<track number>track numberFormat: 1, 2, 3, ...10, 11, 12 etc.
%Nuse $num(<track number>)track numberFormat: 01, 02, 03, ...10, 11, 12 etc.
%T<total tracks>total tracks 
%u<album artist>album artist 
%G<musical category>musical category 
%P<publisher>publisher 
%X<copyright>copyright 
%m<mood>mood 
%B<tempo>tempo 
%w<lyricist>lyricist 
%W<lyrics>lyrics 
%D<disc number>disc number 
%S<total discs>total discs 
%e<encoded by>encoded by 
%x<remixed by>remixed by 
%R<rating>rating 
%O<original album>original album 
%v<original artist>original artist 
%i<original lyricist>original lyricist 
%U<url>URL 
%I<isrc>ISRC 
%b<bitrate>bitrateread only
%l<length>lengthFor example: 14:53, read only
%L length in secondsFor example: 431, read only
%r<sample rate>sample rateread only
%h<channels>number of channelsread only
%f<file name>filename without extensionread only
%Fuse <file name>.<file extension>filename with extensionread only
%zuse <file path>/<file name>.<file extension>filename with path and extensionread only
%Z<file path>file pathread only
%E<file extension>filename extensionread only
%% not necessary fieldIf you want to skip some text while parsing a file name

 

Functions that can be used along with placeholders.

SyntaxDescriptionExample
$last_word(X)
$lastword(X)
$lw(X)
Returns the last word of the argument. $last_word(%c)
$first_word(X)
$firstword(X)
$fw(X)
Returns the first word of the argument.$first_word(%c)
$nth_word(X,n)
$nthword(X,n)
$nw(X,n)
Returns the n-th word of the first argument. If the second argument is empty, returns the first word of the first argument. $nw(%p)
$nthword(%p,3)
$time(X)
$time()
Returns the current time formatted as X. The available options are:
h the hour without a leading zero (0 to 23 or 1 to 12 if AM/PM display)
hh the hour with a leading zero (00 to 23 or 01 to 12 if AM/PM display)
H the hour without a leading zero (0 to 23, even with AM/PM display)
HH the hour with a leading zero (00 to 23, even with AM/PM display)
m the minute without a leading zero (0 to 59)
mm the minute with a leading zero (00 to 59)
s the second without a leading zero (0 to 59)
ss the second with a leading zero (00 to 59)
z the milliseconds without leading zeroes (0 to 999)
zzz the milliseconds with leading zeroes (000 to 999)
AP or A use AM/PM display. A/AP will be replaced by either "AM" or "PM".
ap or a use am/pm display. a/ap will be replaced by either "am" or "pm".
t the timezone (for example "CEST").
If X is empty, "hh:mm:ss" is used.
$time()
$time(hh:mm:ss:zzz)
$time(h ap)
$date(X)
$date()
Returns the current date formatted as X. The available options are:
d the day as number without a leading zero (1 to 31)
dd the day as number with a leading zero (01 to 31)
ddd the abbreviated localized day name (e.g. 'Mon' to 'Sun').
dddd the long localized day name (e.g. 'Monday' to 'Sunday').
M the month as number without a leading zero (1 to 12)
MM the month as number with a leading zero (01 to 12)
MMM the abbreviated localized month name (e.g. 'Jan' to 'Dec').
MMMM the long localized month name (e.g. 'January' to 'December').
yy the year as two digit number (00 to 99)
yyyy the year as four digit number.
If X is empty, "MMM d yyyy" is used.
$date()
$date(dddd, MM.dd.yy)
$lower(X)Converts X to lowercase.$lower(%A)
$upper(X)Converts X to uppercase.$upper(%a)
$caps(X)Converts first letter in every word of X to uppercase, and all other letters to lowercase, e.g. “blah BLAH” ⇒ “Blah Blah”. $caps(%t)
$caps2(X)Similar to $caps, but leaves uppercase letters as they are, e.g. “blah BLAH” ⇒ “Blah BLAH”. $caps2(%t)
$num(X, Y)Displays X as a number and pads with zeros up to Y characters (useful for track numbers etc).
If Y is empty, pads to 2 characters.
$num(%n,3)
$num(%n) (equals to %N)
$char(X)Inserts Unicode character no. X.$char(9674)
$char(0x25CA)
$index(X)Returns index of the file in the selected files starting from X.
If X is empty, indexing starts from 1.
$index()
$index(0)
$section(X,Y,Z)
$substr(X,Y,Z)
Returns section of X from Y through Z. Indexing starts from 1. Y and Z can either be numbers or strings.$section(%c,4,10)
$section(%c,0,blah)
$section2(X,Y,A,B)Returns sections of X from A to B with separator Y. Indexing starts from 1. Y can be a character or a string. A and B should be numbers$section2(%c,:,1,2)
$section2(%c,:,2)
$count(X,Y)Returns the number of occurrences of Y in X. Equals to $numsections(X,Y)-1$count(%c,:)
$count(%c,the)
$numsections(X,Y)Returns the number of sections of X if it were splitted by Y. Returns 1 if X does not contain Y. Equals to $count(X,Y)+1$numsections(%c,:)
$abbr(X)
$abbr(X,Y)
Returns an abbreviation of X if X is longer than Y characters; otherwise returns full value of X. If Y is empty, returns an abbreviation of X.$abbr(%A)
$ansi(X) Returns X with all characters not present in current system codepage replaced with closest matches.$ansi(Renée Fleming)
$ascii(X) Returns X with all non-ASCII characters replaced with closest ASCII matches.$ascii(Renée Fleming)
$if(X,Y,Z) If X contains at least one present field, executes/displays Y, otherwise executes/displays Z. $if(%A,%A,Unknown Artist)
$if2(X,Y) Same as $if(X,X,Y). $if2(%A,Unknown Artist)
$if3(X,Y,Z,...) Returns the first of parameters that contains at least one present field.  
$trim(X) Trims leading/trailing space characters from X.$trim(%t)
$replace(X,Y,Z) Replaces all occurrences of string Y in string X with string Z.$replace(%A,_, )
$repeat(X,N) Repeats X N times.$repeat( ,4)
$stripprefix(X,Y,Z,...)
$stripprefix(X)
Removes the specified prefixes from X. If Y, Z etc. are empty, removes “A”, “An” and “The” prefixes from X.$stripprefix(%A)
$swapprefix(X,Y,Z,...)
$swapprefix(X)
Moves the specified prefixes to the end of X. If Y, Z etc. are empty, moves “A”, “An” and “The” prefixes to the end of X. $swapprefix(%A)
$simplify(X) Simplifies leading, trailing and internal whitespaces in X.$simplify(%t)
$transliterate(X,N) Transliterates Russian characters.$transliterate(%A)
$recode(X,Y)
$recode(X)
Changes encoding of X to Y. If Y is empty, uses enca to guess the encoding.$recode(%A,ISO-8859-3)
$ifequal(A,B,C,D) If the number A is equal to the number B, executes/returns C, otherwise executes/returns D.$ifequal($index(),3,%p,%A)
$ifgreater(A,B,C,D) If the number A is greater than the number B, executes/returns C, otherwise executes/returns D.$ifgreater($index(),3,%p,%A)
$iflonger(A,B,C,D) If the string A is longer than B characters, executes/returns C, otherwise executes/returns D. $iflonger(%A,10,$abbr(%A),%A) equals to $abbr(%A,10)
$select(N,A,B,C,...) Returns N-th of A,B,C… parameters. 
$cut(X,N) Returns first N characters from the left of the string X. Same as $left(X,N)$cut(%A,10)
$left(X,Y) Returns first N characters from the left of the string X. Same as $cut(X,N)$left(%A,10)
$fix_eol(X)
$fix_eol(X,Y)
Truncates multiline strings, adding ” (…)” (version 1) or Y (version 2) at the end.$fix_eol(%W,...)
$insert(A,B,N) Inserts string B into string A after N characters.$insert(%A,artist:,0)
$len(X) Returns length of the string X in characters.$len(%A)
$roman(X) Formats the integer number X as roman numeral. X must be greater than 0.$roman($index())

Appendix 4. Regular expressions

A regular expression is a pattern for matching sub-strings in a text. Qoobar supports regular expressions similar to Perl's regexp language. Here is only a brief description of expressions, quantifiers, and assertions that can be useful in your search.

Characters and Abbreviations for Sets of Characters
\amatches the ASCII bell (BEL, 0x07).
\fmatches the ASCII form feed (FF, 0x0C).
\nmatches the ASCII line feed (LF, 0x0A, Unix newline).
\rmatches the ASCII carriage return (CR, 0x0D).
\tmatches the ASCII horizontal tab (HT, 0x09).
\vmatches the ASCII vertical tab (VT, 0x0B).
\xhhhhmatches the Unicode character corresponding to the hexadecimal number hhhh (between 0x0000 and 0xFFFF).
\0ooo(i.e., \zero ooo) matches the ASCII/Latin1 character for the octal number ooo (between 0 and 0377).
.(dot) matches any character (including newline).
\dmatches a digit.
\Dmatches a non-digit.
\smatches a whitespace character.
\SMatches a non-whitespace character.
\wMatches a word character (letter, number, marks, or '_').
\WMatches a non-word character.
\nThe n-th backreference, e.g. \1, \2, etc.
Sets of Characters, grouping
[abc]matches 'a' or 'b' or 'c'.
[^abc]matches anything but 'a' or 'b' or 'c'.
[a-e]matches a range of characters from 'a' to 'e'.
(E|N)matches expression E or expression N, where E and N can be complex.
Quantifiers
E?matches zero or one occurrences of E.
E+matches one or more occurrences of E.
E*matches zero or more occurrences of E.
E{n}matches exactly n occurrences of E.
E{n,}matches at least n occurrences of E.
E{,m}matches at most m occurrences of E.
E{n,m}matches at least n and at most m occurrences of E.
To apply a quantifier to more than just the preceding character, use parentheses to group characters together in an expression.
For example, tag+ matches a 't' followed by an 'a' followed by at least one 'g', whereas (tag)+ matches at least one occurrence of 'tag'
Assertions
^The caret signifies the beginning of the string. If you wish to match a literal ^ you must escape it by writing \\^.
$The dollar signifies the end of the string. If you wish to match a literal $ you must escape it by writing \$.
\bA word boundary.
\BA non-word boundary. This assertion is true wherever \b is false.
(?=E)Positive lookahead. This assertion is true if the expression matches at this point in the regexp.
For example, const(?=\s+char) matches 'const' whenever it is followed by 'char', as in 'static const char *'.
(Compare with const\s+char, which matches 'static const char *'.)
(?!E)Negative lookahead. This assertion is true if the expression does not match at this point in the regexp.
For example, const(?!\s+char) matches 'const' except when it is followed by 'char'..

Appendix 5. Command-line options

Changing tags

-c <STRING>, --composer <STRING>Sets composer.
-a <STRING>, --album <STRING>Sets album.
-t <STRING>, --title <STRING>Sets title.
-A <STRING>, --artist <STRING>Sets artist.
-C <STRING>, --comment <STRING>Sets comment.
-g <STRING>, --genre <STRING>Sets genre.
-y <NUM>, --year <NUM>Sets year.
-n <NUM>, --track-number <NUM>Sets track number.
-T <NUM>, --total-tracks <NUM>Sets total tracks.
--set <KEY:STRING> (accepted multiple times)Sets tag with KEY to STRING. See --list-keys for complete list of standard keys. If KEY is not standard, the user tag with key KEY will be set.
--remove <KEY> (accepted multiple times)Removes tags by their KEY. See --list-keys for complete list of standard keys. If KEY is not standard, the user tag with key KEY will be removed.
--remove-user-tagsRemoves all non-standard tags.
--remove-allRemoves all tags, including standard tags, user tags, image, and replaygain info.

Changing image

--set-image [<PATH>]Sets an image to the file. If PATH is empty, image will be removed.
--set-image-description <STRING>Sets an image description.
--set-image-type <TYPE>Sets an image type. For list of possible types see --list-image-types.
--remove-imageRemoves the image from the file.
--write-image [<DIR>]Causes the attached image to be written into DIR directory. If DIR is empty, the image will be written where the audio file is.

ReplayGain info

--scan-rg <file|album|dir|tag> Scans the file without writing ReplayGain info into files. The options are:
file: Scans per file track gain
album: Scans all files as a single album
dir: Scans each directory as a single album
tag: Scans each ALBUM as a single album
--write-rg <file|album|dir|tag> Scans the file and writes ReplayGain info into files. The options are:
file: Scans per file track gain
album: Scans all files as a single album
dir: Scans each directory as a single album
tag: Scans each ALBUM as a single album
--remove-rgRemoves ReplayGain info from the file.
--skip-scanned-rgSwitches on skipping files that already have ReplayGain info.
--mpc-replaygain-format <header|tags>Sets the format of ReplayGain information to be written into Musepack files.
header: ReplayGain information will be written into the file header. It is the default value.
tags: ReplayGain information will be written into APEv2 tags and can be changed or deleted.

Filling tags

--fill <PATTERN> Fills tags from file name by a pattern using placeholders: %A (artist), %a (album), %t (title), etc. See --list-placeholders for complete list of placeholders.

Renaming files

--rename <PATTERN> Rename file (the extension is not affected) based on data in the tag using placeholders: %A (artist), %a (album), %t (title), etc. See --list-placeholders for complete list of placeholders.
--maximum-length <NUM> Sets maximum file name length for --rename option to a specified value. If value is 0, file name will not be truncated. The default value is 0.
--replace-win-chars <on|off> Switches on/off Windows chars replacement for --rename option. The default value is on.
--output-dir <DIR> Specifies the destination directory for --rename option. If <DIR> is empty, the source directory will be used.
--replace-spaces <on|off> Switches on/off spaces replacement for --rename option. The default value is off.
--remove-diacritics <on|off> Switches on/off diacritics removing for --rename option. The default value is off.
--apply-to-folders <on|off> If this option is set, all other options for --rename option will take place for created folders names as well. The default value is off.
--change-case <lower|upper|first-up|every-first-up|dont-change> If this option is set, created file and folders names will be in case specified by this option. The default value is dont-change.

Splitting files

--split <CUE>Splits an audio file by its CUE sheet.
--format <flac|m4a|alac|mp3|ogg|wma|wv|speex|opus> Sets format of splitted files. The default value is flac. If no ffmpeg or avconv is installed, this option is ignored and the format is set to flac. If format is m4a, AAC codec is used. If format is alac, m4a file extension is used.

Global options

-r, --recursive If set, directories to process are added recursively, that is with all their subdirectories. The default behavior is non-recursive.
--simplify-whitespaces <on|off> Switches on/off tags simplifying when saving files. The default value is on.
--read-id3v2 <on|off> Switches on/off reading of id3v2 tags in mp3 files. The default value is on.
--read-ape <on|off> Switches on/off reading of ape tags in mp3 files. The default value is off.
--write-id3v2 <on|off> Switches on/off writing of id3v2 tags in mp3 files. The default value is on.
--write-ape <on|off> Switches on/off writing of ape tags in mp3 files. The default value is off.
--force-id3v23 <on|off> Switches on/off writing of id3v2 tags to id3v2.3 format. The default value is off.
--id3v1-behavior <update-always|update-existing|delete> Switches on/off deleting of id3v1 tags when saving mp3 files. The default value is delete.
--id3v1-transliterate <on|off> Switches on/off transliteration of id3v1 tags when saving mp3 files. The default value is on.
--ogg-image-new <on|off> Switches on/off new ogg image format. The default value is on.

Other options

-h, --help Displays usage information and exits.
--version Displays version information and exits.
--, --ignore_rest Ignores the rest of the labeled arguments following this flag.
--list-image-types Lists all possible image types and exits.
--list-keys Lists all possible tags keys and exits.
--list-placeholders Lists all possible placeholders and exits.
--show-tags Shows all tags of files.
--verbose Switches on verbose mode, in which all messages are shown. By default only errors and warnings are shown.
--force-gui Forces the GUI mode after completing all command-line options specified.
<file> (accepted multiple times) Files and directories to process