ADR 0011: TyrellN6の確認済みUI_op差でFavoriteを増やさない
- 状態: 採用
- 根拠: userが最新のAuto Favoriteについて同じ音色が増えたと報告。
原因と決定
保存済みの最新 auto TyrellN6 3 と auto TyrellN6 2 は、どちらも
Classic Synth Lead.h2p、演奏パターンは guitar_arpeggio。
テキストの差はPCoreセクションの UI_op=9/10 と、テキスト末尾の空行1行だけ。
音色パラメータ・メタデータは一致し、ほかには既に除外している圧縮領域の差がある。
ADR 0009の実機調査では、 state読み込み後の処理とmain-thread pumpで9から10への遷移を確認した。 当時は意味が未確定のため比較に残していた。今回の同じ音色という報告と その遷移の観測に基づき、確認済みの9/10だけを同一扱いにする。 音声波形の完全一致やUI_opの内部定義を確認したという判断ではない。
適用範囲と制限
- 従来のTyrellN6 CLAP ID、build 16976、
#Vers=10010、little endian、$$$$1924、圧縮領域の構造確認を維持する。 - テキスト末尾の改行だけを比較から除外する。内部の空行、空白、コメントは残す。
UI_op=行がテキスト全体で1行だけあり、PCoreセクションにあり、値が9か10の場合だけ、 その値を比較から除外する。それ以外の値・位置・重複行ではこの除外を使わない。- プリセット名・メタデータ・ほかの設定、プラグインの形式・ID・役割・演奏パターンの差は残す。
- 保存・復元する元stateは加工しない。既存項目を再利用する場合、名前・ID・元bytesを維持する。
- 既存ライブラリの一括削除や整理は行わない。
- 9/10が音に影響する条件が見つかればこの例外を撤去・見直す。 未確認のUI_op値やプラグイン版には拡張しない。 安定した音色stateを標準APIで取得できるようになれば置き換えを検討する。
検証
- unit regression: 9/10と末尾空行の差、両方向の比較、Cutoff編集の保持、 未知値・別セクション・重複行・内部空行・別プリセットの差を保持。
- 保存済みの実際の9/10ペアを一時ライブラリに登録し、1件にまとまること、 名前・ID・元bytesの保持、別演奏パターンが別項目になることを確認。
- TyrellN6実機で演奏後の重複防止とCutoff編集の別登録を確認。
- userのFavorite index・snapshotへの書き込みは行わない。
cargo test: 92件成功、実機依存14件は通常実行から除外。 TyrellN6の実機・保存済みペア回帰2件は別途実行して成功。cargo fmt --check、cargo clippy --all-targets -- -D warnings、cargo build --release成功。既定の既存target/shimキャッシュを使用。 ビルド設定の試行変更はなく、新規環境での再現性確認は含まない。