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

boroda

  • Sr. Member
  • ****
  • Posts: 4595
i've enlarged the font of the preset list, and changed font symbols to icons above the preset list. also, i've added confirmation on ASR window closing if there are unsaved changes. but i've failed to fix preset customization symbols in preset list itself for pre-windows 10 systems (in red rectangle):  



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

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

Messiaen

  • Jr. Member
  • **
  • Posts: 103
i've enlarged the font of the preset list, and changed font symbols to icons above the preset list.
Filter icons work fine now (as long as skin colours aren't being used, where they disappear for dark skins).  

i've added confirmation on ASR window closing if there are unsaved changes  
The warning modal displays even when Save All & Close is pressed, which is a bit redundant (especially as the icon only displays on the Close button).  I'm thinking some people might find the popup slightly annoying as it shows for even really minor (non-Preset-Editor) changes, but I understand the thinking behind it.

I still think a dropdown selection button for filtering (and/or even preset importing) would simplify the UI by removing a lot of clutter-controls (words are always clearer than icons), but at least it's not Pac-Man anymore, and (under normal circumstances) the icons do at least directly relate to what's shown in the preset list, so they make sense.  But 8 different buttons to filter 1 little listview?  Hmm.

That being said, much improved overall!  Thank you.
Last Edit: January 29, 2023, 06:44:03 AM by Messiaen

boroda

  • Sr. Member
  • ****
  • Posts: 4595
Filter icons work fine now (as long as skin colours aren't being used, where they disappear for dark skins). 
will try to fix it.

The warning modal displays even when Save All & Close is pressed, which is a bit redundant (especially as the icon only displays on the Close button).  I'm thinking some people might find the popup slightly annoying as it shows for even really minor (non-Preset-Editor) changes, but I understand the thinking behind it.

I've just overlooked this. it will be fixed.

I still think a dropdown selection button for filtering (and/or even preset importing) would simplify the UI by removing a lot of clutter-controls (words are always clearer than icons)...
 
i'm not sure how you imagine this dropdown button. could you make a mockup?

hiccup

  • Sr. Member
  • ****
  • Posts: 7865
When pressing 'Save all & close', it doesn't seem to do any saving? (nor closing):




I find the font sizes in the panels quite unbalanced.
In the presets panel they are so large that longer names can't be read. (unless widening the whole panel)
The preset description panel has a much smaller font that makes it harder to read.
Perhaps have them both at an identical in-between font size?

Last Edit: January 29, 2023, 09:21:25 AM by hiccup

Messiaen

  • Jr. Member
  • **
  • Posts: 103
i'm not sure how you imagine this dropdown button. could you make a mockup?
The dropdown is just the standard pedestrian control:



The useful part is how the WC_COMBOBOXW/CBS_DROPDOWNLIST control actually works.  

Code
case Combo_FILTERPARSING :
   switch (HIWORD(wParam)) {
      case CBN_SELENDOK : // Selection is about to change... get current (old) selection (if needed)
      case CBN_SELCHANGE : // Selection has actually changed, so apply new filter

I don't claim to know how the .NET framework works, but I believe it's still the standard WinAPI Msg/Event-driven system underneath which does the rendering at the end of the day.  You can take advantage of the SELCHANGE msg in real-time to apply the filter without any silly extra "apply" buttons.

Obviously, this only allows the user to apply one filter at a time, but if one wanted to entertain madness, they could add a whole ridiculous system of "if the user holds <Ctrl> while clicking the filters could be layered", etc, but that's severe overkill.

It's just an idea.

Oh, and as per Hiccup's idea with the font sizes, whatever you do please don't make anything smaller - some of us are probably older than others.   ;)  Either that, or at least make it more DPI aware.

boroda

  • Sr. Member
  • ****
  • Posts: 4595
When pressing 'Save all & close', it doesn't seem to do any saving? (nor closing):



you can click "yes" and changes will be saved. but it's of course an overlooked bug, and it's already fixed. redownload plugin:

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

I find the font sizes in the panels quite unbalanced.
In the presets panel they are so large that longer names can't be read. (unless widening the whole panel)
The preset description panel has a much smaller font that makes it harder to read.
Perhaps have them both at an identical in-between font size?



this question is completely up to users. Messiaen "complained" that font used in preset list is a bit small. i'm open to suggestions, and am ready to make any font sizes for preset list and preset description.

boroda

  • Sr. Member
  • ****
  • Posts: 4595
i'm not sure how you imagine this dropdown button. could you make a mockup?
The dropdown is just the standard pedestrian control:



The useful part is how the WC_COMBOBOXW/CBS_DROPDOWNLIST control actually works.  
no, the problem is not implementation (well, in most cases, and not in this case). the problem is design of UI/UX.

i can make dropdown, which allows setting multiple filters. but dropdown doesn't allow to quickly show, which filters are currently set.

again, i'm open to discussion about any UI/UX elements, but they should be acceptable for most users.

---

my development of your idea: dropdown, clicking adds/removes filter (or another variant: clicking switches current filter, ctrl+clicking adds/removes filter), 1st item resets all filters (it can be named either "reset all" or "no filters"), dropdown list shows all checked filters, and row of compact highlighted/dimmed icons without checkboxes quickly show, which filters are active.

your (and hiccup, phred) opinion?

---

btw, i've changed coloring of filter icons in last plugin version, for plugin to obey current color scheme lightness - either lightness of mb skin colors (if plugin uses skin colors) or lightness of windows colors (e.g. light/dark mode).

Messiaen

  • Jr. Member
  • **
  • Posts: 103
my development of your idea: dropdown, clicking adds/removes filter (or another variant: clicking switches current filter, ctrl+clicking adds/removes filter), 1st item resets all filters (it can be named either "reset all" or "no filters"), dropdown list shows all checked filters, and row of compact highlighted/dimmed icons without checkboxes quickly show, which filters are active.
That's more or less what I said - though I was just giving an example of "quick and dirty" filtering without worrying about applying multiple filters at once - personally I've never really needed more than one at a time, but I'm simple that way.  :)  I'm mainly just suggesting a more condensed alternative to 8 consecutive checkboxes - that was a fine idea back when it was just a couple of filters, but now...

And (just for verification), yes Icons now show properly in dark theme, and the Save All/Close works as expected; thank you.

For parity, I might suggest the same popup warning be applied to the ALR window if closing without hitting the "Update preset" button first.  Also, the "Preset not saved" text is a little hard to see (dark blue on dark-theme background) doesn't work well.  Maybe red-text, as warning?  And/or the icon you use on the ASR close button is nice and clear too, so maybe that.

The two windows (ASR/ALR) obviously shouldn't look the same, but they should at least behave similarly for UI consistency, and have similarly named buttons... Like, how is "Update Preset" different from just Save?  ASR doesn't use the same terminology, so it stands out as "odd" (to me).
Last Edit: January 29, 2023, 03:13:45 PM by Messiaen

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9348
5.6.8429 is throwing this:
Code
MusicBee v3.5.8421.33583P  (Win10.0), 29 Jan 2023 9:59:

System.NullReferenceException: Object reference not set to an instance of an object.
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
   at System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
   at System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
   at System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
   at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
   at #=z09qWh4vN1pxXik4I5_AJNtNOHzqd.#=z0kxop_4=.#=z0i39nrE=(ApplicationCommand #=zcmfSZOE=, Object #=z03MCJ4c=, IList`1 #=zV00LM84=)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.#=zQR5oFdUR0lPU.#=zSXhXp0jQU1ix(MouseEventArgs #=zDE4WdZg=)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.OnMouseClick(MouseEventArgs #=zDE4WdZg=)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at #=zVKmx8Jq1oMbPbhNevsGwYtg=.WndProc(Message& #=zieEqYDo=)
   at #=zWIZyVUuxNLL39$ggm5ULXcz19Z0b.WndProc(Message& #=zieEqYDo=)
   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)

Rolled back to 5.6.8427 and no issues.

As for the dropdown menu, while it does indeed save space, I think being able to see exactly what is filtered is better. Also being able to simple tick a filter rather than mouse to open the dropdown and then mouse to the desired option.
Last Edit: January 29, 2023, 03:18:01 PM by phred
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

Messiaen

  • Jr. Member
  • **
  • Posts: 103
...while it does indeed save space, I think being able to see exactly what is filtered is better. Also being able to simple tick a filter rather than mouse to open the dropdown and then mouse to the desired option.
My idea wasn't just to save space, part of the thought is to "not freak out the newbies" with too many options, like dozens of checkboxes which all do subtly different things.  But fine, nobody likes the dropdown idea, I can lose gracefully.  :)

(I've been opening/closing the windows on the nwest version without error, so that's strange...)

miste

  • Newbie
  • *
  • Posts: 4
Hey guys, I got the same error when I updated to the new version 5.6.8429

Code
MusicBee v3.5.8402.19544D  (Win10.0), 29 jan 2023 13:04:

System.NullReferenceException: Object reference not set to an instance of an object.
   em MusicBeePlugin.AdvancedSearchAndReplaceCommand.presetList_ItemCheck(Object sender, ItemCheckEventArgs e)
   em System.Windows.Forms.CheckedListBox.OnItemCheck(ItemCheckEventArgs ice)
   em System.Windows.Forms.CheckedListBox.SetItemCheckState(Int32 index, CheckState value)
   em System.Windows.Forms.CheckedListBox.SetItemChecked(Int32 index, Boolean value)
   em MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
   em MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
   em MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
   em System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   em System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   em System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   em System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   em System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   em System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   em System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   em System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   em System.Windows.Forms.Control.WndProc(Message& m)
   em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   em System.Windows.Forms.ToolStrip.WndProc(Message& m)
   em System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9348
5.6.8429 is throwing this:
A reboot of the PC and the (re)installation of 5.6.8429 seems to have resolved the issue.
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

hiccup

  • Sr. Member
  • ****
  • Posts: 7865
this question is completely up to users. Messiaen "complained" that font used in preset list is a bit small. i'm open to suggestions, and am ready to make any font sizes for preset list and preset description.
As I said, I find the preset names too large, and the description a little bit to small.
If both would get the same size, e.g. the size of one font size larger than the rest of the text in the panel thing will probably look fine?

About the dropdown menu, I'm not crazy about the idea. Except for the fact of having text instead of icons, which would be an improvement in my opinion.
The icons by themselves are certainly nice, but I think icons would best be avoided for software that is not going to be used on a daily bases.
People just won't remember their functions.

So I am still a proponent of using text as much as possible. It is much more obvious and inviting to all sorts of users.
So, here is a rigorous idea that involves a lot of reshuffling of the panel:



But this will probably require a lot of work, so I could imagine boroda not getting very enthusiastic about the idea.

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9348
While I agree with hiccup on text vs icons, the current layout (with icons) does provide a popup tool tip when hovering over each. Which for my purposes works well.

The mockup hiccup provides is a winner! But as he states, there are a lot of elements that need to be moved around and boroda many not have the time, or may not be interested in making sure a massive GUI update.
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

hiccup

  • Sr. Member
  • ****
  • Posts: 7865
... the current layout (with icons) does provide a popup tool tip when hovering over each. Which for my purposes works well.
I really dislike the need to hover over an icon to find out what it does.
You have to wait a few moments for the popup to show, and read it before it's gone again.
And the popup won't even always show at the first try.
And then you will probably have to repeat that effort before you have found the right checkbox to click.

I think it's a hindrance and should be avoided whenever possible.
If I want to play some (reverse) Whac-A-Mole I'll go the the fair or a game hall ;-)