Author Topic: Make autocompletion more complete...  (Read 7461 times)

WimYogya

  • Sr. Member
  • ****
  • Posts: 473
I have a feeling MB's autocompletion feature is not what it should/could be.

First:
I support Tompeto's earlier suggestion to autocomplete ONLY the first value (artist, composer, genre) that you are typing, not the complete range of values that other field(s) has/have. As he said: "When filling some fields of an album, like composers or musicians credit list, for instance, it would be very useful to have the auto complete suggestions feature to point suggestions to individual tag values, instead of only show the whole tag with all its values."
Second: with multiple values/names in one field, the autocompletion works only for the first name. If I want to enter Frank Sinatra; Dean Martin I expect Frank Sin... to show 'Frank Sinatra' only, after I have entered him and continue typing Dean Ma... should lead to Dean Martin. That is not the case.
Third: the autocompletion is not really autocompletion. It is 'autosuggestion' (and not as in the mental illness with the same name).
It only suggests a name or value, you still have to select it from a dropdownlist. That makes sense as long as the typed characters still leave multiple options open: Georg... could still become Georges Brassens, George Moustaki, Georg Friedrich Händel and many many more.
But as the typing continues and the options shrink, the moment comes that only ONE option is still open: Georg Friedr can hardly be anyone else than Georg Friedrich Händel.
At that moment I would hope/expect MB can really autocomplete the input.
It doesn't.
If in the genre box I type CH it should be enough to automatically CHRISTMAS to be entered, because there are no other genres in my list starting with CH. Instead I have to move the cursor down to the one-option-dropdownlist, select CHRISTMAS and click to confirm.
It even happened a few times that I had typed CH and then ENTER to confirm my choice. The result was a NEW genre, called CH.

Could it be made more smooth in a future version, please?
In any dropdownlist?

And an earlier related question got no reply yet, so please allow me to repeat it here:
Why have some fields (such as conductor) no autocompletion feature? Why treat them differently from other 'involved people'?
I would strongly suggest to make all text fields (except title) autocomplete fields.








WimYogya
retired Dutchman (1944) in Yogyakarta, Indonesia



psychoadept

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 10691
+1

as I believe I've mentioned before, it would be good for all artist splitter options to cross pollinate.  as in, vales from performer, artist, guest artist, etc should be suggested in all of those fields.
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
i have made the following changes:
- for fields that support mutiple values the auto-complete dialog takes into account the splitter character ";"
- its now an "append and suggest" mode rather than just "suggest"

http://musicbee.niblseed.com/V2_4/MusicBee_Exe_Patched.zip

For now its only done in the main tag editor panel (and not the splitter dialogs yet). Because i had to build my own auto-complete popup its possible i have overlooked some key/ mouse actions that the standard windows popup has. Let me know if you do find anything but not promising to implement it.
One thing that annoys me about the standard windows "append and suggest" behavior is it doesnt set the case to match the entire matching value eg. type in "a" and if the match is "Abba" then the auto-complete text is "abba" rather than "Abba". I decided to make that the same as i can imagine cases where you would need that behavior and you can use the mouse to select the item to get the right casing.

redwing

  • Guest
Working great! Thanks for improving the feature!

One thing that annoys me about the standard windows "append and suggest" behavior is it doesnt set the case to match the entire matching value eg. type in "a" and if the match is "Abba" then the auto-complete text is "abba" rather than "Abba". I decided to make that the same as i can imagine cases where you would need that behavior and you can use the mouse to select the item to get the right casing.

If it's possible, I would really like it to respect the original case of first letter for each string. It doesn't make sense at all keeping only first letter lowecased like "berliner Philharmoniker". Because of this, you can't just type in multiple items with the new feature: you have to either use the mouse to select the item or edit the case of first letter of each item. If making it respect the original case for first letter is technically difficult, always capitalizing it would be much more useful.

psychoadept

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 10691
Yes, really happy to see this implemented!  Thanks, Steven!

Here's a bug I found:



As you can see, it saves okay with a brand new value, but once that value is in the auto-complete list it will not save.  I haven't tested fields other than publisher for this. [Edit: I've observed it with Artist now, too.]

Added: A very helpful enhancement would be to make the suggestions use Sort values.  For instance, B-E-A should suggest The Beach Boys and The Beatles.
Last Edit: April 01, 2014, 06:14:59 AM by scampbll
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
If it's possible, I would really like it to respect the original case of first letter for each string. It doesn't make sense at all keeping only first letter lowecased like "berliner Philharmoniker". Because of this, you can't just type in multiple items with the new feature: you have to either use the mouse to select the item or edit the case of first letter of each item. If making it respect the original case for first letter is technically difficult, always capitalizing it would be much more useful.
Imagine if your lbrary is not nicely tagged yet and some of the artists are already in lower case. Locking input to the list rather than keeping what is typed will be problematic and i dont want to second guess people with imposing auto-captialisation logic. There is one idea i have though but if that doesnt work out i might put it back to just a suggest list only.

redwing

  • Guest
I don't understand what you're saying. I just said the same thing as what you said "annoys" you with Abba example about the new appending feature. If the current behavior won't change, I guess I will have to use the mouse and select the item as before.

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
I am saying the windows behavior annoys me but there is a good reason for the behavior so i decided to implement the same behavior. However I an idea how to implement this to keep everyone happy

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34350
http://musicbee.niblseed.com/V2_4/MusicBee_Exe_Patched.zip

- the auto-append feature now takes the case of the first match and includes an extra item in the suggest list in case you want to preserve the case of the letter you type
- performers, guest artists etc are merged in the artist suggest list
- now also includes matches from the sort-artist eg. type in "Bees" and "The Bees" will be included in the suggest list (but you have to manually select the item - it intentionally doesnt auto-append these items)
- fixes a bug where auto-completed items were not marked as changed and hence not saving in some cases in the tag editor

redwing

  • Guest
Now I understand what you meant by this:

Locking input to the list rather than keeping what is typed will be problematic

Here's what's happening with the new version:

- If you have both items starting with "A" and "a" in your list, typing "a" for "Adele" will be auto-appended with "adele" instead of "Adele" because first match seems always lowercase rather than uppercase. So in this case, there's no differences from the previous version.
- If your items starting with "A" happen to be all capital "A", then typing "a" for "Adele" will be auto-appended with "Adele". But what if you want to type in a new item "apple"? It's not easy because as soon as you type "a" it immediately changes to "A". The only way is you have to edit first letter after typing "Apple".
- If your items starting with "A" happen to be all lowercase "a", then the same problem as the above.

So in this regard the previous version worked better. Then how to resolve the inconvenience of the previous version? I only thought about (1) using the mouse to select the item and (2) editing first letter after being auto-appended. But probably the easiest way is to type either "A" or "a" for first letter depending on the item the user wants to type in. Then if you type "a", then it will show the suggest list (and auto-append) with items starting with "a", if "A" then only items starting with "A".

BTW the suggest list doesn't get updated in real time. You have to exit and re-launch MB after adding a new item or editing an existing item.
Last Edit: April 02, 2014, 01:02:38 AM by redwing

psychoadept

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 10691
- performers, guest artists etc are merged in the artist suggest list
- now also includes matches from the sort-artist eg. type in "Bees" and "The Bees" will be included in the suggest list (but you have to manually select the item - it intentionally doesnt auto-append these items)
- fixes a bug where auto-completed items were not marked as changed and hence not saving in some cases in the tag editor

Thank you!

Although I thought you had changed it so that changing the artist field in the main tag editor didn't change the multiple artist splitter entries.  Was that not the case?
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

psychoadept

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 10691
This is working great even for custom tags.  

There's only one thing that I still find fiddly, and that's when inserting a new tag in front of an existing one.  As soon as you enter the ";", everything after it gets highlighted, so if you want to insert another tag or even a space between them it requires using the mouse or the keyboard to reposition the cursor.
Last Edit: April 05, 2014, 08:12:41 PM by scampbll
MusicBee Wiki
Use & improve MusicBee's documentation!

Latest beta patch (3.5)
(Unzip and overwrite existing program files)

Pingaware

  • Sr. Member
  • ****
  • Posts: 1111
This is working great even for custom tags. 

There's only one thing that I still find fiddly, and that's when inserting a new tag in front of an existing one.  As soon as you enter the ";", everything after it gets highlighted, so if you want to insert another tag or even a space between them it requires using the mouse or the keyboard to reposition the cursor.

Have to say I agree with Scampbll. Didn't want to mention anything as it seemed greedy, but now it's been brought up, it would be a nice final tweak!
Bold words in my posts are links unless expressly stated otherwise.