Author Topic: Additional Tagging & Reporting Tools  (Read 1153351 times)

TRegina

  • Newbie
  • *
  • Posts: 3
CD* does not work for me.
It won't, because when speaking regex, that would match things like C CD CDD CDDD etc.

I tried various RegEx codes, but they did not work.
Have you tried something like this?:



change 'Title' to the tag that contains cd* in your situation, and add this as a step after your other 'casing' steps


PS
A mandatory read for anyone attempting to use and master regex functions within MusicBee:
karbock's Review of Regular Expressions

I am using the "Case Checker" function directly and not search and replace:


hiccup

  • Hero Member
  • *****
  • Posts: 9107
I am using the "Case Checker" function directly and not search and replace:
I see nothing that indicates that you can use regex there.
For regex functionality you'll need to use ASR.

Dizza17

  • Full Member
  • ***
  • Posts: 186
@Boroda,
The below error occurs when trying to excecute a libary report. using the latest veersion of the plug in.
cheers
MusicBee v3.6.9212.12517P  (Win10.0), 31 Mar 2025 4:23:

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.Collections.Generic.SortedDictionary`2.get_Item(TKey key)
   at MusicBeePlugin.LibraryReports.applyOnlyGroupingsPresetResults(String[] queriedFiles, SortedDictionary`2 filesActualComposedSplitGroupingTagsLists, Boolean interactive, Boolean filterResults)
   at MusicBeePlugin.LibraryReports.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults, Boolean forceCacheUpdate, SortedDictionary`2[] queriedGroupingTagsRaw, SortedDictionary`2[] queriedActualGroupingTags, SortedDictionary`2[] queriedActualGroupingTagsRaw, Nullable`1 readOtherwiseProcessExcludedGroupingTags)
   at MusicBeePlugin.LibraryReports.previewReport()
   at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()
When the rich wage war, it’s the poor who suffer.

Rumzie

  • Newbie
  • *
  • Posts: 19
Hello!

I would like to request an enhancement for a new function selector. Please let me know if this should be posted elsewhere.

Basically, I am looking for a function selector that will return a multi-value field in alphabetical order. Maybe something called $SortMulti().
I have lots of albums with multiple Album Artists, and I would like to create virtual tags that will order all the album artists in alphabetical order. I want to preserve  the ordering of the values on the actual files, but want a virtual tag to represent these values in alphabetical order.
More info on my use case for this function selector can be found in this thread.

Please let me know if this sounds reasonable, or needs additional details. Thank you!!!

chthonic

  • Newbie
  • *
  • Posts: 14
Having an issue with this (78a27e42-11b0-4025-8ced-5f352d1ba81a) preset not generating display artist and removing/deleting artists when using. I separate my display artist with , but doesn't matter which I use.


hiccup

  • Hero Member
  • *****
  • Posts: 9107
Having an issue with this (78a27e42-11b0-4025-8ced-5f352d1ba81a) preset…
To be honest, I don't think I understand what that preset is built to do exactly.
So I may also misunderstand what you are trying to do.

But making some guess, does this preset do what you are aiming for?

hiccup

  • Hero Member
  • *****
  • Posts: 9107
@boroda

Could this dropdown menu be sorted alphabetically?



Perhaps keeping some fields such as <Temp #n> at the top.

hiccup

  • Hero Member
  • *****
  • Posts: 9107
I'm aware this has been raised before, but I am noticing this text is still almost unreadable:
('use skin colours' is unchecked)

Last Edit: April 12, 2025, 07:23:25 PM by hiccup

chthonic

  • Newbie
  • *
  • Posts: 14
Having an issue with this (78a27e42-11b0-4025-8ced-5f352d1ba81a) preset…
To be honest, I don't think I understand what that preset is built to do exactly.
So I may also misunderstand what you are trying to do.

But making some guess, does this preset do what you are aiming for?
This preset was supposed to do exactly what you gave me, it was working for me before I updated ASR when I changed PCs.  I don't know what changed or how I'm supposed to use the included preset in ASR.  Thank you, this helped me a lot.

july60

  • Newbie
  • *
  • Posts: 3
Hi everyone, new member, long time Musicbee user.

I hope this is the right place to report bugs in ASR tools.

Here goes:
Win11, 32GB Ram, I5
Musicbee 3.6 latest
ASR latest

I try to generate ALBUM GRID (ALBUM LIST)
- with standard settings except for 'Resize artwork long side to: 70
- format: HTML document (Album Grid)

When I click preview I got this error and Musicbee then crashes:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:14:

System.ArgumentException: Ongeldige parameter.
   bij System.Drawing.Image.get_Width()
   bij System.Drawing.Bitmap..ctor(Image original)
   bij MusicBeePlugin.LibraryReports.ResizedArtworkProvider.Init(Int32 artworkField, SortedDictionary`2 artworkCache, Int32 presetNewArtworkSize)
   bij MusicBeePlugin.LibraryReports.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults, Boolean forceCacheUpdate, SortedDictionary`2[] queriedGroupingTagsRaw, SortedDictionary`2[] queriedActualGroupingTags, SortedDictionary`2[] queriedActualGroupingTagsRaw, Nullable`1 readOtherwiseProcessExcludedGroupingTags)
   bij MusicBeePlugin.LibraryReports.previewReport()
   bij MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   bij System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bij System.Threading.ThreadHelper.ThreadStart()

After restarting MB, sometimes I get a little further until I click 'Export -> HTML document (Album Grid)

I then get this error log:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:16:

System.ArgumentNullException: Waarde kan niet null zijn.
Parameternaam: input
   bij System.Text.RegularExpressions.Regex.Replace(String input, String replacement)
   bij System.Text.RegularExpressions.Regex.Replace(String input, String pattern, String replacement)
   bij MusicBeePlugin.ExportedDocument.getImageName(String base64)
   bij MusicBeePlugin.HtmlDocumentAlbumGrid.addCellToRow(Bitmap cell, String cellName, String imageBase64)
   bij MusicBeePlugin.LibraryReports.exportTrackList(Boolean openReport)
   bij MusicBeePlugin.LibraryReports.buttonExport_Click(Object sender, EventArgs e)
   bij System.Windows.Forms.Control.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bij System.Windows.Forms.Control.WndProc(Message& m)
   bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bij System.Windows.Forms.Button.WndProc(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Here's another report:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:27:

System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld.
   bij MusicBeePlugin.LibraryReports.prepareBackgroundPreview()
   bij MusicBeePlugin.PluginWindowTemplate.clickOnPreviewButton(PrepareOperation prepareOperation, ThreadStart operation, Button previewButton, Button okButton, Button closeButton, Boolean clearPreview)
   bij MusicBeePlugin.LibraryReports.buttonPreview_Click(Object sender, EventArgs e)
   bij System.Windows.Forms.Control.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bij System.Windows.Forms.Control.WndProc(Message& m)
   bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bij System.Windows.Forms.Button.WndProc(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Finaly, I'm unable to generate this report.

Thanks for looking.

july60

  • Newbie
  • *
  • Posts: 3
No one has encountered this problem or been able to reproduce it?

VadimBerkut

  • Newbie
  • *
  • Posts: 6
Hi guys!

First, I’d like to thank Boroda for his dedication in supporting this plugin for almost 15 years straight — that’s truly impressive! My music experience wouldn’t be nearly as rich without your effort and commitment.  :D

Now, unfortunately, I have to report an interesting bug. I’ve encountered the exact same issue that Zafar Iqbal mentioned, and I’ve tried almost everything he did — except downgrading to earlier versions of the plugin. My current setup is MusicBee 3.6.9202 Installer Edition with Additional Tagging Tools 9.2.9193.

I hadn’t used the Auto Rate function for a while, and decided to give them another go, updating everything to the latest versions. That’s when the issue appeared: the values of the "How much of your library should get which rating' parameter reset to 10% every time I restart MusicBee. And this only happens when the 'Auto calculate threshold on startup' option is enabled.

Now here’s the interesting part — when using the latest plugin version (9.2.9193), I don’t get any error except 'Monitored folders - file scan failed: Поток находился в процессе прерывания.' But when I downgraded to versions 9.1.9100 and 9.0.9008, I finally got something that might point to the root of the issue.

Quote
23.04.2025 7:38:01 - Monitored folders - file scan failed: Поток находился в процессе прерывания.
23.04.2025 7:38:45 - 10.0.19045.0 - 3.6.9202.37404P - System.ArgumentNullException: Значение не может быть неопределенным.
   в System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   в MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   в #=zl6ttC0IWy5eCK5spaA==.#=zy0ghqSe6Wmua(Object #=zBu_gETQ=)

I hope this helps in resolving the bug. A few more observations:

– In version 9.1.9100, the plugin also fails to save the percentage.
– In version 9.0.9008, however, it does save it.
– The error message is the same in both of these versions.

I've also tried the portable version of MusicBee and the latest plugin version with 'Auto calculate threshold on startup' enabled. There were no any errors in the log (none of the errors I mentioned above), however, the plugin still doesn't save settings.

Also, no any errors in the log when I use installer edition of MusicBee with the plugin disabled or deactivate 'On startup, check for updated or missing files', 'Scan on startup', and 'Continuously monitor' in Preferences -> Library and try to run MusicBee with the plugin enabled. In the second case, it still fails to save the settings, though without any error.

My Auto Rate settings. Thresholds are set to zero and 'Standard rating for never played tracks" are set to 2,5 no matter what.

https://drive.google.com/file/d/1rUqC2EDvHmVV9iLmsTEhAsvFG5_XOD36/view?usp=sharing

Thanks again for your hard work!

UPD

The issue with thresholds being set to zero was resolved after I modified the 'Date Added' tag for every track in my library. It's about 3–4 years old. Initially, I deleted only the 'Play Count', 'Skip Count', and 'Last Played' and faced to the bug. Then I cleared all values from these fields again, played a single track, and then set the 'Date Added' for all songs to a time shortly before the 'Last Played' timestamp of the track I had played earlier. That seemed to fix the threshold issue.
Last Edit: April 23, 2025, 06:22:23 PM by VadimBerkut

VadimBerkut

  • Newbie
  • *
  • Posts: 6
Hi everyone, new member, long time Musicbee user.

I hope this is the right place to report bugs in ASR tools.

Here goes:
Win11, 32GB Ram, I5
Musicbee 3.6 latest
ASR latest

I try to generate ALBUM GRID (ALBUM LIST)
- with standard settings except for 'Resize artwork long side to: 70
- format: HTML document (Album Grid)

When I click preview I got this error and Musicbee then crashes:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:14:

System.ArgumentException: Ongeldige parameter.
   bij System.Drawing.Image.get_Width()
   bij System.Drawing.Bitmap..ctor(Image original)
   bij MusicBeePlugin.LibraryReports.ResizedArtworkProvider.Init(Int32 artworkField, SortedDictionary`2 artworkCache, Int32 presetNewArtworkSize)
   bij MusicBeePlugin.LibraryReports.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults, Boolean forceCacheUpdate, SortedDictionary`2[] queriedGroupingTagsRaw, SortedDictionary`2[] queriedActualGroupingTags, SortedDictionary`2[] queriedActualGroupingTagsRaw, Nullable`1 readOtherwiseProcessExcludedGroupingTags)
   bij MusicBeePlugin.LibraryReports.previewReport()
   bij MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   bij System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   bij System.Threading.ThreadHelper.ThreadStart()

After restarting MB, sometimes I get a little further until I click 'Export -> HTML document (Album Grid)

I then get this error log:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:16:

System.ArgumentNullException: Waarde kan niet null zijn.
Parameternaam: input
   bij System.Text.RegularExpressions.Regex.Replace(String input, String replacement)
   bij System.Text.RegularExpressions.Regex.Replace(String input, String pattern, String replacement)
   bij MusicBeePlugin.ExportedDocument.getImageName(String base64)
   bij MusicBeePlugin.HtmlDocumentAlbumGrid.addCellToRow(Bitmap cell, String cellName, String imageBase64)
   bij MusicBeePlugin.LibraryReports.exportTrackList(Boolean openReport)
   bij MusicBeePlugin.LibraryReports.buttonExport_Click(Object sender, EventArgs e)
   bij System.Windows.Forms.Control.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bij System.Windows.Forms.Control.WndProc(Message& m)
   bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bij System.Windows.Forms.Button.WndProc(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Here's another report:

MusicBee v3.6.9202.37404D  (Win10.0), 17 apr 2025 9:27:

System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld.
   bij MusicBeePlugin.LibraryReports.prepareBackgroundPreview()
   bij MusicBeePlugin.PluginWindowTemplate.clickOnPreviewButton(PrepareOperation prepareOperation, ThreadStart operation, Button previewButton, Button okButton, Button closeButton, Boolean clearPreview)
   bij MusicBeePlugin.LibraryReports.buttonPreview_Click(Object sender, EventArgs e)
   bij System.Windows.Forms.Control.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnClick(EventArgs e)
   bij System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   bij System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bij System.Windows.Forms.Control.WndProc(Message& m)
   bij System.Windows.Forms.ButtonBase.WndProc(Message& m)
   bij System.Windows.Forms.Button.WndProc(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bij System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bij System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Finaly, I'm unable to generate this report.

Thanks for looking.

Try to look for tracks that show broken or missing cover. I think the plugin fails to load some artwork.

july60

  • Newbie
  • *
  • Posts: 3
Thank you VadimBerkut,
I tried with one album with perfect artwork front and back.
I managed to generate a preview but when exporting to HTML, Musicbee crashes and exits.
Note that previews could sometimes be generated with many albums, but exporting to HTML always fails.

voodoopunk

  • Full Member
  • ***
  • Posts: 212
Hi all,

Having the same problem as july60 and Dizza17, I get an error when trying to generate ALBUM GRID (ALBUM LIST), just default settings. I've tried messing around with artwork size, but to no avail.

MusicBee v3.6.9255.22089P  (Win10.0), 14 May 2025 6:26:

System.ArgumentNullException: Value cannot be null.
Parameter name: input
   at System.Text.RegularExpressions.Regex.Replace(String input, String replacement)
   at System.Text.RegularExpressions.Regex.Replace(String input, String pattern, String replacement)
   at MusicBeePlugin.ExportedDocument.getImageName(String base64)
   at MusicBeePlugin.HtmlDocumentAlbumGrid.addCellToRow(Bitmap cell, String cellName, String imageBase64)
   at MusicBeePlugin.LibraryReports.exportTrackList(Boolean openReport)
   at MusicBeePlugin.LibraryReports.buttonExport_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Black Flag - The First Four Years