add per-oscillator detune (detune1); fix ASR attack handoff

This commit is contained in:
Armin 2026-09-10 02:25:20 +02:00
commit 2a79067a1c
5 changed files with 21 additions and 11 deletions

View file

@ -7,7 +7,7 @@ static const Desc table[num] = {
// id name short min max def disc fine coarse
{ "osc1wave", "OSC1 WAVE", "O1WV", 0, 4, 2, true, 1, 1 },
{ "osc2wave", "OSC2 WAVE", "O2WV", 0, 4, 3, true, 1, 1 },
{ "detune", "DETUNE", "DTN", -50, 50, 8, false, 1, 6 },
{ "detune", "DETUNE 2", "DT2", -50, 50, 8, false, 1, 6 },
{ "oscmix", "OSC BAL", "MIX", 0, 100, 52, false, 1, 8 },
{ "flttype", "FILTER TYPE", "FTYP", 0, 3, 1, true, 1, 1 },
{ "fltcut", "CUTOFF", "CUT", 20, 20000, 3400, false, 20, 400 },
@ -40,6 +40,7 @@ static const Desc table[num] = {
{ "arppattern", "ARP PATTERN", "APT", 0, 3, 0, true, 1, 1 },
{ "arpoct", "ARP OCTAVES", "AOC", 1, 4, 1, true, 1, 1 },
{ "arpgate", "ARP GATE", "AGT", 10, 100, 70, false, 1, 10 },
{ "detune1", "DETUNE 1", "DT1", -50, 50, 0, false, 1, 6 },
};
const Desc& desc (Id id) { return table[static_cast<int>(id)]; }
@ -171,7 +172,8 @@ juce::String formatParam (Id id, float v)
{
case Id::osc1Wave:
case Id::osc2Wave: return waveName ((int) v);
case Id::detune: return juce::String ((int) v > 0 ? "+" : "") + juce::String ((int) v) + "c";
case Id::detune:
case Id::detune1: return juce::String ((int) v > 0 ? "+" : "") + juce::String ((int) v) + "c";
case Id::oscMix: return juce::String ((int) (100.0f - v)) + "/" + juce::String ((int) v);
case Id::fltType: return fltTypeName ((int) v);
case Id::fltCutoff: