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

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
I appreciate the time it must've taken you to test, make notes, and create the reply. I, as "editor" of the readme, will do nothing until boroda has had time to digest your comments and makes changes.
1.
Many of these issues/questions have been simmering in my brain for a couple of years already.
Now that the momentum is there, it seemed a good idea to present them in a decent manner, trying to help making AT&RT less of an enigma than it used to be ;-)

2.
Yeah, also: I have some ideas for minor improvements on the readme myself, so it's probably better to wait so not to do any double work.
Last Edit: January 16, 2023, 05:15:17 PM by hiccup

boroda

  • Sr. Member
  • ****
  • Posts: 4595
- about the interface


This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.


Shouldn't it be: (separated by ; )
It doesn't require two semi-colons, or does it?
no, tag values must be separated by TWO semicolons, because one semicolon can be used in real tag value, e.g. in 'genre' tag (but not only in 'genre').

A nitpick:

Personally I find the bold text not so nice to read. Perhaps make it regular. Maybe in a nice blue colour?
And perhaps make the header say: 'Preset description:'
i'm avoiding using fixed color values because windows color scheme can be changed. i've changed text color in this panel to 'menu highlight' color. please check new coloring, as my windows color scheme is rather specific.

These two buttons are next to each other:

But one pertains specifically to presets, the other more to (changed) settings. A novice user would not understand that.

It would help if the 10 buttons on the left and the 4 on the right had some more obvious visual separation.
Maybe something like this:

i've changed this. now ASR window looks similar to your makeup, but not exactly as on your screenshot.



This doesn't seem to work properly.
When selecting a predefined preset and use 'Rename/Edit' to edit the preset and then save it, the indicator will not say 'customised by user'.
(I'm not even sure it is supposed to be allowed to edit a predefined preset?)
When selecting a predefined preset and use 'Copy', make some change and save it, it will highlight 'User preset', not 'customised by user'.
So when should 'customised by user' get highlighted?
it's a bug. i haven't noticed it because i'm using the plugin in special 'developer mode' (some functionality disabled by default is enabled in this mode). of course, 'edit' button must be disabled for predefined presets. i've fixed this.

But, this also goes to the point that I have made earlier: Why not keep things simple, and use only two concepts of presets:
Just 'predefined preset' and 'custom preset'.
because there is no more concept of 'custom preset'. only 'user preset' and 'predefined preset'. well, also, 'customized predefined preset', which is a special case of 'predefined preset''.

There are now: Predefined presets, Customised predefined presets, Customised by user presets, Shared presets, Own presets, and Custom presets.
(and maybe I missed some more)



This one says 'shared presets'.
But in fact it is about 'custom presets'. If a preset has been shared with somebody or not is irrelevant here.
And there is no such thing as presets that can be shared with other people (or different installations) vs. presets that can't.
(well, some will work and some won't, depending on what custom or virtual tags it references, but that's a different matter?)

resulting pop-up balloons with texts like these certainly make no easy read:



These two buttons both pertain to 'custom presets':


The 'export' button specifies it is about custom presets, the 'import' one doesn't.
And the export balloon mentions 'user presets', while the import balloon mentions 'shared presets'.

Why not name these buttons: 'Export custom…' and 'Import custom…'
And make both balloons use the words 'custom presets' instead of 'user' and 'shared'.
no, no, no. i've simply forgotten to change some button names and tool tips. no more 'custom presets', i've fixed this. as for mentions of 'share/sharing', it's some specific of exported/imported presets, these presets are not some 'new type' of presets, but simply exporting/importing is intended mostly for preset exchanging, for sharing.

btw, could you inspect latest button names and tool tips? i think they now looks unified.

If you do believe it is important to have a certain type of preset being described as 'customised predefined preset', perhaps change it to 'modified predefined preset'?
I think it's equally bad, but it would at least create some extra linguistic distance between it and 'custom preset'.
again, there is no more 'custom presets'. but maybe i'll change very long term 'customized predefined preset' to just 'customized preset' later, because only predefined presets can be customized anyway. user presets can be just edited by user, not customized. i'm keeping this long term for now to avoid confusing with former 'custom presets' (which are now 'user presets') by old users.

I think I understand part of the reason that this all came to be is the effort to stuff a lot of explanatory information and variables into the user interface. (both in buttons and balloons)
But I think the interface itself should be as clean and non-confusing as possible.
The same goes for pop-up balloons. They disappear after a couple of seconds and should be brief and comprehensible.

Any further explanations can well go into manuals.

Which brings me to another suggestion:
Have a 'help' button in the main panel. (or maybe a 'documentation' button)
Which leads to a webpage that contains detailed and updated information on the buttons and functions of AS&R.
who would write this help page? i'll be happy to add 'help' button to ASR window.

Personally I like it if a plugin forum topic (the first post), or a plugin webpage contains a direct download link and perhaps a very brief explanation on how to install it.
Neither the AT&RT forum page, nor the plugin webpage has that, and the user will need to do more clicking to get to that.
Not a big problem, a user may be asked of to make some effort, but I think it wouldn't hurt making things a bit easier.
Not only for novice users, I would also like it if could download a new plugin version by simply clicking one link in the first forum post.
(or maybe Phred could add another link in his signature ;-)
i'll add download link to 'mb_TagTools_latest.zip' to the first post of plugin topic (and will try to revise this post, but keeping it in relevant up-to-date state is too tedious. so i don't want to write full plugin description on this page).

-  uninstalling the plugin

Uninstalling the plugin using MB's configuration panel does not remove the folders 'RU' and 'ASR presets'
Shouldn't it?
it shoud! and not only 'ru' and 'asr presets' folders, but also plugin .dll. but this can't be done by plugin. i've requested Steven for full support of plugins uninstalling (and simplier way of reinstalling). waiting for his responce (but this support won't impleneted in mb for 3.5, maybe for 3.6 only). though deletion of 'asr presets' folder CAN be done by plugin if plugin IS NOT installed to 'c:\program files\musicbee\plugins' folder.

-  about the readme.txt

1.
The readme text has a chapter on updating the plugin.
For updating a portable version of MB it explains that it allows for updating the plugin itself only.
But under 'OTHERWISE' it does not explain what gets updated exactly.
So is that updating procedure in fact identical to doing a clean install of the plugin?
Are predefined or custom presets affected in anyway?
clean install of the plugin: yes it's plugin reinstallation to the latest version, so 'updating'.

Are predefined or custom presets affected in anyway?: no. any working asr presets are not changed in any way in this step. preset management must be done after plugin update.

2.
There is a chapter: UPDATING THE ASR PRESETS:

1 – Open MusicBee. From the menubar > Tools > Additional Tagging & Reporting Tools > Advanced Search & Replace.
2a – Click the "Install All" button to install all predefined ASR presets. This installs all predefined presets and will update to the latest version any preset(s) that have already been installed.
OR
2b – Click the "Install New" button to (re)install predefined presets which were created or updated by the plugin developer since the last time you installed or updated them by either of two methods.



It doesn't say anything about how the user would acquire these updated predefined presets.
And I am assuming that the 'Install new' button does not have the functionality to download new presets by itself.
(which would not be a bad idea?)
So there probably should be some steps added to the tutorial about downloading and extracting files?

The same goes for the related buttons in the interface itself.
When a user clicks the 'Install new' button (and predefined presets are already present), it will just say that nothing was changed:


not giving any explanation to the user about the mechanics behind it.
He would have to guess that a newer set of presets should have been downloaded first.
I'm not sure about how to improve on that exactly, but one option could be to have that button opening a filebrowser that defaults to the location where the plugin is looking for 'updated presets'. That would make things much more obvious to the user.
i don't know how to describe all this in a simple and clear manner. presets are downloaded during plugin download. they are included in plugin .zip. adding/updating plugin also adds to/updates presets in "local preset repository" (special asr presets folder, which is different from asr preset working folder). ideally there must be no "local preset repository" at all to simplify the entire concept of preset 'installing' (what could be renamed to preset 'downloading' in this case). but downloading files programmatically from publically available services such as Google Drive is not so easy, and is not worth required efforts.

i will be very glad if you or @phred suggest some readme modifications, concerning this aspect.

And pressing 'Install all' can result in this:


So it's a successful error?  ;-)
yes, very stupid bug  :) . i was sure that passing null pointer instead of empty string to message box title will result in empty title. it turned out not to be so. it's fixed.

Also, contrary to what it says, nothing was updated in this case.
It will also say this if you click the button and hadn't downloaded any new presets at all.
this info message should mean 'updated in case of installing new presets or reinstalled in case of installing all presets'. i've slightly changed this info message.

I'm sorry if all this comes across at criticism.
While it probably is in a way, I really like the improvements that have been made over the last couple of weeks/months.
So this is just another effort in trying to help making things even better…

no, I myself asked to make critical comments.

i've given as much explanations as i could. now waiting for you and @phred to suggest new wordings for ui elements (or to accept my new wordings), and new corrections of readme.

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

latest plugin version:

NOTE: i highly recommend to delete both 'asr presets' folders ('plugins\asr presets' and '<mb appdata>\asr presets') before updating plugin and reinstall all asr presets from scratch (i've changed preset naming to avoid preset files duplicating in future if only names of some presets are changes. predefined presets files from plugin zip are named according to guids again, but preset filenames will be changed to friendly names after any saving of asr settings).

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

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
- about the interface


This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.
I should be in my REM sleep right now, so I'll only respond to this one point for now.
Trying to place myself in the position/thinking of a 'simple' user:
 
There is a button that simply says 'show presets with assigned hotkeys only'
I would be expecting it to do just that. I wouldn't care about 'stars'. And I would be confused that it adds 'stars' after pressing it again.
What is the purpose of having it adding more stars? I'm confused. I'm going to hit the pillow. Maybe I have a different view on it tomorrow.

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9349
i've changed this. now ASR window looks similar to your makeup, but not exactly as on your screenshot.
This looks much better now.

Quote
who would write this help page? i'll be happy to add 'help' button to ASR window.
Not me!! But I would be happy to read it and offer grammatical suggestions and corrections.


(or maybe Phred could add another link in his signature ;-)
Sorry, but there are only a limited number of characters allowed in a signature and I already asked Steven to up the maximum quite some time ago. Personally I don't like to see a signature that's longer than the reply.

Quote
i've given as much explanations as i could. now waiting for you and @phred to suggest new wordings for ui elements (or to accept my new wordings), and new corrections of readme.
I will look this over more carefully tomorrow. In the meantime, could you (boroda) please PM me the latest version of the readme? Thanks.
Last Edit: January 20, 2023, 01:00:53 AM 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

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field.
Wait, so that's a search/filter bar...

My brain never registered that. (even though I now see there's a search icon)
I feel a little bit dumb now.
Last Edit: January 19, 2023, 09:33:47 AM by hiccup

boroda

  • Sr. Member
  • ****
  • Posts: 4595
i've added a tooltip over the search bar.

process of preset installing is changed: 'install new' will always silently update all (customized or not) predefined presets, preserving all customizations. 'install all' will ask the user (only if some presets are customized) if he wants to reinstall all presets resetting all customizations, or preserving all customizations.

info messages related to preset installing are more detailed now (e.g. real preset updating to newer versions and preset reinstalling from stock versions (e.g. in case of damaged working presets) is now distinguished).

numerous minor ui bug fixes, related not only to ASR.

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

edit:

plugin now tries to delete 'plugins\asr presets' folder on uninstallation. this folder can't be deleted by plugin only if plugin is installed to "program files\musicbee\plugins" folder, i.e. installed manually, not using 'add plugin' button in mb prefs.
Last Edit: January 20, 2023, 03:25:40 AM by boroda

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
- about the interface


This button will add a star to filter out presets that have a hotkey assigned to them.
But at every subsequent click it will just be adding other stars.
I think it would be better if it would toggle between one star vs. no star.
Then also the 'close' button next to it could be removed.
'star' is just a part of the preset name, 'star button' simply adds 'star' character to the search field. 'close' button clears the search field, which can contain arbitrary text, not only 'star' character. also, you can search for some text AND 'star' character, i.e. search for some preset name only among presets with assigned hotkeys. i don't want to change current implementation.

1.
Why not make that part of the panel completely obvious?
Since a user will probably not be entering more than two or three search words in the search field, there is no need for it to be that wide.
Then something like this could be done:




2.
The non-bold text for preset description reads nicer.
Only the light-blue on grey contrast is a bit low (my eyes? my monitor?)
Perhaps the text could be made a little bit darker?

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
Which brings me to another suggestion:
Have a 'help' button in the main panel. (or maybe a 'documentation' button)
Which leads to a webpage that contains detailed and updated information on the buttons and functions of AS&R.
who would write this help page? i'll be happy to add 'help' button to ASR window.
I was not thinking of a brand new webpage.
There is already a lot of info on the plugin page, and also in the forum start post.
So the button could link to one of those?

boroda

  • Sr. Member
  • ****
  • Posts: 4595
I was not thinking of a brand new webpage.
There is already a lot of info on the plugin page, and also in the forum start post.
So the button could link to one of those?
where? this page must be written from scratch to consolidate all info scattered across the forum and plugin page. it doesn't matter where this page must be located. it must be a new page anyway (even if it would be just another page on this topic).

boroda

  • Sr. Member
  • ****
  • Posts: 4595

boroda

  • Sr. Member
  • ****
  • Posts: 4595
Why not make that part of the panel completely obvious?
Since a user will probably not be entering more than two or three search words in the search field, there is no need for it to be that wide.
Then something like this could be done:


because 'star' and (new) 'gear' characters are part of preset names. i've added these 2 buttons only because 'star' and 'gear' characters can't be typed on keyboard. auto-applied presets don't change their names, so there is no button to filter them, there is a checkbox for this. also, search algorithms for 'starred'/'geared' presets and for 'ticked' presets are completely different.

but i'll change tool tips for 'star' and 'gear' buttons to make their functions more clear.

phred

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 9349

In the block of text at top, it states "Tick presets to automatically apply them..."
In the search/filter presets line, it shows "[] Active presets."
I think for the sake of consistency "Active presets" should be changed to "Auto presets". Or better still, but I don't think there's enough room, "Auto-apply presets".
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: 7869
because 'star' and (new) 'gear' characters are part of preset names. i've added these 2 buttons only because 'star' and 'gear' characters can't be typed on keyboard. auto-applied presets don't change their names, so there is no button to filter them, there is a checkbox for this. also, search algorithms for 'starred'/'geared' presets and for 'ticked' presets are completely different.
I understand that, but I also think a user would not be interested in the behind-the-screen workings of such buttons.
Show all? yes/no, Filter custom presets? yes/no, Filter hotkey-assigned presets? yes/no
Those seen obvious choices, so the interface (in my opinion) would best reflect that.
(but if it makes things programmatically a bit too complicated I understand that too)


I'm getting this error with the latest version:

Code
MusicBee v3.5.8402.19544P  (Win10.0), 24 Jan 2023 18:58:

System.ArgumentException: Value of '-22' is not valid for 'red'. 'red' should be greater than or equal to 0 and less than or equal to 255.
   at System.Drawing.Color.CheckByte(Int32 value, String name)
   at System.Drawing.Color.FromArgb(Int32 alpha, Int32 red, Int32 green, Int32 blue)
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand.initializeForm()
   at MusicBeePlugin.AdvancedSearchAndReplaceCommand..ctor(Plugin tagToolsPluginParam)
   at MusicBeePlugin.Plugin.asrEventHandler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   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.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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: 4595
@hiccup, i've not made check for correct color values, hoping that all must work as is.

i've changed preset description color to more dimmed (though this color is derived from system 'menu highlight' color anyway). it now looks much better using my current windows color scheme, but i must check new coloring using other color schemes. also, i've not yet added the check if new color is always correct (e.g. doesn't have negative color components). it seems that new color will be always correct, but i need to check this.

i've added a new 'playlist' button to search for presets, which are constrained to playlist.

all tool tips for 'star', 'gear' and 'playlist' buttons are changed.

behavior of these buttons is also changed. now they toggle search mode (adding/removing corresponding characters to/from search field).

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

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

i'm still reluctant to convert search buttons to checkboxes. maybe, i'll do this, not sure.

hiccup

  • Sr. Member
  • ****
  • Posts: 7869
i'm still reluctant to convert search buttons to checkboxes. maybe, i'll do this, not sure.
It's obviously your decision.
I'm only throwing out some opinions and ideas.
And I believe nobody else has been sharing his opinions on this aspect of the interface, so maybe it's just me ;-)

The download still produces the error.
(v.5.6.8424)

Perhaps Mediafire is slow in updating, or there is some caching issue going on?
I will be trying it out again at a later time.