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

Option to speak current dialogue bubble immediately upon TTS enable #34

Closed ryankhart closed 3 years ago

ryankhart commented 3 years ago

This is a bit of a nitpick, but I love this plugin so much not to give more feedback.

TextToTalk used to speak the current NPC dialogue that is currently on the screen when I use the keyboard shortcut to enable TTS. This functionality, unfortunately, got removed in this commit.

Was it sometimes annoying hearing TTS NPC dialogue from an old cutscene I had 15 minutes ago? Sure, I guess, but to me, it's more disappointing that, if I forget to enable TTS before an NPC conversation, then I have to manually read the first line of dialogue before TTS kicks in for the next line of dialogue.

Furthermore, even if I never forget to enable TTS before NPC dialogue, I don't know which NPC dialogue will be voice acted before it starts, so, before this commit, I had previously disabled TTS just in case there was voice acting, and if not, then I'd enable it with the shortcut.

However, if there is imminent functionality to automatically disable TTS during voided cutscenes as described in this issue, my issue described here is more or less a non-issue, as I would have no reason to ever manually disable TTS.

karashiiro commented 3 years ago

This might be a duplicate of #32, waiting on a testing build being merged.

ryankhart commented 3 years ago

Oh my bad. I didn't think to check through the closed issues for my issue before making a new one. That sounds exactly like my issue. I'll close this issue for now and wait for the next update.

johnysandels commented 3 years ago

I've just tested this in the newest tester release. and it does in-fact work as described, with some caveats. It only works while "Cancel the current speech when new text is available or text is advanced" is selected. If you have that disabled, enabling the plugin by toggle while a textbox is open, the currently open textbox will not be read.

I imagine a solution would be to look for if the dialogue box is open or not when enabling the plugin, with conditions set to only read the dialogue box text if the window is open right after the plugin is toggled back on.

Then after that just operating as usual.

Nevermind it works as intended now, no need to toggle anything on, I'm completely wrong and I tested it wrong!

ryankhart commented 3 years ago

I just figured out how to install the testing versions of plugins! I didn't realize that it was right in the GUI settings to enable it.

I just tested all of my use cases, that I'm aware of, and in 1.8, it works great! I still haven't bothered with messing with lexicons yet, though.