Repository navigation
Knob Scales
odashi edited this page Nov 15, 2026
·
1 revision
目盛・吸着・円弧は同じ整数tickの定義を使います。長い目盛は端点と中立値を表し、初期値を意味しません。ホストへは実単位と正規化値の対応を通して通知します。
読み取りやすい値を厳密に選べるよう、整数tickと実値の対応点を少数だけ定義し、その間を対数補間します。対象はEQ Frequency、Reverb Damping、Phaser Center、EQ Mid Q、Reverb Decayの13ノブ、共通化すると4種類の軸になる。
対応点(t₀, v₀)と(t₁, v₁)の間は次式を用いる。
u = (t - t₀) / (t₁ - t₀)
v = v₀ × (v₁ / v₀)^u
対応点では定義した値をそのまま返す。逆変換も同じ対応点から求める。表示・ドラッグ状態は整数tickを保持する。
| 軸 | 対応点 tick: 実値
|
|---|---|
| EQ Frequency、0〜300 tick | 0:20, 40:50, 70:100, 100:200, 110:250, 140:500, 170:1000, 200:2000, 230:4000, 240:5000, 270:10000, 300:20000 Hz |
| Reverb Damping、0〜300 tick | 0:500, 56:1000, 113:2000, 187:5000, 202:6000, 244:10000, 300:20000 Hz |
| Phaser Center、0〜400 tick | 0:100, 75:200, 175:500, 250:1000, 325:2000, 400:4000 Hz |
| EQ Mid Q / Reverb Decay、0〜200 tick | 0:0.1, 30:0.2, 70:0.5, 100:1, 130:2, 170:5, 200:10 |
太字の250 / 4000 / 6000は既存初期値を整数tickで再現するための換算点で、描画目盛には追加しない。換算点・描画目盛・吸着点は役割を区別し、値の対応を共有する。
既存の時間ノブに用いる100 tick/decadeとは別のUI換算である。ホスト正規化値と実単位の変換を通じてGUIの整数tickを読み書きし、VST3・DSPの値と対応付ける。換算はGUIの更新・操作時に行う。
設計時の比較・検証は検討ログに保存しています。