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

redwing

  • Guest
I'm not sure I understand why the tag history command uses so much CPU. Now each backup saves changed tags only and thus in a very small size. Then loading those backups and listing those changed tags shouldn't require much operations even though there's a difference in that backup checks against a baseline file and tag history against current tags. At least the scope of changed tags and changed files to handle should be very small because they had to be recorded in one of incremental backups.
Last Edit: October 21, 2016, 08:45:41 PM by redwing

boroda

  • Sr. Member
  • ****
  • Posts: 4669
you are right. maybe 'tag history' can significantly optimized now. at the moment baseline is restored for *every* backup included in command window. thanks for the tip.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34403
anyone using v3.1, should redownload as i forgot to update one thing that would affect the tag backup plugin

boroda

  • Sr. Member
  • ****
  • Posts: 4669

boroda

  • Sr. Member
  • ****
  • Posts: 4669

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9383
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

redwing

  • Guest
Tested the new version included in the source code archive file.
For backing up, there's not much differences compared with previous versions. But I noticed while comparing tags with baseline it uses 20 to 30% of CPU and about 1.4 GB of memory. MB is almost unusable during the task - mouse and keyboard lag and visual glitches in UI.
Tag history command too shows not much improvement in terms of CPU usage. Still I get "Not Responding" message while it's loading just two backups.
Thanks for making layout changes so that it now shows changed backups and changed tags only. But there are some bugs.



- The name of each backup is displayed incorrectly as the timestamp of the first backup file for every backup. Tooltip shows a different (correct) timestamp for each.

- It draws three lines for the same field (play count) maybe because three backups have a different value from that of library. But just one line can deliver the same information. If a cell has the same value as library, it can be left blank.

Also, tag history command sometimes didn't work with the following error. Restarting MB sorted out.

System.NullReferenceException: Object reference not set to an instance of an object.
   at MusicBeePlugin.BackupType.Load(String fileName, String backupFileExtension)
   at MusicBeePlugin.TagHistoryPlugin.fillTable(String folder, Boolean includeSubfolders, Int32 maxBackupCount, Int32 trackIndex, Boolean reuseCache)
   at MusicBeePlugin.TagHistoryPlugin.TagHistoryPlugin_Shown(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnShown(EventArgs e)
   at System.Windows.Forms.Form.CallShownEvent()
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   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.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

boroda

  • Sr. Member
  • ****
  • Posts: 4669
redwing, thanks for bug reports, will look into it. as for cpu usage, only tag history can be affected, because all other functionality is very slightly improved and definitely improved (there are only couple of lines changed outside tag history), so maybe its some other reasons?

boroda

  • Sr. Member
  • ****
  • Posts: 4669
you are right, sorry for that. correct link:

http://www.mediafire.com/file/3juwddn1bp5ybmt/mb_TagTools_2016-11-03.zip

edit: mediafire uses flash and flash works very strangely in my browser (cyberfox for 64-bit intel).
Last Edit: November 04, 2016, 10:51:19 AM by boroda74

boroda

  • Sr. Member
  • ****
  • Posts: 4669
redwing, if you haven't recompiled plugin, then i'm not sure what binaries are contained in source project. correct link to compiled plugin:

http://www.mediafire.com/file/3juwddn1bp5ybmt/mb_TagTools_2016-11-03.zip

redwing

  • Guest
Yeah, that's the one I tested. You have included it in the source project file (\obj\release\).

The high CPU usage while comparing tags with baseline might be an existing behavior that I happened to notice this time.


phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9383
various bugfixes:

http://www.mediafire.com/file/rc6lyaay185dc05/mb_TagTools_2016-11-05.zip
Does this new version take care of this error?
Code
MusicBee v3.1.6152.39912 (Win6.1), 5 Nov 2016 8:13:

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
   at System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
   at MusicBeePlugin.TagHistoryPlugin.buttonOK_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)
This error was thrown with the previous version (2016-11-03) when trying to do 'tag history.' Which wouldn't even show the library tags for the track in question. I also couldn't create a new baseline.
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

redwing

  • Guest
Great job! Working much better. Now the whole backup process no longer uses excessive resources, and MB can be used during the task.

Tag history too is working better with those reported bugs fixed. The only wish is tag history command too won't use too much CPU (still it uses over 30% of CPU briefly).

boroda

  • Sr. Member
  • ****
  • Posts: 4669
Does this new version take care of this error?
suggest, yes.

I also couldn't create a new baseline.
i need more info: is there some error dialog box?