Plugin adds several commands to MusicBee main menu for extended tag editing, exporting them to external applications, gathering library statistics, making (auto)backups of tags, etc.
TAGGING & REPORTING 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.
Swaps any two tags for selected files.
Changes letter case of a tag according to rather sophisticated rules for selected tracks.
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), CSV file. 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.).
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).
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)".
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 Reports
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:
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 any tags at all).
ALR virtual tag functions allow to gather and display in the main panel some library statistics for currently displayed tracks.
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)".
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)".
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 may be even more useful if they are used in grouping header in "Albums and Tracks" 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).
Command to re-encode all tags of selected tracks at ones. Cuesheets are supported.
Advanced Search & Replace
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
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.
Multiple Search & Replace
Multi-step search and replace. You can make unlimited number of replacements in the same source tag and write result to a given destination tag. MSR presets can be saved as special ASR presets and can be ticked in ASR for auto-applying if any tags are changed or if new tracks are added to the library.
Calculate Average Album Ratings
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.
Copy Tags to Clipboard
Copies specified tags for selected files to clipboard.
Paste Tags from Clipboard
Pastes copied to clipboard tags to selected files from clipboard.
BACKUP & RESTORE
These commands allow to (auto)backup tags of all tracks in your library and restore them.
There is one "hidden" command: Tag History. It's available in track context menu only.
VIRTUAL TAG FUNCTIONS
This plugin introduces several new virtual tag functions (they also can be used in various filename templates, e.g. in the file organizer).
Use these functions like native MusicBee functions (i.e. without any setup required by ALR and ASR functions).
$Random(max_number) $Add(number1,number2) $Sub(number1,number2) $Mul(number1,number2) $Div(number1,number2) $Round(number,number_of_digits_after_decimal_point) $Abs(number) $Now(): returns current date/time $AddDuration(duration1,duration2): duration format is similar to date/time format without "am/pm" suffix, but allowed values are different, e.g. 00/01/0000 00:00:00 is valid duration, but not valid date/time. Either date part or time part can be omitted, it will be defaulted to zero value. $SubDuration(duration1,duration2) $SubDateTime(datetime1,datetime2): returns duration between datetime1 and datetime2. Date/time format depends on your Windows regional settings, e.g. 12/31/2018 11:59:59 pm. For datetime1 and datetime2 either date part or time part can be omitted, it will be defaulted to current date or time 00:00:00 am. $NumberOfDays(datetime1,datetime2): returns number of days between datetime1 and datetime2 rounded down to nearest integer value. $AddDurationToDateTime(datetime,duration) $SubDurationFromDateTime(datetime,duration) $And(parameter1,parameter2) is MusicBee native function $Or(parameter1,parameter2) is MusicBee native function $Xor(parameter1,parameter2) $Not(parameter) $Log(number,base) $Lg(number): decimal logarithm $Ln(number): natural logarithm $Sqrt(number): square root. May be useful for gathering some library statistics (in conjunction with ALR functions). $Len(string): length of string $Name(filename): returns file name without extension and path to file $CutLeft(string,count): removes number of chars from the left of the string $CutRight(string,count): removes number of chars from the right of the string $RoundDown(number,number_of_digits_after_decimal_point): $RoundDown(4.28,1) returns 4.2 $RoundUp(number,number_of_digits_after_decimal_point): $RoundUp(5.2,0) returns 6 $Mod(number1,number2): returns the remainder of division
Do all you want with plugin binary and source code at your own risk.
Installation and Usage
Extract content of archive to plugins sub-folder of MusicBee installation folder (e.g. to "C:\Program Files (x86)\MusicBee\Plugins"). See "Tools> Tagging Tools" menu. To configure plugin go to "Edit> Preferences> Plugins".
Go to "Edit> Preferences> Plugins". Click "Uninstall" button. Plugin will delete all automatically created files (e.g. settings), but you will need to exit MusicBee and manually delete all files that were included in plugin .zip.
Additional UI languages
Additional support for French, German and Polish languages. See readme inside archive. Support for English and Russian is native for plugin.
MS VS 2019 project, C#. Most people don't need this.
|Name||Additional Tagging & Reporting Tools|
|Published on||September 3, 2016|
|Updated on||July 11, 2021, 6:20 am|
|Supports Minimum||MusicBee 3|