-
Notifications
You must be signed in to change notification settings - Fork 309
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
The head ref may contain hidden characters: "hotfix/\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u8AAD\u307F\u8FBC\u307F\u3068\u58F0\u91CF\u30FB\u97F3\u57DF\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u521D\u671F\u5316\u30D0\u30B0"
[release-0.17] hotfix: プロジェクトファイル読み込みと声量・音域パラメータの初期化バグ修正 #1927
Conversation
await store.dispatch("SET_SINGER", {}); | ||
|
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.
そもそも呼ぶ必要はないはず。
内部で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"; |
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.
消し忘れ
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 } | ||
); |
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.
immediate: trueをつけました。
プロジェクトファイル読み込み起動だった場合、storeが更新された後にここのコンポーネントがマウントされます。
そのマウントされるタイミングでstoreから値を持ってきてなかったのでバグってた感じです。
そもそもたぶんInputBuffer用の変数は必要ないかもでした。
await dispatch("SET_VOLUME_RANGE_ADJUSTMENT", { | ||
volumeRangeAdjustment: tracks[0].volumeRangeAdjustment, | ||
}); |
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.
プロジェクトファイル読み込んだ後に UI(Store)への反映を忘れていたのがバグの原因。
そもそも同じ状態を保持しているものが2つあるのはこういうことが起こるのでよくないはず。
(state.volumeRangeAdjustment
とstate.tracks[0].volumeRangeAdjustment
)
多分片方をGETTERにすれば問題が起こらなくなるはず。
テストが通り次第マージしてアップデートをかけようと思ってます! |
すみません、ちょっとワークアラウンドを足してしまいましたがマージします 🙇 |
内容
の解決プルリクエストです。
解説はコード内で行おうと思います。
関連 Issue
#1926
その他
プロジェクトファイルには保存されてたので良かった。
マイグレーションも特に必要ないはず。