Additional Tagging & Reporting Tools The plugin adds several commands to MusicBee main menu for extended tag editing, exporting them to external applications, collecting library statistics, making (auto)backups of tags, etc. June 9, 2024, 12:33 pm https://getmusicbee.com/forum/index.php?topic=3833.0 tag editing,exporting tags,tag backup,copy tag,swap tags,search,replace,edit http://i.imgur.com/MX7ARKw.png https://getmusicbee.com/out/?type=addon&id=49&r=https%3A%2F%2Fwww.mediafire.com%2Ffile%2Fdm3rhfze89n3qwi%2FAdditional-Tagging-Tools-Plugin.zip%2Ffile 8.1 MusicBee 3 Windows 7/ 8/ 10/ 11 Add-ons Plugins MusicBee

Additional Tagging & Reporting Tools

8.1

by boroda

Supports Minimum MusicBee 3

The plugin adds several commands to MusicBee main menu for extended tag editing, exporting them to external applications, collecting library statistics, making (auto)backups of tags, etc.

   Be careful to not ACCIDENTALLY tick some "Advanced Search & Replace" or "Library Reports" presets for AUTOMATIC EXECUTION! THIS CAN SILENTLY CHANGE TAGS OF TRACKS! See details in plugin description.

Readme

ADDITIONAL TAGGING & REPORTING TOOLS

Plugin requires MusicBee version 3.5 or higher.

Note:

If you are familiar with plugin quick update process, you can always download latest plugin version here (NOTE: this latest version always requires the latest version of MusicBee which sometimes may be available as a beta). Copy the file "mb_TagTools.dll" from the archive "mb_TagTools_latest.zip" to MusicBee "Plugins" folder, and overwrite the existing file.

Note:

Pay attention to tool tips over buttons/fields in plugin windows.

Note:

Add-on description is limited to 15000 characters. Read full description, or read shortened description here and follow the links to description supplements in the text below.

Plugin adding/updating/removing

Extract the content of the downloaded archive to a temporary folder of your choice. See the "README FIRST!" file inside this folder for instructions on adding/updating/removing the plugin.


TAGGING & REPORTING TOOLS

Copy Tag

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.

Note:

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

Swap Tags

Swaps any two tags for selected files.

Notes:

  • "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.

Change Case

Changes letter case of a tag according to rather sophisticated rules for selected tracks.

Notes:

  • Excluded words (if this option is checked) 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.

Library Reports

Allows to export some library statistics for currently displayed tracks to external file: HTML document (as a table), 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.

Notes:

  • 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).
  • If you want just to export some tags then define only grouping fields in preview table (don't use aggregated functions and uncheck "Calculate subgrouping totals" checkbox, which is senseless in this case).

Also, "Library Reports" allows to calculate one or more presets and save results to (custom) tags at startup/after a given number of tag changes/or manually. Useful for autosaving or manual saving 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.

"Library Reports" supports multiple item splitters for grouping tags. For example, you can define splitter ; for "artist" or "'genre" tags to split multiple artists or genres. If several tags are split (i.e., several tags for one track may have several values) then all possible combinations of split values for every tag will be included in LR report.

"Library Reports" supports virtual tag expressions (any expressions valid for virtual tags).
Read more about "Library Reports" virtual tag expressions

"Library Reports" command adds new virtual tag function:

$LR(<URL>,function_id)

To use this function open library reports window, create one or several presets, each with one or several aggregate functions and assign a function id (any string containing a-z chars, numbers and symbols . : - _ ) to functions. Probably you will want to write all aggregate functions to <Null> tag (i.e. do not write them to any tags at all if you use these functions only for virtual tags). Also, you can at the same time  assign an id to the function and choose to store function results in (custom) tag. In this case, LR will use a stored tag as a persistent, but dynamically updated, function cache.

"Library Reports" virtual tag functions allow to collect and display in the main panel some library statistics for currently displayed tracks.

Note:

  • All $LR virtual tag functions are calculated, updated and displayed dynamically.

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 "Library Reports" command for more examples.

LR virtual tag functions may be even more useful if they are used in grouping header in "Albums and Tracks" view.

Make sure that you haven't accidentally checked some "Library Reports" presets for auto-execution. You will see warning message at the top of "Library Reports" window if any presets are marked as auto-executed.
Auto-executed preset view example

Auto Rate

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

Reencode Tag/Reencode Tags

Even ID3V2 tags are usually stored not in UTF encoding (which is independent of language), but sometimes they are stored using national code pages. In this case reading ID3 tags is correct only if tags use the same encoding (in general - language) as your windows default encoding (code page). 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 it's your default windows encoding. The only sense to change "used encoding" is if you get music file from another computer with different regional settings). "Reencode Tags" re-encodes all tags of selected tracks at ones. Cuesheets are supported.

Command to re-encode all tags of selected tracks at ones. Cuesheets are supported.

Advanced Search & Replace

  • "Advanced Search and Replace" works only with regular expressions.
  • "Advanced Search and Replace" has savable/customizable presets.
  • You can choose, which "Advanced Search and Replace" presets to automatically execute if any tag is changed and/or if new tracks are added to library/inbox.
  • "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.

Notes:

  • You can install/update predefined ASR presets by clicking "Install All"/"Install New" buttons.
  • You cannot edit predefined presets, but you can copy them and edit the copy and/or delete them.

"Advanced Search & Replace" command adds new virtual tag function:

$ASR(<URL>,preset_id)

To use this function go to main ASR window, select preset and define preset id (any string containing a-z chars, numbers and symbols . : - _ ). Then use function in virtual tags, file organization templates, etc., where preset_id is the id entered in ASR window. ASR preset function will return last written in preset tag. 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.

Note:

  • All $ASR virtual tag functions are calculated, updated and displayed dynamically.

Make sure that you haven't accidentally checked some "Advanced Search & Replace" presets for auto-execution. You will see warning message at the top of "Advanced Search & Replace" window if any presets are marked as auto-executed.
Auto-executed preset view example

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 checked in ASR for auto-execution 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.

Compare Tracks

Command provides easy way to compare tags of 2 (or more) tracks.

Copy Tags to Clipboard

Copies specified tags from selected files to clipboard.

Paste Tags from Clipboard

Pastes copied to clipboard tags to selected files from clipboard.

Notes:

  • It's possible to copy tags from one track and paste them to more than one track.
  • It's impossible to copy tags from several tracks and paste them to another number of tracks.
  • It's possible to copy tags in MusicBee and paste them to another application like Microsoft Excel or Notepad++.
  • Usually tags are pasted to tracks in the track display order, but you can also copy <Full path w/o ext.> (full track path including filename without extension) or URL (full track path including filename and extension) pseudo-tags along with other tags to clipboard. Here, the plugin will prompt you to match tracks according to these tags or use the track displayed order as usual. When matching tags by track path, the number of tracks of copied tags may not be equal to the number of tracks of pasted tags.
  • If you paste tags from external application make sure that the first copied row contains tag names (exactly as the tags are named in MusicBee).

Last Skipped Date/Time

Plugin has the option to store "last skipped date/time" in any writable tag (e.g. some custom tag). Go to MusicBee menu> Edit> Preferences> Plugins> Additional Tagging Tools> Configure. Click the button "Save last skipped date...".

To define date type of custom tag, open MusicBee menu> Edit> Preferences> Tags (1)> Define New Tags> Configure Fields. Find "Custom1" tag (or some other custom tag), change type to "Date".
See here screenshot of this setting.


BACKUP & RESTORE

These commands allow to (auto)backup tags of all tracks in your library and restore them. First create full backup manually. You can do manual or auto incremental backups after this.
Read more about "Backup & Restore" here.


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) like
$Char(hexadecimal code), which returns Unicode character with given hexadecimal code, e.g. $Char(a7) returns Unicode character "§" (U+00A7).
Read more about virtual tag functions here.


ASR & MSR SPECIAL FUNCTIONS

You can use special functions in substitution fields of "Advanced Search & Replace" and "Multiple Search & Replace" commands.
Read about ASR /MSR functions here.


APPENDIX

License

Do all you want with plugin binary and source code at your own risk.

Source code

MS VS 2022 project, C#. Most people don't need this.

Backup download

Download Additional Tagging Tools
OR:
Google Drive, all my plugins and their sources

Name Additional Tagging & Reporting Tools
Author boroda
Version 8.1
Category Plugins
Published on September 3, 2016
Updated on June 9, 2024, 12:33 pm
Supports Minimum MusicBee 3
tag editing exporting tags tag backup copy tag swap tags search replace edit

More from boroda

Unless mentioned by the Author, all add-ons and screenshots are licensed under cc by-sa 3.0