Skip to content
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

ソング・TAB時に単体歌詞が選択できない #2345

Closed
1 of 3 tasks
shuntia opened this issue Nov 6, 2024 · 4 comments
Closed
1 of 3 tasks

ソング・TAB時に単体歌詞が選択できない #2345

shuntia opened this issue Nov 6, 2024 · 4 comments
Labels

Comments

@shuntia
Copy link

shuntia commented Nov 6, 2024

不具合の内容

ソングで単体ノーツを選択し、TABで順番に歌詞を入力すると、四回に一回、定期的に、規則性を持って、ハイライトが行われません。

現象・ログ

2024-11-06.08-04-08.mp4

再現手順

ソングを開き、ノーツを置く。
クリックして歌詞を出す
ひらがな一文字入力、TABをくりかえす
4n回目にハイライトが実行されない

期待動作

毎回歌詞がハイライトされる

VOICEVOXのバージョン

0.21.1

OSの種類/ディストリ/バージョン

  • Win11 23H2 x64
  • macOS
  • Linux

その他

@shuntia shuntia added the バグ label Nov 6, 2024
@sigprogramming
Copy link
Contributor

ご報告ありがとうございます!

こちら再現できました。「レレ」など、同じ歌詞が続く場合に起こるようです。
おそらく

watch(
() => props.editingLyricNote,

watch(
() => props.editingLyricNote.lyric,
に変わったのが原因で、
watchは同じ値の場合はコールバックが呼ばれないので、それでselectが呼ばれなくなっているのだと思います。

以前の「オブジェクトの参照をwatch」に戻すと直ると思いますが、
参照は分かりにくいので、「noteIdをwatch」にしても良いかもです。

@terapotan
Copy link
Contributor

terapotan commented Dec 3, 2024

ご報告ありがとうございます!

こちら再現できました。「レレ」など、同じ歌詞が続く場合に起こるようです。 おそらく

watch(
() => props.editingLyricNote,


watch(
() => props.editingLyricNote.lyric,

に変わったのが原因で、
watchは同じ値の場合はコールバックが呼ばれないので、それでselectが呼ばれなくなっているのだと思います。
以前の「オブジェクトの参照をwatch」に戻すと直ると思いますが、 参照は分かりにくいので、「noteIdをwatch」にしても良いかもです。

@sigprogramming @Hiroshiba
原因解析ありがとうございます。
こちらの原因解析に沿って、不具合修正を行ってみましたので、ご確認いただけると幸いです。
作業重複になっていましたら、申し訳ないです……

@sigprogramming
Copy link
Contributor

@terapotan
修正プルリクありがとうございます!助かります!

@Hiroshiba
Copy link
Member

で解決したと思うのでcloseします!
@shuntia さん、@terapotan さん、ありがとうございました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants