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

boroda

  • Hero Member
  • *****
  • Posts: 4748
Hi Boroda,

using the latest version of this plug in, I'm receiving this error at the completion of the reading/generating of a library totals report. it completely shuts down musicbee. Any ideas?

MusicBee v3.6.8905.12923P  (Win10.0), 26 May 2024 14:43:

System.OverflowException: TimeSpan overflowed because the duration is too long.
   at System.TimeSpan.Interval(Double value, Int32 scale)
   at MusicBeePlugin.Plugin.ConvertStringsResult.getFormattedResult(Int32 operation, String mulDivFactorRepr, String precisionDigitsRepr, String appendedText)
   at MusicBeePlugin.LibraryReports.AggregatedTags.GetField(String composedGroupings, ConvertStringsResult[] convertResults, Int32 fieldNumber, ColumnAttributesDict groupings, Int32 operation, String mulDivFactorRepr, String precisionDigitsRepr, String appendedText)
   at MusicBeePlugin.LibraryReports.applyPresetResults(String[] queriedFiles, AggregatedTags tags, SortedDictionary`2 filesActualComposedSplitGroupingTagsLists, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults)
   at MusicBeePlugin.LibraryReports.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults, Boolean forceCacheUpdate)
   at MusicBeePlugin.LibraryReports.previewTrackList()
   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()

thanks for critical bug report. it turned out that sometimes LR was generating unreasonably huge and senseless values, e.g. i was getting billions of milliseconds for track durations using "library totals" preset. this should be fixed.

version 8.2 (for MB 3.6):

https://www.mediafire.com/file/h2t08o9562efboi/mb_TagTools_latest.zip/file

full plugin package 8.1 (for MB 3.5):

https://www.mediafire.com/file/dm3rhfze89n3qwi/Additional-Tagging-Tools-Plugin.zip/file


Dizza17

  • Jr. Member
  • **
  • Posts: 85
Hi Boroda,

Unfortunately still getting major error when using generating reports in LR. This is the current error log.

  MusicBee v3.6.8905.12923P  (Win10.0), 27 May 2024 13:48:

System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at MusicBeePlugin.LibraryReports.applyOnlyGroupingsPresetResults(String[] queriedFiles, Boolean interactive, Boolean filterResults)
   at MusicBeePlugin.LibraryReports.executePreset(String[] queriedFiles, Boolean interactive, Boolean saveResultsToTags, String functionId, Boolean filterResults, Boolean forceCacheUpdate)
   at MusicBeePlugin.LibraryReports.previewTrackList()
   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.

boroda

  • Hero Member
  • *****
  • Posts: 4748
this is another error, and i guess another LR preset. run this debug version and post updated error message:

https://www.mediafire.com/file/odmp6wgn9hg7hfi/mb_TagTools_debug.zip/file

Dizza17

  • Jr. Member
  • **
  • Posts: 85
Hi Boroda,

see attached error message as requested,

MusicBee v3.6.8905.12923P  (Win10.0), 28 May 2024 16:57:

System.InvalidOperationException: Collection was modified after the enumerator was instantiated.
   at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   at System.Collections.Generic.SortedSet`1.Enumerator.MoveNext()
   at System.Collections.Generic.SortedDictionary`2.Enumerator.MoveNext()
   at MusicBeePlugin.LibraryReports.clearArtworks() in D:\Source\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:line 1992
   at MusicBeePlugin.LibraryReports.resetLocalsAndUiControls() in D:\Source\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:line 2024
   at MusicBeePlugin.LibraryReports.presetListSelectedIndexChanged(Int32 index) in D:\Source\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:line 6442
   at MusicBeePlugin.LibraryReports.presetList_SelectedIndexChanged(Object sender, EventArgs e) in D:\Source\Repos\Additional-Tagging-Tools\Plugin\LibraryReports.cs:line 6426
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.CheckedListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.CheckedListBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ListBox.WndProc(Message& m)
   at System.Windows.Forms.CheckedListBox.WndProc(Message& m)
   at MusicBeePlugin.CustomCheckedListBox.WndProc(Message& m) in D:\Source\Repos\Additional-Tagging-Tools\Helpers\CustomControls.cs:line 1200
   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)
When the rich wage war, it’s the poor who suffer.

boroda

  • Hero Member
  • *****
  • Posts: 4748
that's yet another error.

thank you for your testing. i've found even more LR bugs than you have, thanks to your efforts.
i believe this version should work without errors (it's still debug version, i'll recompile it in "release mode" later if all is fine now):

https://www.mediafire.com/file/odmp6wgn9hg7hfi/mb_TagTools_debug.zip/file

Dizza17

  • Jr. Member
  • **
  • Posts: 85
Not a problem Boroda, glad i could be of some assistance. Thank you for continuing to maintain and develop this awesome plug in.

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


bkev

  • Jr. Member
  • **
  • Posts: 51
I haven't updated the tools for a while and I've done it today with the version above but when I go to  "Tools - Additional Tagging & Reporting Tools - Advanced Search & Replace" I get a MusicBee error

MusicBee v3.5.8698.34385D  (Win10.0), 29 May 2024 15:01:

System.ArgumentNullException: Value cannot be null.
Parameter name: brush
   at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
   at MusicBeePlugin.CustomVScrollBar.OnPaint1(PaintEventArgs e, Image upArrowImage, Image downArrowImage, Image thumbTopImage, Image thumbMiddleImage, Image thumbBottomImage, Boolean stretchThumbImage)
   at MusicBeePlugin.CustomVScrollBar.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.UserControl.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)

phred

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 9451
I haven't updated the tools for a while and I've done it today with the version above
Are you certain you downloaded/installed the correct version for MB 3.5?

In MB go to Tools > Additional Tagging & Reporting Tools and see the version number at the bottom. It should be 8.1.xxxx. If it shows anything else you've got the wrong version.
Download the latest MusicBee v3.5 or 3.6 patch from here.
Unzip into your MusicBee directory and overwrite existing files.

----------
The FAQ
The Wiki
Posting screenshots is here
Searching the forum with Google is  here

bkev

  • Jr. Member
  • **
  • Posts: 51
Thanks for the quick reply. Initially I didn't, but I removed the files and deleted all my app data and restored back.
I checked and it worked correctly. I then put the new plug in but I get the same issue.

The version number I have is
8.1.8915.20753

boroda

  • Hero Member
  • *****
  • Posts: 4748
I haven't updated the tools for a while and I've done it today with the version above but when I go to  "Tools - Additional Tagging & Reporting Tools - Advanced Search & Replace" I get a MusicBee error

MusicBee v3.5.8698.34385D  (Win10.0), 29 May 2024 15:01:

System.ArgumentNullException: Value cannot be null.
Parameter name: brush
   at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
   at MusicBeePlugin.CustomVScrollBar.OnPaint1(PaintEventArgs e, Image upArrowImage, Image downArrowImage, Image thumbTopImage, Image thumbMiddleImage, Image thumbBottomImage, Boolean stretchThumbImage)
   at MusicBeePlugin.CustomVScrollBar.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.UserControl.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)

i can't reproduce this bug. try to install the latest plugin version (which is 8.1.8915.27389), and the latest MB patch (download it here, unzip all files to MB folder overwriting all files).

also, you can try to delete the file "mb_TagTools.settings.xml" from MB <AppData> folder.

bkev

  • Jr. Member
  • **
  • Posts: 51
Still the same I'm afraid.
I've tried uninstalling Musicbee, deleted the local and roaming app data. Reinstalled and then put on the patch. Installed the 27389 version and I still get the same I'm afraid.

The plugin seems to work. Calculations work and auto presets work. The issue seems to be the scroll bars. They just show as red crosses. But I can use a scroll wheel to look at the presets.



MusicBee v3.5.8909.34013D  (Win10.0), 29 May 2024 20:08:

System.ArgumentNullException: Value cannot be null.
Parameter name: brush
   at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
   at MusicBeePlugin.CustomVScrollBar.OnPaint1(PaintEventArgs e, Image upArrowImage, Image downArrowImage, Image thumbTopImage, Image thumbMiddleImage, Image thumbBottomImage, Boolean stretchThumbImage)
   at MusicBeePlugin.CustomVScrollBar.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.UserControl.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)

tjinc

  • Sr. Member
  • ****
  • Posts: 383
Hi Boroda,

I have also seen this issue:
Code
MusicBee v3.6.8913.35323P  (Win10.0), 29 May 2024 23:03:

System.ArgumentNullException: Value cannot be null.
Parameter name: brush
   at System.Drawing.Graphics.FillRectangle(Brush brush, Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Drawing.Graphics.FillRectangle(Brush brush, Rectangle rect)
   at MusicBeePlugin.CustomVScrollBar.OnPaint1(PaintEventArgs e, Image upArrowImage, Image downArrowImage, Image thumbTopImage, Image thumbMiddleImage, Image thumbBottomImage, Boolean stretchThumbImage)
   at MusicBeePlugin.CustomVScrollBar.OnPaint(PaintEventArgs e)
   at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
   at System.Windows.Forms.Control.WmPaint(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.UserControl.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)


This seems to happen only when these two conditions are met:
1. Plugin is set to 'Use Skin Colors' and
2. Skin being used is a light colour - e.g. MusicBee3, Sky Blue, CalciumMETRO etc. - it does not appear to be a problem with dark skins

(Hoping this might help you track the issue.)

boroda

  • Hero Member
  • *****
  • Posts: 4748
@tjinc, thanks for detailed report. i've fixed this bug in the sense of the plugin not throwing exception anymore, but i still need to improve support for very light skins. now scroll bars are invisible, e.g. for MusicBee3 and Windows Theme (for Win10 Light mode) skins.

this version is for MB 3.5:

https://www.mediafire.com/file/pynpqaiu175g2ou/mb_TagTools.zip/file