karashiiro / TextToTalk

Chat TTS plugin for Dalamud. Has support for triggers/exclusions, several TTS providers, and more!
MIT License
47 stars 30 forks source link

Add ability to reorder lexicon priority/load order with indicators in UI whether top of the list is highest or lowest priority #90

Open ryankhart opened 2 years ago

ryankhart commented 2 years ago

I'm not 100% sure yet what happens if you have multiple lexemes in multiple lexicons with the same graphemes. But I assume it only keeps either the first or last instance of duplicate graphemes.

This could be useful for users who install multiple lexicons from the repo with alternative pronunciations for the same words.

As it is now, users wanting to reorder lexicons would need to remove all of them from the configuration window and re-add them in the desired order.

Maybe add up and down arrow buttons to each row where the lexicon is listed in the config. I don't know if drag and drop is possible, but I don't think that is a good idea because Dalamud UI windows at least attempt to be gamepad/controller friendly and drag and drop would definitely not be gamepad friendly.

ryankhart commented 2 years ago

This feature is probably not urgent and is simple enough for me to develop and test. The idea just came to me and I had to write it down somewhere before I forgot.

karashiiro commented 2 years ago

Yeah, I had considered it when writing the lexicon repo, didn't feel it was urgent, though. It's definitely important, at any rate.

ryankhart commented 2 years ago

I finally added the first lexicon that includes duplicate, conflicting lexemes from the main community lexicon, so this missing feature will actually have an effect now if it is implemented. https://github.com/karashiiro/TextToTalk/commit/d8dd3e98ac099e653d93fd750eacb14482eedbf8

I would also like to note for anyone else who finds this while searching that I have tested a workaround solution for users. Whichever lexicon, from the repository, you install first takes priority over lexicons installed later. So, if you install a new lexicon from the repository that you want to override a lexeme from a previously installed lexicon, just uninstall and reinstall the previous lexicons to lower its priority.

It should also be noted that manually added lexicons from an actual .pls file always seem to override any lexicon installed from the repository, as I would personally expect it would.