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

redwing

  • Guest
Still cannot make case conversion code working.

Cannot save a preset with this error:

System.NullReferenceException: Object reference not set to an instance of an object.
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand.Preset..ctor(Preset originalPreset, String presetNameSuffix, Boolean copyGuidIfsuffixAbsent)
   at MusicBeePlugin.MultipleSearchReplaceCommand.saveButton_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)

boroda

  • Sr. Member
  • ****
  • Posts: 4639
hmmm... case conversion is not working properly for me, but is working.

could you post a screenshot of MSR before saving preset?


boroda

  • Sr. Member
  • ****
  • Posts: 4639
working fine here. i'm not sure if you are using latest plugin version. here is the latest one (no changes in functionality, but some ui enhancements, mostly for russian localization):

http://www.mediafire.com/file/whl9921x4i7pcie/mb_TagTools_2018-03-19-beta.zip

redwing

  • Guest
No, still getting the same error when trying to save a preset.
Also I noticed from tag and to tag needs to be switched.
Case conversion code is not working, either. If that works for you, give me an example code.

redwing

  • Guest
Also it fails to update the tag with this error if I hit proceed:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at MusicBeePlugin.MultipleSearchReplaceCommand.applyChanges()
   at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   at #=zW4PfeoQdgAPApw9RSg==.#=zZTXnloQoZcrh(Object #=z0vgHEbE=)

boroda

  • Sr. Member
  • ****
  • Posts: 4639
it is working for me for cases i've tried. could you detect the condition when it stops to work (maybe the number of lines in MSR window)? Or it doesn't save presets at all?

p.s. also for ASR functions use them directly, without escaping, i.e. use \@tc($1) instead of \\@tc($1)

redwing

  • Guest
It doesn't save a preset in any conditions nor update tags at all. Case code doesn't work with either code.
Are you sure the current dll file is 1,644,544 byte?

boroda

  • Sr. Member
  • ****
  • Posts: 4639
yes. its very strange situation.

i've reuploaded plugin with latest asr presets. i mean mostly latest 'multiple search & replace' preset (which is the base for all MSR presets). import new presets after installing it and try again.

http://www.mediafire.com/file/whl9921x4i7pcie/mb_TagTools_2018-03-19-beta.zip

redwing

  • Guest
Now I can save a preset. But it still fails to update tags. Probably the problem is it doesn't respect the source tag and the destination tag setting when applying. If I open a saved preset, it's always set to from genre tag to genre tag. Probably that's why case code doesn't work either with MSR window but works with the saved preset if I change from tag and to tag setting correctly.

I have expected it would be possible to load a saved preset from MSR window and then re-edit, run and save it. Can you support this? Also maybe they could be stored in a separate sub-folder and be loaded only from MSR window because currently the user would end up having too many presets for ASR command. That would be more consistent and efficient to manage them.

boroda

  • Sr. Member
  • ****
  • Posts: 4639
Quote
Probably the problem is it doesn't respect the source tag and the destination tag setting when applying.
yes, at least this is the case. i'll fix it.

Quote
I have expected it would be possible to load a saved preset from MSR window and then re-edit, run and save it. Can you support this?
maybe later. parsing is not very easy and i want to have at least basic functionality first.

Quote
Also maybe they could be stored in a separate sub-folder and be loaded only from MSR window because currently the user would end up having too many presets for ASR command. That would be more consistent and efficient to manage them.
i dont want to duplicate ASR functionality and ASR doesn't support folders.

boroda

  • Sr. Member
  • ****
  • Posts: 4639
Quote
Probably the problem is it doesn't respect the source tag and the destination tag setting when applying.
yes, at least this is the case. i'll fix it.

http://www.mediafire.com/file/4fdapqnbxfu2lha/mb_TagTools_2018-03-20-beta.zip

redwing

  • Guest
Still fails to update tags when running on MSR window with the same error though saved presets now show correct tags and work right away:

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at MusicBeePlugin.MultipleSearchReplaceCommand.applyChanges()
   at MusicBeePlugin.PluginWindowTemplate.serializedOperation()
   at #=zW4PfeoQdgAPApw9RSg==.#=zZTXnloQoZcrh(Object #=z0vgHEbE=)

boroda

  • Sr. Member
  • ****
  • Posts: 4639

redwing

  • Guest
Great! It's now working. Also I see it can now load existing presets.

- Tried case conversion code, not working. The saved preset shows ^(.\*) instead of ^(.*)
- Since the previous version, "delete all" button in ASR window deletes all presets. I lost all my custom presets. Also the saved MSR presets shouldn't be deleted and need to be treated as custom presets.