LAST UPDATED 2017-06-12
Plugin author: boroda74
NOTE: Current version of plugin is designed for MusicBee 3.0. If you are using MusicBee 2.4 or 2.5 try to download previous plugin version (without 'Backup & Restore' functionality).
Plugin adds several commands to MusicBee main menu:
ADDITIONAL TAGGING TOOLS
Allows you to copy one tag to another for selected files. Its possible to append one tag to the end of another tag or add one tag to the beginning of another tag placing custom text between them. Also its possible to use '<Null>' pseudo tag as the source to append static text to the destination tag.
There are a number of source pseudo tags which can be copied to (for example) custom tags, e.g. '<Date Created>' is file creation date.
It's possible to copy '<Null>' pseudo tag to 'Lyrics?' tag to mark track as having no lyrics. Copy '<+>' pseudo tag to clear this mark.
Swaps any two tags for selected files.
'Smart swap'/'Smart copy' option is important only for working with multiple artists/composers (it will convert list of artists/composers to ';' delimited string if destination tag doesn't support multiple values). Unchecking this option will preserve each byte of source tag, but it may be useful only if destination tag is used for temporary storage.
Its possible to use the same source and destination tags for 'Artist'/'Composer' tags in 'Swap tags' command with 'Smart swap' option enabled to convert ';' delimited tag to the list of artists/composers and vice versa.
Changes letter case of a tag according to rather sophisticated rules for selected tracks.
Excluded words (if this option is ticked) remain unchanged, not become lowercased!
You can make two or more steps changing casing rules and clicking 'Reapply rules to new tag' button without saving changes to tags.
Allows to export some library statistics for currently displayed tracks to external file: HTML document (as a table), tab delimited text, M3U playlist (its only possible to export file paths to playlists, but considering filtering capability of command this option may be useful). This may be used for reimporting table in spreadsheet editor (including HTML table - its the easiest way to import track list to MS Excel) for printing statistics or just content of your library, filtered content of library or your playlists.
Command supports for two types of exported fields: grouping tags and aggregated functions. Every aggregated function is calculated for every unique combination of grouping tags. 'Count' function counts the number of different values of a given tag. Other functions are obvious and should be applied only to numeric or duration tags (e.g. 'Time', 'File size', etc.).
Any aggregated function can be saved to physically stored custom tag (of course this custom tag wont be updated automatically), so that this aggregated function could be used by MusicBee for sorting/filtering.
For all aggregated functions except for 'Count' function please make sure that all tag values used by function have the same measurement units (KB, MB, etc.) or adjust units in 'Edit/Preferences/Plugins' window (not required if both MusicBee and Windows localizations are English or Russian).
- EXAMPLE 1
If you want just to export some tags then define only grouping fields in preview table (don't use aggregated functions and untick 'Calculate subgrouping totals' checkbox which is senseless in this case).
- EXAMPLE 2
If you want to get the number of albums of each artist, i.e. the number of albums (function 'Count' of tag 'Album') per artist (tag 'Album Artist'), you should add grouping tag 'Album Artist' in the table and required function 'Count(Album)'.
- EXAMPLE 3
If you want to get the number of releases of each artist per year, i.e. the number of albums (function 'Count' of tag 'Album') per year (tag 'Year') per artist (tag 'Album Artist'), you should add grouping tags (in order) 'Album Artist' and 'Year' in the table and required function 'Count(Album)'.
- EXAMPLE 4
If you want to get the total duration of all tracks of every artist, i.e. the sum of track durations (function 'Sum' of tag 'Time') per artist (tag 'Album Artist'), you should add grouping tag 'Album Artist' and function 'Sum(Time)'.
Auto library reportsEdit
Mostly the same command as 'Library reports', but allows to calculate several presets and save results to (custom) tags at startup and/or after a given number of tag changes. Useful for autosaving such values as 'Summary play counts of albums' or 'Number of tracks for each artist', etc. to (custom) tags, i.e. it's some analog of virtual tags with the ability to operate not only on tags of current track, but on tags of all tracks.
Auto library reports command adds new virtual tag function: $ALR(<URL>,function_id)
To use this function open auto-library reports window, create one or several presets, each with one or several aggregate functions and assign a function id for functions. Probably you will want to write all aggregate functions to <null> tag (i.e. do not write them to custom tags).
ALR virtual tag functions allow to gather and display in the main panel some library statistics for currently displayed tracks.
Main ALR window supports for two types of fields: grouping tags and aggregated functions. Every aggregated function is calculated for every unique combination of grouping tags. 'Count' function counts the number of different values of a given (function parameter, not grouping) tag. Other functions are obvious and should be applied only to numeric or duration (parameter) tags (e.g. 'Time', 'File size', etc.).
All ALR virtual tag function are calculated, updated and displayed dynamically.
For all aggregated functions except for 'Count' function please make sure that all (parameter) tag values used by function have the same measurement units (KB, MB, etc.) or adjust units in 'Edit/Preferences/Plugins' window (not required if both MusicBee and Windows localizations are English or Russian).
- EXAMPLE 1
If you want to get the number of albums of artist of displayed track, i.e. the number of albums (function 'Count' of (parameter) tag 'Album') per artist (tag 'Album Artist'), you should add grouping tag 'Album Artist' in the table and required function 'Count(Album)'.
- EXAMPLE 2
If you want to get the number of releases of artist (of displayed track) per year, i.e. the number of albums (function 'Count' of (parameter) tag 'Album') per year (tag 'Year') per artist (tag 'Album Artist'), you should add grouping tags (in order) 'Album Artist' and 'Year' in the table and required function 'Count(Album)'.
- EXAMPLE 3
If you want to get the total duration of all tracks of artist of displayed track, i.e. the sum of track durations (function 'Sum' of tag 'Time') per artist (tag 'Album Artist'), you should add grouping tag 'Album Artist' and function 'Sum(Time)'.
See two predefined presets 'LIBRARY TOTALS' and 'LIBRARY AVERAGES' of (not auto) 'Library Reports' command for more examples.
ALR virtual tag functions are even more useful if they are used in grouping header in 'Albums and Track' view.
Calculates auto rating on the basis of the number of plays per day for selected tracks. Also its possible to auto rate all tracks of your library on MusicBee startup or update auto rating if currently played track is changed.
Another option is to calculate auto ratings defining the percentage of tracks of your library that should be assigned certain rating level (e.g. 1 star, 2 starts, etc.)
Even ID3V2 tags are usually stored not in UTF encoding (which is independent of language), so in most cases reading ID3 tags is only useful if tags use the same encoding (in general - language) as your windows default encoding. This command allows you to convert any incorrectly interpreted not UTF tags to UTF tags. In this command 'initial encoding' is the suggested actual encoding of tag and the 'used encoding' is incorrectly interpreted encoding of tag (Usually its your default windows encoding. The only sense to change 'used encoding' is if you get music file from another computer with different regional settings).
Advanced search and replaceEdit
- 'Advanced search and replace' works only with regular expressions.
- 'Advanced search and replace' has savable/customizable presets.
- Some of 'Advanced search and replace' presets can be automatically applied if any tag is changed.
- 'Advanced search and replace' can search in one tag and make replacement in another tag.
- Single 'Advanced search and replace' preset can make up to 5 subsequent replacements.
- Plugin includes several ASR presets and new presets will be available for download later.
You need to import any new presets to ASR command using 'Import new' or 'Import all' buttons (including presets unpacked to 'ASR Presets' folder from 'official' plugin's .zip).
You cannot edit 'official' presets, but you can copy them and edit copy and/or delete them.
Any ASR preset can be used as virtual tag function (also as a function in file organization templates, etc.).
Go to main ASR window, select preset and define virtual tag function id (any string containing a-z chars, numbers and symbols . : - _ ).
Then use function $ASR(<URL>,preset_id), where preset_id is the id entered in ASR window. ASR preset function will return last written tag in preset. To see last written tag click 'Edit/Rename' button in ASR window or (if 'Edit/Rename' is disabled) click 'Copy' button and view the content of preset copy. Most preset functions will return exactly what you expect.
Calculate average album ratingsEdit
Command averages all the ratings of the individual tracks on the album writing result in an Album rating. Any tags can be used as album and track ratings. This may be useful for calculating average album rating for auto rating stored in custom tag.
Command provides easy way to compare tags of 2 (or more) tracks.
Copies specified tags for selected files to clipboard.
Pastes copied to clipboard tags to selected files from clipboard.
It's possible to copy tags for one file and paste them to more than one file.
It's possible to copy tags in MusicBee and paste them to another application like Microsoft Excel.
BACKUP & RESTORE
These commands allow to (auto)backup tags of all tracks in your library and restore them:
Allows you to manually backup tags for all tracks in your library.
Allows you to manually restore tags for selected tracks.
Allows you to manually restore tags for all tracks in your library.
Rename or move backupEdit
Allows you to manually rename/move backup.
Allows you to manually move several backup to new folder.
Allows you to manually delete one or several backups.
Create new baseline backupEdit
Deletes ALL backups of CURRENT library and creates new baseline backup.
Displays a dialog with (auto)backup settings.
Displays a dialog with the history of tags of selected tracks.
Note about background tasksEdit
File reading tasks (e.g. generating of previews) are always started immediately and can be stopped at any moment. File updating tasks are queued so only one file updating task can be working at a time. Currently executed file updating task can be stopped at any moment. Queued tasks can be 'canceled' that means that queued task will be stopped when it is actually started (nothing will be done by this task). You can hide command window for queued task and hidden window will be closed automatically when related task is completed (or is terminated due to 'canceling'). All hidden windows may be shown again using 'Show hidden plugin windows' menu item.
Plugin supports English, Russian, French (thanks to user Wolo), German (thanks to user GoodWill41) and Polish (thanks to user VX) localizations. Unlike MusicBee plugin always uses current Windows UI localization (if it is supported by plugin). If you want to use English localization (independently of your regional settings) just delete (or rename) all two-letter language subfolders (e.g. 'ru', 'fr', etc.) from 'Plugins' folder.
Do all you want with plugin binary and source code at your own risk.
How to install and useEdit
Extract content of archive to plugins subfolder of MusicBee installation folder (e.g. to "c:\program files\musicbee\plugins"). See 'Tools/Tagging tools' menu. To configure plugin go to 'Edit/Preferences/Plugins'.
Go to 'Edit/Preferences/Plugins'. Click 'Uninstall'. Plugin will delete all automatically created files (e.g. settings), but you need to exit MusicBee and manually delete all files that were included in plugin .zip.
Working for all users at the time of posting, work in progress.
Stable version 4.18, 2016-11-16, for MusicBee 3.0 or later
Stable version 4.19, 2017-06-12, only for Latest Update of MusicBee 3.1 or later
Source MS VS 2017 project, C#. Most people don't need this.
Use the Latest Update for full plugin functionality.
Advanced Search and Replace presets are not displayed Edit
1) Make sure that preset files are located in the ASR folder, AppData Folder\ASR Presets2) If the folder ASR presets isn't populated, trying downloading and reinstalling the plugin again (see above instructions). If the folder is populated but the presets are not displayed in Musicbee, then go to the Additional Tagging and Reporting Tools configuration menu and uncheck "use skin colors" under the section Appearance:
Preferences > Plugins > Additional Tagging Tools > configure