Documentation

Contents

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 reading, writing and importing from local filesystem.
  • Automatic tags generating from files names and 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 in 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 symbols.
  • Undo / redo system: You can undo (and redo) any your action separately for each opened tab. The following actions can be undone:
    • Changing tags in files
    • Adding / removing / changing cover art pictures
  • Importing tags from Discogs, Musicbrainz and freedb 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.
  • ReplayGain support in Mp3, Mp4, Ogg Vorbis, Flac, Musepack, WavPack files.
  • Command-line interface in Unix-like systems.
  • Music files search in 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 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+Del

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 its 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 a 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 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 its 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

The Folders Tree

Folders Tree

The Tags Table

Tags Table

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)
  • total count and length of files in the current tab
  • total count and length of selected files

Working with the Files Table

Files adding

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.

Files search

If you want to search 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.

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.

Files removing

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.

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

Save-files-before-delete dialog.

Files removing clears the undo stack.

Files saving

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

If 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:

Mp3 tag types

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 .
  2. To play selected files in an external player click 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 . 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 one 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

Qoobar 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.

Autocompletion

Adding your own tag

You can add your own tag to the selected files. Click or press Ctrl+N. A dialog appears:

New field

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 (and not to only selected files).

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

The 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, then 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, then 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 below. You can edit them manually by double-clicking on the field, though only "New #" and "New ##" will be used.

The Edit Dialog

When you double-click any tag in the Tags Table, the edit dialog appears:
Edit dialog

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 above 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.

Autocompletion

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

Quick parsing

Set this text into...: sets the selected text into all selected files as 'Artist' (f.e.).

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.

 

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

Find 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

Qoobar 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 edit cover art type and description in the panel shown below:

Cover art

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 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, flac and mac programs, install them.

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 320kb/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").

Since ffmpeg is rather heavy, it is not shipped with the Qoobar installation. On Windows you can download ffmpeg.exe from http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-latest-win32-static.7z. Download the archive, unpack it and put ffmpeg.exe into the Qoobar installation folder.

On Mac OS X you can install it:

  1. using HomeBrew:
    brew install ffmpeg
  2. using MacPorts:
    sudo port install ffmpeg
  3. download it from ffmpegmac.net and place the executable into qoobar.app/Contents/Resources/ folder.

In Linux simply use your software manager.

Automatic filling in the tags

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

Filling
  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.

Tags importing

You can import tags of an album from the Internet. Qoobar can search tags in freedb, Discogs, Musicbrainz and other databases, depending on the installed plugins. Click the button and the dialog will appear:

Importing from network

1. Choose the server. You need to have at least one download plugin installed - Discogs, freedb, 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. Be patient here: if you are searching in Discogs and Musicbrainz, cover art pictures can require some time to be downloaded.

5. Uncheck tags which you do not want to import and click OK.

Files renaming

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

Renaming

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 latter 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 by underscore

    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. This feature is not yet completely implemented, so only the following file types are supported: mp3, mp4/m4a, musepack, flac, ogg, wavpack.

Qoobar so far uses external utilities to do ReplayGain scanning, so if you are using one of Unixes, you need to install these utilities from your repository: mp3gain for mp3 files, aacgain for mp4/m4a files, vorbisgain for ogg files, metaflac for flac files, mpcgain and replaygain for mpc files, and wvgain for wavpack files. You can check whether all utilities can be found by Qoobar in the Utilities page of the Settings dialog. The Windows and OS X installations of Qoobar already have all necessary utilities.

Qoobar so far cannot replaygain the following file types: ape, wma, wav, speex, tta, oga, aiff.

Scanning for ReplayGain info:

  1. Select files, as many as you want. Qoobar will sort these files according to their type, so you cannot scan a folder that contains both mp3 and flac files as a single album.
  2. In the context menu or the "Tools" menu click "ReplayGain info...". If some files you have selected have not saved 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.

Note: If you are encountering messages like "Couldn't find file" or "The FLAC file could not be opened", open the Qoobar settings dialog and on the Utilities page set the "Copy files into temp folder before replaygaining them" option.

Note: Using of external utilities is not a good way to do scanning. Maybe in some distant releases I will implement a unified algorithm just like one Foobar uses.

Qoobar Settings

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

Interface

Interface settings

  • Use undo / redo: this option lets you to 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 feature is on, 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
  • User interface language: the user interface language
  • Toolbar icons theme: the current set of Qoobar icons

Autocompletion

Autocompletion settings

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

Tags Writing

Tags writing settings

  • 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 check 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 - there you can choose which tags to read and write.
  • ID3v2 tags version - 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 - there 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:
    а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

Patterns settings

  • Renaming patterns - here you can edit the list of patterns used when you rename files.
  • Tagging schemes - here you can choose which scheme to use for tags reading and writing. There 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 scheme, clone or remove it (except for the default one). If you click on the Edit button, a dialog will appear:

    Taggings scheme dialog

    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 don't show custom tags.

    1. Click 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 note 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

Utilities settings

This tab contains the settings of the external utilities.

  • Player command - the external player name (with the full path optionally).
  • 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.
  • External programs - here you can find out if all external programs are properly found by Qoobar.
  • 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).
  • Copy files into temp folder before replaygaining them - if this option is set, the files you are scanning for replaygain info will be copied to the temp directory first, processed and finally moved back.

Network

Network settings

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

Plugins

Plugins

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

  • Download plugins - 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 - list of plugins under 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 provided by the QRegExp class, which is modelled on 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'..