-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
プリセット管理ダイアログを編集可能にする #2452
base: main
Are you sure you want to change the base?
プリセット管理ダイアログを編集可能にする #2452
Conversation
🚀 プレビュー用ページを作成しました 🚀 更新時点でのコミットハッシュ: |
voicevox/src/store/audioGenerate.ts Line 49 in 13cb1d5
まあモーフィング機能が無効な状態だと、設定されているモーフィングを未設定にした瞬間その UI が消えるようになるので若干不親切な気がしますが・・・ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
実は子要素があるダイアログで「編集状態」作ると、結構色々考えることがあってしんどいんですよね~~~~(辞書ダイアログでの経験)
例えば編集中にダイアログを閉じるときに「保存してませんけど保存しますか」と聞くとか、編集中に別のプリセットを選んだ時に消えてしまうからこっちも保存しますかと聞くとか。
この辺をやっていくと状態管理がなかなかに辛くなってきます 😇
ちょっと UX の提案なんですけど、保存するか聞かずに勝手に保存するのって行けますかね・・・・・・・?
実装的に行けるか気になるのと、UX的に行けそうか気になるのと・・・。
や~~UX的にどうだろう。。。
辞書ダイアログとツールバー編集ダイアログは保存ボタンがあり、オプションダイアログとショートカットキー設定ダイアログは保存ボタンがない・・・。
プリセット編集も保存ボタンなくて大丈夫な気がするんですが、でもユーザーは「保存ボタン押してないけど大丈夫かな」と思うかもしれない。。。
とりあえず実装的に難しそうだったら話が別なので、一旦そこをお聞きしたく 😇
保存ボタンなしUXの所感もあればお聞きしたいです!
確かに未設定にした瞬間UIが消えるのは突然な動作すぎて戸惑うかもですね…。良い案があれば良いですが、モーフィングがついたプリセットを登録してからモーフィング機能を無効化するのはそこまで無いケースかなと思うので、コメントを残すくらいでいいかもです。
即時反映自体は実装的には問題ないと思います。UX的には‥今のVOICEVOXだと戸惑いが生じるかもです。 ソフトウェアにはおそらく編集モードが存在するモーダルな実装をしているものと変更したら即時反映されるモードレスなものとで別れていて、ユーザーはこのソフトはこっちだなみたいな覚え方をしていると思います。このソフトはヒホさんのおっしゃっているように混在している状況なので、一瞬迷いそうだとも感じます。個人的にはこのダイアログをモードレスに実装して、このソフトの他の箇所もモードレスにしてしまっても良いかも…?とも思いました。 |
たしかにプリセット登録してからオフにする人はほぼ0人な気がしますね!!
ちょっとまだ考えきれてないかもですが、この方針が良さそうに思いました!! それでも迷う方はいると思うので、1回×を押すまでイントネーション欄に表示されるツールチップみたいなのをプリセットダイアログのどこかに表示すると少しマシになるかも・・・? 他には変更のたびに「保存しました!」的な表示をどこかに出すとかですが、結構1回の作業辺りの変更頻度は高いので目障りそうな予感。 とりあえずプリセットダイアログはモードレスが良さそうに思いました!! |
OKです!モードレスな実装に変更します! |
編集内容を即時反映する・モーフィング機能無効かつ未設定時にモーフィングの項目が非表示になるよう修正しました。
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ちょっとまだ見きれてないのですが、モードレスなので、「変更をリセット」ボタンでどこの時点にリセットで戻れるとユーザーが感じるかわからないかもと思いました!
たぶん今の実装だとプリセットが切り替わったタイミングでinitialPreset、つまり戻れる先の状態が変わると思うのですが、ユーザーはダイアログが開いたタイミングに戻れると感じるかもなぁと。
例えば少しプリセットの値を変えたあと、他のプリセットと見比べたくなって他のプリセットに移動して、戻ってから調整し、気に入らなかったときにリセットしようとしたとき、リセットで戻れるとこの実装と想定がずれるかもです。
いろんなソフトやアプリで、リセットや保存がどのようなUXで提供されてるか見てみると参考になるかも・・・?
確かにモードレスだと明確な編集開始地点がないのでどの時の状態にリセットされるかが不明瞭ですね…。 そもそもモードレスなUIだとリセット機能は無いことが多いような気もしました(ぱっと身の回りのソフトウェアを見た感じデータ編集においてモードレスかつリセット機能付きのものは見当たらなさそうでした)。元に戻せることへの重要度が低ければ必要ないかも…?一番はstoreへの反映ごとに戻せるundoのような実装をすることですが、それは実装の複雑さと効果が見合わなさそう。 でももし機能をつけたままにするなら確かにダイアログの表示時を初期値としたほうが混乱しなさそうですね…! |
ちょっと実際に触らせていただいたのですが、こちら結構同感でした! 難しい判断ですが、UXのことを考えると、頑張って問題のない保存・リセット機能を実装するか、モードレスとして保存・リセットボタンを実装しないか、どちらかなのかなと思いました 🙇 |
確かにリセットボタンがあると何処かに反映前のデータがあり、反映する工程を挟まないといけないような気がして迷うかもなんですよね…
OKです!今回のPRからはリセット機能をオミットする形でいきますか…! |
リセット機能を削除しました。 |
内容
プリセット管理ダイアログでのプリセットの編集をできるようにします。具体的には以下の変更を行います。
スクリーンショット・動画など
その他
モーフィング機能無効時のモーフィングのパラメータ表示をどうするかちょっと迷ってます。現状は常に表示しています。
無効にしている人に対して表示すると、いきなり今まで知らなかったパラメーターが表示されていて戸惑うかも。かといって機能を有効にした状態でパラメータ登録したあと無効にした場合など、データとして存在するのに非表示にしてしまうと、ユーザーの認識とデータの実情が乖離してそれはそれで良くなさそう。候補としては、モーフィング機能無効かつ未設定時にのみ非表示とか?