-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
architectureCore architecture and abstractionsCore architecture and abstractionsenhancementNew feature or requestNew feature or requestfr-01FR-01: CLAP host integrationFR-01: CLAP host integrationuiUser interface and UXUser interface and UX
Description
目的
DAWのTransportテンポをUIのBPMへ同期し、生成パラメータ GenerationParams.bpm がホスト再生テンポと一致する状態で生成できるようにする。
背景
現状のBPMはUIの手入力のみで、DAW側テンポ変更に追従しない。
そのため、ホストテンポで再生中のプロジェクトに対して生成結果の想定テンポがズレる可能性がある。
設計上は FR-14(Transport同期)が存在するが、BPM値のUI同期/生成パラメータ同期は未実装。
スコープ
- DAW Tempo -> Plugin -> UI へのBPM伝搬
- UI上でのBPM同期ON/OFF
- 同期時に
GenerationParams.bpmがDAWテンポを使うこと
仕様案
BPM Syncトグルを追加(既定: ON)BPM Sync = ONのとき:- BPM入力欄は読み取り専用(または編集不可スタイル)
- DAWテンポ受信時にBPM表示と
submission_model.bpmを更新
BPM Sync = OFFのとき:- 現行どおり手入力で編集可能
タスク
- CLAP transportからtempoを取得し、UI側へ渡す経路を追加
- 既存
LiveInputEvent/ IPC payload に tempo フィールドを追加 - 受信側 (
ui::window) で tempo を保持
- 既存
- BPM同期ON/OFFのUI状態を追加
params-toolbarにBPM Syncトグルを追加- ON時はBPM入力を編集不可にする
-
PromptSubmissionModelへの反映- 同期ON時に
set_bpm(host_tempo)を適用 - 同期OFF時は手入力値を維持
- 同期ON時に
- テスト追加
- tempo伝搬(plugin -> ipc -> ui)
- 同期ON/OFFで
GenerationRequest.params.bpmが期待どおりになる
対象ファイル(想定)
src/plugin/clap_adapter/mod.rssrc/app/live_input_ipc.rssrc/app/live_midi_capture.rssrc/ui/window.rssrc/ui/request.rssrc/ui/mod.rs(テスト)
受け入れ基準
- DAWテンポ変更時、
BPM Sync=ONならUI BPM表示が追従する Generate実行時、GenerationParams.bpmが同期状態に応じて正しく設定されるBPM Sync=OFFでは従来の手入力編集が可能cargo testが通過
参照
docs/software-architecture.md(FR-14:plugin::transport_sync)docs/software-detailed-design.md(Params:bpm_input)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
architectureCore architecture and abstractionsCore architecture and abstractionsenhancementNew feature or requestNew feature or requestfr-01FR-01: CLAP host integrationFR-01: CLAP host integrationuiUser interface and UXUser interface and UX