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

boroda

  • Hero Member
  • *****
  • Posts: 5266
Hi Boroda,
I installed V10.0 Beta 3 and tried to make a Library report.
I selected some files and tried ALBUMS & TRACKS.
When I click Preview, either MB crashes completely or crashes and the At&RT windows remains open but cannot be closed.
Taskmanager doesn't show any MB application running but still I cannot start MB again.
I had to restart the PC to be able to launch MB.
Here are some errors logs:

25/06/2025 18:31:18 - 10.0.26100.0 - 3.6.9202.37404D - System.ArgumentException: Ongeldige parameter.
   bij System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   bij System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
...

i can't reproduce this bug. just in case, i've re-uploaded the latest version:

https://www.mediafire.com/file/c9m7nbp4a7hyfuo/mb_TagTools_beta.zip/file

give me exact steps to reproduce the bug if it reappears, e.g. if you switched presets before exception, etc. everything can be important. also, post plugin version here: tools> at&rt> click version at the bottom of plugin's submenu to copy it to clipboard.

boroda

  • Hero Member
  • *****
  • Posts: 5266
@borda

I don’t believe that any of the current ASR presets achieve this or if it’s even remotely feasible. I currently have custom tag “involved people” for the non instrument contributing people ie producer, engineer, mixer etc. a large number of tracks also contain the artists who play an instrument, which I would like to either remove these entries or move to the “artist” tag so they can be split in the “musician credits” tag. I’m having trouble with the best way to do this without damaging the parts of the involved people tag that I don’t want to touch.

The general format of the “involved people” tag for the tracks in question is: role:person; role:person; role:person; instrument: person; instrument:person; etc.
Any help with this would be greatly appreciated.
Regards Aaron

how plugin can distinguish between "role:" and "instrument:"? as i understand, there can be various roles and instruments. all i can do is create preset where you manually enumerate either all roles or all instruments in <custom text 1>. is it applicable for you?

Dizza17

  • Full Member
  • ***
  • Posts: 192
@boroda
That would be fantastic if you can do that for me. Appreciate you taking time to help me out with this.
Cheers Aaron
When the rich wage war, it’s the poor who suffer.

july60

  • Newbie
  • *
  • Posts: 9
Hi boroda.
Thanks for looking.

The biggest problem is that errors and crashes are not always consistent, even if all steps are equal in each try.
Let me try a few:

OS Win11 Version 10.0.26100.4349
MB: 3.6.9202
AT&RT version: 10.0.9308.5310

Open AT&RT -> Library reports -> Albums & Tracks -> Click Preview.

AT&RT generates error log:

MusicBee v3.6.9202.37404D  (Win10.0), 26 jun 2025 14:19:

System.ArgumentException: Ongeldige parameter.
   bij System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   bij System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   bij System.Windows.Forms.Control.Invoke(Delegate method)
   bij MusicBeePlugin.Plugin.CopyBitmap(Bitmap newBitmap) in D:\Repos\Additional-Tagging-Tools\Plugin\Main-Module.cs:regel 6408
   bij MusicBeePlugin.LibraryReports.ResizedArtworkProvider.Init(Int32 artworkField, SortedDictionary`2 artworkCache, Int32 presetNewArtworkSize) in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 2382
   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) in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 2899
   bij MusicBeePlugin.LibraryReports.previewReport() in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 5671
   bij MusicBeePlugin.PluginWindowTemplate.serializedOperation() in D:\Repos\Additional-Tagging-Tools\Helpers\PluginWindowTemplate.cs:regel 4302
   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()

----------------------

Second identical procedure as above after restarting MB:

Open AT&RT -> Library reports -> Albums & Tracks -> Click Preview.
Nothing happens, no HDD activity, no CPU activity
Click Clear.
AT&RT generates error log:

MusicBee v3.6.9202.37404D  (Win10.0), 26 jun 2025 14:24:

System.NullReferenceException: De objectverwijzing is niet op een exemplaar van een object ingesteld.
   bij MusicBeePlugin.LibraryReports.prepareBackgroundPreview() in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 5612
   bij MusicBeePlugin.PluginWindowTemplate.clickOnPreviewButton(PrepareOperation prepareOperation, ThreadStart operation, Button previewButton, Button okButton, Button closeButton, Boolean clearPreview) in D:\Repos\Additional-Tagging-Tools\Helpers\PluginWindowTemplate.cs:regel 4682
   bij MusicBeePlugin.LibraryReports.buttonPreview_Click(Object sender, EventArgs e) in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 6847
   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)

Can close MB, cannot close AT&RT, need to close it in taskmanager.

Third try works.

----------------------------------------

Create own report:
Album, Artist, Conductor.
That works but if I add Artwork
AT&RT generates an error. Closing the error make MB crash.

MusicBee v3.6.9202.37404D  (Win10.0), 26 jun 2025 15:10:

System.Collections.Generic.KeyNotFoundException: De gegeven sleutel is niet aanwezig in het woordenboek.
   bij System.Collections.Generic.SortedDictionary`2.get_Item(TKey key)
   bij MusicBeePlugin.LibraryReports.applyOnlyGroupingsPresetResults(String[] queriedFiles, SortedDictionary`2 filesActualComposedSplitGroupingTagsLists, Boolean interactive, Boolean filterResults) in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 3678
   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) in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 2943
   bij MusicBeePlugin.LibraryReports.previewReport() in D:\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:regel 5671
   bij MusicBeePlugin.PluginWindowTemplate.serializedOperation() in D:\Repos\Additional-Tagging-Tools\Helpers\PluginWindowTemplate.cs:regel 4302
   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()

-------------------------------------

Generating CD Booklet:
All standard settings except resize artwork long side to 300px

Preview is fine but export to HTML Document (CD Booklet) generates this:


boroda

  • Hero Member
  • *****
  • Posts: 5266
@july60, i still can't reproduce these exceptions. the only difference between my setup and yours is that i'm on MB 3.6.9305 P. download the latest MB version here:

https://getmusicbee.com/patches/

also, try to delete plugin settings when MB is not running: <MB appdata>\mb_TagTools.settings.xml

-----------

as for CD Booklet, all is correct. this preset is intended for generating report for the 1 CD only at once. you have included too many tracks in the report. selected tracks don't matter. what matters is displayed tracks .(all tracks included in the current view, not the tracks shown on the screen) use column browser or any other filter to include only tracks you want to have on 1 CD in the current view.

boroda

  • Hero Member
  • *****
  • Posts: 5266
@boroda
That would be fantastic if you can do that for me. Appreciate you taking time to help me out with this.
Cheers Aaron

ok, what do you prefer to fill in the <custom text 1>: roles or instruments? i.e. which of the lists will be shorter?

and, do you need to move instruments to multi-artist tag, or just to remove them from the "involved people" tag?
Last Edit: June 26, 2025, 06:42:21 PM by boroda

Dizza17

  • Full Member
  • ***
  • Posts: 192
Roles will be the shorter list. Ideally I’d like to move them to the “artist” tag so that they become part of the artist splitter (written to the mp3 file as “musician credits”. But if that’s not really practical then removing them is more than sufficient.
When the rich wage war, it’s the poor who suffer.


boroda

  • Hero Member
  • *****
  • Posts: 5266
@Dizza17, first download v10.0 beta 4:

https://www.mediafire.com/file/c9m7nbp4a7hyfuo/mb_TagTools_beta.zip/file

then download the latest custom preset pack:

https://www.mediafire.com/file/ikb8wlburvvwjc9/ASR-Custom-Presets.zip/file

you need to import 2 presets for your purpose: "Custom - Copy performers and their instruments from custom tag ''Involved people'' to custom tag ''Musician credits''.asr-preset" and "Custom - Remove performers and their instruments from custom ''Involved people'' tag.asr-preset". read their descriptions and remember that you must chain "remove..." preset after "copy..." preset.

first execute these presets on one test track.

i suggest that i'll still need to modify these presets a bit, so provide feedback in any case.

Dizza17

  • Full Member
  • ***
  • Posts: 192
@boroda,
Greatly appreciate your time and effort on this, I’ll do some testing and report back. Thanks again.

Regards Aaron
When the rich wage war, it’s the poor who suffer.