-
Notifications
You must be signed in to change notification settings - Fork 312
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
feat: VST版エディタをマージ #2521
base: project-vst
Are you sure you want to change the base?
feat: VST版エディタをマージ #2521
Conversation
[update snapshots]
あ、いったんprojectブランチへのマージができればと思ってます! 理由はmainマージした後、技術選定や設計レベルで課題が見つかったときに、pcソフト側のリリースに影響が出ないようにしたいためです…! |
project-vstに向けました。 |
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.
Copilot reviewed 20 out of 35 changed files in this pull request and generated 1 comment.
Files not reviewed (15)
- package.json: Language not supported
- src/components/App.vue: Evaluated as low risk
- src/components/Sing/ScoreSequencer.vue: Evaluated as low risk
- src/components/Menu/MenuBar/MenuBar.vue: Evaluated as low risk
- src/components/EngineStartupOverlay.vue: Evaluated as low risk
- src/components/Dialog/VstRoutingDialog/Presentation.vue: Evaluated as low risk
- src/components/Dialog/VstRoutingDialog/Container.vue: Evaluated as low risk
- src/components/Dialog/AllDialog.vue: Evaluated as low risk
- src/components/Dialog/Dialog.ts: Evaluated as low risk
- src/backend/vst/vstConfig.ts: Evaluated as low risk
- src/backend/vst/vstPlugin.ts: Evaluated as low risk
- src/components/Dialog/VstRoutingDialog/index.stories.ts: Evaluated as low risk
- src/backend/browser/sandbox.ts: Evaluated as low risk
- .eslintrc.js: Evaluated as low risk
- pnpm-lock.yaml: Evaluated as low risk
Comments suppressed due to low confidence (2)
src/backend/vst/ipc.ts:38
- [nitpick] The RustError class could be more descriptive. Consider renaming it to something like VstRustError.
class RustError extends Error {
src/backend/electron/manager/windowManager.ts:90
- Opening developer tools by default might not be intended for production. Consider removing or conditionally enabling it.
win.webContents.openDevTools();
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.
コードなるほどでした!!
ちょっとまだ大まかにしか読めてないのですが、一旦レビューコメントまで・・・!
let engineInfos; | ||
if (isElectron) { | ||
if (isElectron && isNode) { |
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.
特にVSTに関係ない変更ですかね?
変更自体は良さそう感!
でもいつの間にかmain側でこの辺が変わって、projectブランチがマージされるころにはこのコードを忘れていて、マージしてバグるということが起きそうかも。
mainにマージできると嬉しそう!
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.
特にVSTに関係ない変更ですかね?
- vst版のプラグインを差し込むためにvst/vstPlugin.tsが読まれる
- vstPlugin.tsはbrowser/contract.tsが依存にあるのでそれが読み込まれる
- browser/contract.tsの時限爆弾(この行)が爆発する
って感じでした。
mainにマージできると嬉しそう!
後でPRします。
* trueが返されたらunwatchするwatch | ||
* "unwatch"が返されたらunwatchするwatch |
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.
これもついでにmainに入れられると・・・!
(でも流石に変わらなそうなのでどっちでも良さそう)
@@ -535,14 +535,14 @@ if (window.AudioContext) { | |||
} | |||
|
|||
const playheadPosition = ref(0); // 単位はtick | |||
const phraseSingingVoices = new Map<SingingVoiceKey, SingingVoice>(); | |||
export const phraseSingingVoices = new Map<SingingVoiceKey, SingingVoice>(); |
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.
exportしてるけど使ってない・・・?
const sequences = new Map<SequenceId, Sequence & { trackId: TrackId }>(); | ||
const animationTimer = new AnimationTimer(); | ||
|
||
const queryCache = new Map<EditorFrameAudioQueryKey, EditorFrameAudioQuery>(); | ||
const singingPitchCache = new Map<SingingPitchKey, SingingPitch>(); | ||
const singingVolumeCache = new Map<SingingVolumeKey, SingingVolume>(); | ||
const singingVoiceCache = new Map<SingingVoiceKey, SingingVoice>(); | ||
export const singingVoiceCache = new Map<SingingVoiceKey, SingingVoice>(); |
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.
こっちも
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.
こっちはvst/vstPlugin.tsで使っています。
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.
おっとなるほどです。。
使ってるとなると、後々設計的にしんどくなってきそうな結合になってそうですねぇ。。。
ちなみにちょっと偉そうなことを言うのですが、これがよく言われる”コードの臭い”なので、感じれるようになるとプログラマとして成長したことになるかもです。
言語化すると、明らかにVuex.Store内でしか使われてなかった、つまりそういうふうに設計されていたであろうプライベートな概念を引きずり出して接続している形なのでまずい。
用途としてはたしか、VSTを開いたり閉じたりするたびにフロントが初期化されてキャッシュが消えちゃうから、毎回エンジンで音声合成しないといけなくなっちゃうのの防止ですよね。
ここの設計どういう手がありそうですかねぇ。。。
内容
自リポジトリのVST版エディタをマージします。
関連 Issue
スクリーンショット・動画など
(なし)
その他
(なし)