RythmDJ 開発TODO

外観の初期整理後、機能実装を進めるための作業計画とGit管理メモ。

最終更新 2026-06-01
Branch main
Remote------
最新確認Commit 35422e6

運用ルール

TODO更新 作業完了時にステータスを TODO から DONE に変更し、必要なら実装メモを追記する。
Git管理 まとまった機能単位でコミットする。コミット前に cmake --build build --config Debug を通す。
コミット記録 このファイルの「Gitログ管理」にコミットID、内容、確認状況を追記する。
優先順位 音が出る基本機能、DJ操作、エフェクト、保存、MIDIの順に固める。

現在のGit状態

状態 RythmDJ開発中。ESYNCまで完了済み。現在は codex-track-audio-parameters でCrossfaderカーブへ進む準備中。
主な変更 フォルダ整理、RythmDJ追加、UI実装、Track編集UI、Mixer/Effectorsモック、インラインTrack名編集、Track CUE、Track MUTE、CUE / MON分離。
次の推奨コミット Implement crossfader curve。DJ用途向けにCrossfaderカーブを整理し、必要なら設定UIを追加する。

Phase 1: Track音声機能

DONE
Circle入力と再生タイミングの修正
完了。作業ブランチ codex-fix-circle-sequencer-timing で修正し、mainへマージ済み。Circle上の丸のクリック判定、描画位置、再生スケジューリングのTrigger phase計算を揃えた。追加修正として、STOP後に再度PLAYした場合は停止位置からではなくCircle先頭から再生するようにした。
Commit: fa39351 / Merge: 35422e6
DONE
Trackパラメータの実音確認
完了。Vol / Pan / Pitch / Phase / Shuf / V.Hum / T.Hum / Track Rateの接続を確認し、Panの等電力化、V.Humの揺らぎ幅調整、Reverse、同一Track内だけ音被りを止めるChoke Groupを実装した。STOP後の再PLAYはCircle先頭から始まる。
優先度: 高 / Branch: codex-track-audio-parameters
DONE
Track CUEの実装
完了。Track行のCUE丸ボタンを状態管理とMonitor出力へ接続した。Track CUEはDJ標準寄りに、Floor/Masterへの通常出力は保ったままMonitorにも送る。MUTE + CUEの場合はFloorには出さず、Monitorだけで確認できる。上部OptionsはJUCE標準のAudio/MIDI設定として残し、RythmDJ内のRoutingでFloor/Monitorの出力ペアを選択する。Mixer右上のBALでMonitor内のFloor/CUEバランス、右下のMONでMonitor全体音量を調整できる。上部OptionsへRoutingを統合する件は今後課題とする。
優先度: 高
DONE
Track MUTEの挙動確定
完了。DJ標準寄りに、MUTEはサンプル再生停止ではなくFloor/Masterへの送りON/OFFとして扱う。MUTE ON中も内部再生位置は進み、CUE ONならMonitorで確認できる。既に鳴っているVoiceも現在のTrack MUTE/CUE状態を見てFloor/Monitorへ動的に振り分ける実装にした。
優先度: 中
DONE
Track削除・並び替えの安全性確認
完了。削除、ドラッグ並び替え後に選択Track、再生中Voice、MIDI割当、保存状態が破綻しないよう修正した。削除時は対象TrackのVoiceを停止し、後続Voice/MIDI割当のTrack番号を詰める。並び替え時はVoice/MIDI割当のTrack番号を移動後の順序へ追従させる。Track名編集中の削除・移動では編集をキャンセルする。
優先度: 中

Phase 2: DJ / Mixer機能

DONE
CUE / MON分離とMonitor出力
完了。CUEは頭出し操作、MONはヘッドホン/Monitor送りとして分離した。Deck MON ONでは対象Deck全体、Track MONでは個別TrackをMonitorへ送る。MON対象がない場合はMonitor無音。CUE押下中はCue Pointから一時再生し、縦フェーダーに関係なくMonitorへ出力、Floorには出さない。CUEを離したタイミングで試聴Voiceを停止し、Floorへの音漏れを防いだ。
Commit: 4d924e5 / Branch: codex-track-audio-parameters
DONE
Easy Start設定
完了。BPM Syncはテンポ同期として維持し、Phase Syncのような再生中のズレ補正は入れず、ESYNCだけを実装した。ESYNC ON時は、停止中DeckのPLAYを押した瞬間に反対Deckの現在の回転位置へ合わせて再生を開始する。ESYNCはMONの右に配置し、下段TransportはSYNC / CUE / PLAYのまま維持した。
Commit: 19673c0 / Branch: codex-track-audio-parameters
NEXT
Crossfaderカーブ
現在のクロスフェードをDJ用途向けに調整し、必要ならカーブ設定を追加する。
優先度: 中
TODO
DeckフェーダーのKill挙動
Deck縦フェーダーでDeck全体を切る操作を確定する。EQ Killとは分離して扱う。
優先度: 中

Phase 3: EQ / Filter

TODO
HI / MID / LOW EQ実装
まずは簡易3バンドEQとして実装し、後からDSP品質を上げられる構成にする。
優先度: 中
TODO
Filter実装
Deck単位のFilterノブを実装する。初期版はLPF/HPFのどちらにするか決める。
優先度: 中
HOLD
EQ Kill
KILLは将来のEQ Kill用として予約。初期機能が安定してから実装する。
優先度: 低

Phase 4: Effectors

TODO
DelayをEffectorsへ正式移動
既存DelayをEffectors選択の1種として整理し、X/Yパラメータに割り当てる。
優先度: 中
TODO
Effect選択プルダウン
選択したEffectに応じてX/Yの意味と内部処理を切り替える。
優先度: 中
TODO
追加Effect候補の検討
Delayの次に実装するEffectを決める。候補: Beat Repeat、Reverb、Lo-Fi、Gate。
優先度: 低

Phase 5: 保存 / 復元

TODO
RythmDJ状態保存の確認
Track表示名、WAVパス、Track順序、Trigger、Deck設定、MIDI Learnを保存・復元できるか確認する。
優先度: 高
TODO
WAV未検出時の表示
保存済みパスのWAVが見つからない場合のUI表示とリカバリー導線を作る。
優先度: 中

Phase 6: MIDI / Options

TODO
Options画面へMIDI Learnを整理
メイン画面から退避したMIDI Learn状態、Cancel、割当一覧をOptions内に配置する。あわせて、将来的にRoutingをJUCE標準Optionsへ統合できるか検討する。
優先度: 中
TODO
全UI操作のMIDI割当確認
追加されたTrack CUE、EQ、Filter、Effectors X/Y、Track Rate 5ボタンのMIDI制御方針を決める。
優先度: 中
HOLD
ハードウェアコントローラー要件再整理
アプリ機能が固まった後、MIDIコントローラーの物理UI数とShift運用を再設計する。
優先度: 低

Gitログ管理

Commit 内容 確認 日付
19673c0 ESYNC実装。SYNCはBPM同期として維持し、ESYNC ON時のPLAYで反対Deckの現在回転位置へ合わせて再生開始。ボタンはMON右に配置 cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-18
4d924e5 CUE / MON分離。CUEを頭出し試聴、MONをMonitor送りとして分離し、Deck/Track MON、CUE中のMonitor専用出力、CUE離し時の音漏れ停止を実装 cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-18
9fe7481 Track削除・並び替えの安全性確認。再生中Voice、Track系MIDI割当、Track名編集中の削除・移動を安全化 cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-18
a79c229 Track MUTE挙動確定。MUTEをFloor/Master送りON/OFFとして扱い、既存Voiceも現在のMUTE/CUE状態で動的にMonitor/Floorへ振り分け cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-18
55de2c1 Track CUE実装。MUTE + CUE時のMonitor確認、Floor/Monitor Routing、Monitor BAL/MONノブを追加 cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-17
0f7fe3e Track音声パラメータ完成。Pan等電力化、V.Hum調整、Reverse、同一Track内Choke Group、STOP後PLAY先頭復帰、AGENTS.md追加 cmake --build build --config Debug 成功。Rythm / RythmDJ Standalone・AU成功。 2026-06-16
35422e6 RythmDJプロトタイプとCircleタイミング修正をmainへマージ cmake --build build --config Debug 成功。作業ツリークリーン確認済み。 2026-06-01
fa39351 RythmDJプロトタイプ追加、Circle入力判定と再生タイミング基準の修正 作業ブランチ codex-fix-circle-sequencer-timing で確認済み。 2026-06-01
74ea472 要件定義書のMarkdown化 既存履歴 -
6731d7d GitHub Pages用要件定義書追加 既存履歴 -
2a8d218 Initial commit 既存履歴 -