Fix serializeModulation field names; add mod:base test assertion
This commit is contained in:
@@ -23,12 +23,12 @@ function serializeShape(shape) {
|
||||
// ── FM / AM modulation ─────────────────────────────────────────────────────
|
||||
// RFC §3.2.1.1.6-7: FM = FREQUENCY ["f"/"F"] ["@" OSC] ["[" SHAPE "]"] ";" MOD ":" BASE
|
||||
|
||||
function serializeModulation(fm) {
|
||||
let s = String(fm.frequency ?? '');
|
||||
if (fm.factor) s += fm.factor;
|
||||
if (fm.osc) s += `@${fm.osc}`;
|
||||
if (fm.shape) s += `[${serializeShape(fm.shape)}]`;
|
||||
s += `;${fm.mod ?? ''}:${fm.base ?? ''}`;
|
||||
function serializeModulation(m) {
|
||||
let s = String(m.frequency ?? '');
|
||||
if (m.oscillator) s += `@${m.oscillator}`;
|
||||
if (m.shape) s += `[${serializeShape(m.shape)}]`;
|
||||
s += `;${m.mod_share ?? ''}:${m.base_share ?? ''}`;
|
||||
if (m.init_phase != null) s += m.init_phase >= 0 ? `+${m.init_phase}` : String(m.init_phase);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user