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

[release-0.17] hotfix: プロジェクトファイル読み込みと声量・音域パラメータの初期化バグ修正 #1927

Conversation

Hiroshiba
Copy link
Member

内容

の解決プルリクエストです。
解説はコード内で行おうと思います。

関連 Issue

#1926

その他

プロジェクトファイルには保存されてたので良かった。
マイグレーションも特に必要ないはず。

@Hiroshiba Hiroshiba requested a review from a team as a code owner March 9, 2024 15:31
@Hiroshiba Hiroshiba requested review from y-chan and removed request for a team March 9, 2024 15:31
Comment on lines -104 to -105
await store.dispatch("SET_SINGER", {});

Copy link
Member Author

@Hiroshiba Hiroshiba Mar 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そもそも呼ぶ必要はないはず。
内部でSETUP_SINGERが行われるから呼んでるだけ?
とりあえずプロジェクトファイルが読み込まれてなかった時だけ実行するように移動しました。

@@ -134,7 +134,6 @@
<script setup lang="ts">
import { computed, watch, ref, onMounted, onUnmounted } from "vue";
import { useStore } from "@/store";
import { isProduction } from "@/type/preload";
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

消し忘れ

Comment on lines -229 to +242
watch(keyRangeAdjustment, () => {
keyRangeAdjustmentInputBuffer.value = keyRangeAdjustment.value;
});
watch(
keyRangeAdjustment,
() => {
keyRangeAdjustmentInputBuffer.value = keyRangeAdjustment.value;
},
{ immediate: true }
);

watch(volumeRangeAdjustment, () => {
volumeRangeAdjustmentInputBuffer.value = volumeRangeAdjustment.value;
});
watch(
volumeRangeAdjustment,
() => {
volumeRangeAdjustmentInputBuffer.value = volumeRangeAdjustment.value;
},
{ immediate: true }
);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

immediate: trueをつけました。
プロジェクトファイル読み込み起動だった場合、storeが更新された後にここのコンポーネントがマウントされます。
そのマウントされるタイミングでstoreから値を持ってきてなかったのでバグってた感じです。

そもそもたぶんInputBuffer用の変数は必要ないかもでした。

Comment on lines +117 to +119
await dispatch("SET_VOLUME_RANGE_ADJUSTMENT", {
volumeRangeAdjustment: tracks[0].volumeRangeAdjustment,
});
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

プロジェクトファイル読み込んだ後に UI(Store)への反映を忘れていたのがバグの原因。
そもそも同じ状態を保持しているものが2つあるのはこういうことが起こるのでよくないはず。
state.volumeRangeAdjustmentstate.tracks[0].volumeRangeAdjustment
多分片方をGETTERにすれば問題が起こらなくなるはず。

@Hiroshiba
Copy link
Member Author

テストが通り次第マージしてアップデートをかけようと思ってます!
ビルドには15分ぐらい時間がかかるので、その間に間違いがあったら指摘いただけると 🙇

@Hiroshiba
Copy link
Member Author

すみません、ちょっとワークアラウンドを足してしまいましたがマージします 🙇
issueだけ建てました。。。

@Hiroshiba Hiroshiba merged commit 2e20854 into VOICEVOX:release-0.17 Mar 9, 2024
9 checks passed
@Hiroshiba Hiroshiba deleted the hotfix/プロジェクトファイル読み込みと声量・音域パラメータの初期化バグ branch March 9, 2024 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant