From 5685b0e9c822ac665181ee2b24d8bc0bb9139622 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Fri, 21 Jul 2023 22:21:16 +0200 Subject: [PATCH 1/7] add support for Hysteresis Effect --- src/mruby-zest/example/ZynEffectGroup.qml | 6 +- src/mruby-zest/example/ZynHysteresis.qml | 28 + src/osc-bridge/schema/test.json | 1041 +++++++++++++++------ 3 files changed, 781 insertions(+), 294 deletions(-) create mode 100644 src/mruby-zest/example/ZynHysteresis.qml diff --git a/src/mruby-zest/example/ZynEffectGroup.qml b/src/mruby-zest/example/ZynEffectGroup.qml index b87ae277..d46a614b 100644 --- a/src/mruby-zest/example/ZynEffectGroup.qml +++ b/src/mruby-zest/example/ZynEffectGroup.qml @@ -225,6 +225,8 @@ Widget { return Qml::ZynDynFilter.new(db) elsif(type == :sympathetic) return Qml::ZynSympathetic.new(db) + elsif(type == :hysteresis) + return Qml::ZynHysteresis.new(db) else col = Qml::ColorBox.new(db) col.bg = color(:red) @@ -243,7 +245,8 @@ Widget { 6=>:distortion, 7=>:eq, 8=>:dynamicfilter, - 9=>:sympathetic} + 9=>:sympathetic, + 10=>:hysteresis} mapper[type] } @@ -257,6 +260,7 @@ Widget { :echo => 1, :phaser => 2, :sympathetic => 1, + :hysteresis => 1, :reverb => 1} mapper[type] } diff --git a/src/mruby-zest/example/ZynHysteresis.qml b/src/mruby-zest/example/ZynHysteresis.qml new file mode 100644 index 00000000..4c063857 --- /dev/null +++ b/src/mruby-zest/example/ZynHysteresis.qml @@ -0,0 +1,28 @@ +Group { + id: hysteresis + label: "hysteresis" + topSize: 0.2 + function refresh() { + return if rw.content.nil? + return if rw.content.children.length < 4 + rw.content.children[4..-1].each do |c| + c.refresh + end + } + + ParModuleRow { + id: rw + layoutOpts: [] + Selector { + layoutOpts: [:long_mode] + extern: hysteresis.extern + "Hysteresis/preset" + whenValue: lambda { hysteresis.refresh } + } + Knob { extern: hysteresis.extern + "Pvolume"} + Knob { extern: hysteresis.extern + "Ppanning"} + Knob { extern: hysteresis.extern + "Hysteresis/Pdrive" } + Knob { extern: hysteresis.extern + "Hysteresis/Premanence" } + Knob { extern: hysteresis.extern + "Hysteresis/Pcoercivity" } + + } +} diff --git a/src/osc-bridge/schema/test.json b/src/osc-bridge/schema/test.json index 3d543db8..216870be 100644 --- a/src/osc-bridge/schema/test.json +++ b/src/osc-bridge/schema/test.json @@ -569,18 +569,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/Penvstretch", "shortname": "stretch", @@ -717,6 +705,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FreqEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Pfreemode", @@ -735,18 +745,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Penvstretch", "shortname": "stretch", @@ -883,6 +881,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/AmpEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Pfreemode", @@ -901,18 +921,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Penvstretch", "shortname": "stretch", @@ -1049,6 +1057,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/FilterEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/padpars/GlobalFilter/Pcategory", @@ -1263,6 +1293,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/part[0,15]/kit[0,15]/padpars/GlobalFilter/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/part[0,15]/kit[0,15]/padpars/GlobalFilter/type-svf", @@ -1337,7 +1376,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/part[0,15]/kit[0,15]/padpars/GlobalFilter/Pvowels[0,5]/Pformants[0,11]/amp", @@ -2436,7 +2477,7 @@ "tooltip" : "Amplitude multiplier parameter", "type" : "i", "range" : [0,127], - "default" : "60" + "default" : "64" }, { @@ -2452,8 +2493,10 @@ "path" : "/part[0,15]/kit[0,15]/padpars/Php.onehalf", "shortname": "side", "name" : "Php.onehalf", - "tooltip" : ":default", + "tooltip" : "Harmonic cutoff model", "type" : "i", + "default" : "Full" +, "options" : [ { "id" : 0, @@ -4592,18 +4635,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/Penvstretch", "shortname": "stretch", @@ -4740,6 +4771,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FreqEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Pfreemode", @@ -4758,18 +4811,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Penvstretch", "shortname": "stretch", @@ -4906,6 +4947,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/AmpEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Pfreemode", @@ -4924,18 +4987,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Penvstretch", "shortname": "stretch", @@ -5072,6 +5123,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FilterEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Pfreemode", @@ -5090,18 +5163,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Penvstretch", "shortname": "stretch", @@ -5238,6 +5299,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMFreqEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Pfreemode", @@ -5256,18 +5339,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Penvstretch", "shortname": "stretch", @@ -5404,6 +5475,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/FMAmpEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/VoiceFilter/Pcategory", @@ -5618,6 +5711,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/VoiceFilter/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/VoiceFilter/type-svf", @@ -5692,7 +5794,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/VoicePar[0,7]/VoiceFilter/Pvowels[0,5]/Pformants[0,11]/amp", @@ -6233,7 +6337,6 @@ "name" : "PFMDetuneType", "tooltip" : "Modulator Detune Magnitude", "type" : "i", - "range" : [0,127], "default" : "L35cents" , "options" : [ @@ -6939,18 +7042,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/Penvstretch", "shortname": "stretch", @@ -7087,6 +7178,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FreqEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Pfreemode", @@ -7105,18 +7218,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Penvstretch", "shortname": "stretch", @@ -7253,6 +7354,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/AmpEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Pfreemode", @@ -7271,18 +7394,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Penvstretch", "shortname": "stretch", @@ -7419,6 +7530,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/FilterEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/GlobalFilter/Pcategory", @@ -7633,6 +7766,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/GlobalFilter/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/GlobalFilter/type-svf", @@ -7707,7 +7849,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/part[0,15]/kit[0,15]/adpars/GlobalPar/GlobalFilter/Pvowels[0,5]/Pformants[0,11]/amp", @@ -7940,7 +8084,7 @@ "scale" : "linear", "type" : "f", "range" : [-60.0f,20.0f], - "default" : "0" + "default" : "0.f" }, { @@ -8112,9 +8256,11 @@ "path" : "/part[0,15]/kit[0,15]/subpars/POvertoneSpread.type", "shortname": "spread type", "name" : "POvertoneSpread.type", - "tooltip" : ":default", + "tooltip" : "Spread of harmonic frequencies", "type" : "i", "range" : [0,7], + "default" : "Harmonic" +, "options" : [ { "id" : 0, @@ -8274,18 +8420,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/Penvstretch", "shortname": "stretch", @@ -8422,6 +8556,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/AmpEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Pfreemode", @@ -8440,18 +8596,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Penvstretch", "shortname": "stretch", @@ -8588,6 +8732,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/FreqEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Pfreemode", @@ -8606,18 +8772,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Penvstretch", "shortname": "stretch", @@ -8754,6 +8908,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/BandWidthEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Pfreemode", @@ -8772,18 +8948,6 @@ "default" : "2" }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Penvdt[0,39]", - "name" : "Penvdt#40", - "tooltip" : "Envelope Delay Times", - "type" : "i" - }, - { - "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Penvval[0,39]", - "name" : "Penvval#40", - "tooltip" : "Envelope Values", - "type" : "i" - }, { "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Penvstretch", "shortname": "stretch", @@ -8920,6 +9084,28 @@ "range" : [0,127], "default" : "64" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Penvdt[0,39]", + "name" : "Penvdt#40", + "tooltip" : "Envelope Delay Times", + "type" : "i" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/envdt[0,39]", + "name" : "envdt#40", + "tooltip" : "Envelope Delay Times (ms)", + "type" : "f", + "default" : "[0.0 0.07 (0x1.242124p-4) 0.07 (0x1.242124p-4) ...]" + + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilterEnvelope/Penvval[0,39]", + "name" : "Penvval#40", + "tooltip" : "Envelope Values", + "type" : "i", + "default" : "[64 64 ...]" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilter/Pcategory", @@ -9134,6 +9320,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilter/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilter/type-svf", @@ -9208,7 +9403,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/part[0,15]/kit[0,15]/subpars/GlobalFilter/Pvowels[0,5]/Pformants[0,11]/amp", @@ -9297,9 +9494,11 @@ { "path" : "/part[0,15]/kit[0,15]/Pmaxkey", "name" : "Pmaxkey", - "tooltip" : ":default", + "tooltip" : "Kit item max key", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "127" + }, { "path" : "/part[0,15]/kit[0,15]/Padenabled", @@ -9356,6 +9555,14 @@ "type" : "s", "default" : "\"\"" + }, + { + "path" : "/part[0,15]/partefx[0,2]/preset", + "name" : "preset", + "tooltip" : "Effect Preset Selector", + "type" : "i", + "default" : "0" + }, { "path" : "/part[0,15]/partefx[0,2]/filterpars/Pcategory", @@ -9570,6 +9777,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/part[0,15]/partefx[0,2]/filterpars/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/part[0,15]/partefx[0,2]/filterpars/type-svf", @@ -9644,7 +9860,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/part[0,15]/partefx[0,2]/filterpars/Pvowels[0,5]/Pformants[0,11]/amp", @@ -9692,14 +9910,6 @@ "type" : "i", "range" : [0,127] }, - { - "path" : "/part[0,15]/partefx[0,2]/preset", - "name" : "preset", - "tooltip" : "Effect Preset Selector", - "type" : "i", - "default" : "0" - - }, { "path" : "/part[0,15]/partefx[0,2]/numerator", "shortname": "num", @@ -9769,6 +9979,10 @@ { "id" : 9, "value" : "Sympathetic" + }, + { + "id" : 10, + "value" : "Hysteresis" } ] }, @@ -9777,6 +9991,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -9804,7 +10020,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "127" + "default" : "63" }, { @@ -9920,6 +10136,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -10092,6 +10310,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -10324,7 +10544,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "110" + "default" : "55" }, { @@ -10433,6 +10653,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -10551,7 +10773,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "50" + "default" : "67" }, { @@ -10650,6 +10872,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -10879,6 +11103,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -11011,12 +11237,10 @@ "path" : "/part[0,15]/partefx[0,2]/Reverb/Plohidamp", "shortname": "damp", "name" : "Plohidamp", - "tooltip" : ":default 0", + "tooltip" : "Dampening", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "0" - + "range" : [0,127] }, { "path" : "/part[0,15]/partefx[0,2]/Reverb/Ptype", @@ -11068,6 +11292,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -11098,9 +11324,7 @@ "tooltip" : "amount of effect", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "127" - + "range" : [0,127] }, { "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Ppanning", @@ -11189,45 +11413,106 @@ }, { - "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Punison_size", - "shortname": "uni", - "name" : "Punison_size", - "tooltip" : "Number of Unison Strings", + "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Punison_size", + "shortname": "uni", + "name" : "Punison_size", + "tooltip" : "Number of Unison Strings", + "scale" : "linear", + "type" : "i", + "range" : [1,3], + "default" : "1" + + }, + { + "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Pstrings", + "shortname": "str", + "name" : "Pstrings", + "tooltip" : "Number of Strings", + "scale" : "linear", + "type" : "i", + "range" : [0,76] + }, + { + "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Pbasenote", + "shortname": "base", + "name" : "Pbasenote", + "tooltip" : "Midi Note of Lowest String", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/part[0,15]/partefx[0,2]/Sympathetic/freqs[0,87]", + "name" : "freqs#88", + "tooltip" : "String Frequencies", + "scale" : "linear", + "type" : "f", + "range" : [27.50f,4186.01f] + }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/preset", + "name" : "preset", + "tooltip" : "Instrument Presets", + "type" : "i", + "options" : [ + { + "id" : 0, + "value" : "Hysteresis 1" + }, + { + "id" : 1, + "value" : "Hysteresis 2" + } + ] + }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Pvolume", + "shortname": "amt", + "name" : "Pvolume", + "tooltip" : "amount of effect", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "64" + + }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Ppanning", + "shortname": "pan", + "name" : "Ppanning", + "tooltip" : "panning", "scale" : "linear", "type" : "i", - "range" : [1,3], - "default" : "1" + "range" : [0,127], + "default" : "64" }, { - "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Pstrings", - "shortname": "str", - "name" : "Pstrings", - "tooltip" : "Number of Strings", + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Pdrive", + "shortname": "drive", + "name" : "Pdrive", + "tooltip" : "Drive of Hysteresis", "scale" : "linear", "type" : "i", - "range" : [0,76], - "default" : "0" - + "range" : [0,127] }, { - "path" : "/part[0,15]/partefx[0,2]/Sympathetic/Pbasenote", - "shortname": "base", - "name" : "Pbasenote", - "tooltip" : "Midi Note of Lowest String", + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Premanence", + "shortname": "rem", + "name" : "Premanence", + "tooltip" : "Remanence of Hysteresis", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "57" - + "range" : [0,127] }, { - "path" : "/part[0,15]/partefx[0,2]/Sympathetic/freqs[0,87]", - "name" : "freqs#88", - "tooltip" : "String Frequencies", + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Pcoercivity", + "shortname": "coerc", + "name" : "Pcoercivity", + "tooltip" : "Coercivity of Hysteresis", "scale" : "linear", - "type" : "f", - "range" : [27.50f,4186.01f] + "type" : "i", + "range" : [0,127] }, { "path" : "/part[0,15]/ctl/panning.depth", @@ -11807,6 +12092,14 @@ } ] }, + { + "path" : "/sysefx[0,3]/preset", + "name" : "preset", + "tooltip" : "Effect Preset Selector", + "type" : "i", + "default" : "0" + + }, { "path" : "/sysefx[0,3]/filterpars/Pcategory", "shortname": "class", @@ -12020,6 +12313,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/sysefx[0,3]/filterpars/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/sysefx[0,3]/filterpars/type-svf", @@ -12094,7 +12396,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/sysefx[0,3]/filterpars/Pvowels[0,5]/Pformants[0,11]/amp", @@ -12142,14 +12446,6 @@ "type" : "i", "range" : [0,127] }, - { - "path" : "/sysefx[0,3]/preset", - "name" : "preset", - "tooltip" : "Effect Preset Selector", - "type" : "i", - "default" : "0" - - }, { "path" : "/sysefx[0,3]/numerator", "shortname": "num", @@ -12219,6 +12515,10 @@ { "id" : 9, "value" : "Sympathetic" + }, + { + "id" : 10, + "value" : "Hysteresis" } ] }, @@ -12227,6 +12527,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -12254,7 +12556,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "127" + "default" : "63" }, { @@ -12370,6 +12672,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -12542,6 +12846,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -12774,7 +13080,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "110" + "default" : "55" }, { @@ -12883,6 +13189,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -13001,7 +13309,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "50" + "default" : "67" }, { @@ -13100,6 +13408,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -13329,6 +13639,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -13461,12 +13773,10 @@ "path" : "/sysefx[0,3]/Reverb/Plohidamp", "shortname": "damp", "name" : "Plohidamp", - "tooltip" : ":default 0", + "tooltip" : "Dampening", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "0" - + "range" : [0,127] }, { "path" : "/sysefx[0,3]/Reverb/Ptype", @@ -13518,6 +13828,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -13548,9 +13860,7 @@ "tooltip" : "amount of effect", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "127" - + "range" : [0,127] }, { "path" : "/sysefx[0,3]/Sympathetic/Ppanning", @@ -13656,9 +13966,7 @@ "tooltip" : "Number of Strings", "scale" : "linear", "type" : "i", - "range" : [0,76], - "default" : "0" - + "range" : [0,76] }, { "path" : "/sysefx[0,3]/Sympathetic/Pbasenote", @@ -13667,9 +13975,7 @@ "tooltip" : "Midi Note of Lowest String", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "57" - + "range" : [0,127] }, { "path" : "/sysefx[0,3]/Sympathetic/freqs[0,87]", @@ -13679,6 +13985,79 @@ "type" : "f", "range" : [27.50f,4186.01f] }, + { + "path" : "/sysefx[0,3]/Hysteresis/preset", + "name" : "preset", + "tooltip" : "Instrument Presets", + "type" : "i", + "options" : [ + { + "id" : 0, + "value" : "Hysteresis 1" + }, + { + "id" : 1, + "value" : "Hysteresis 2" + } + ] + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Pvolume", + "shortname": "amt", + "name" : "Pvolume", + "tooltip" : "amount of effect", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "64" + + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Ppanning", + "shortname": "pan", + "name" : "Ppanning", + "tooltip" : "panning", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "64" + + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Pdrive", + "shortname": "drive", + "name" : "Pdrive", + "tooltip" : "Drive of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Premanence", + "shortname": "rem", + "name" : "Premanence", + "tooltip" : "Remanence of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Pcoercivity", + "shortname": "coerc", + "name" : "Pcoercivity", + "tooltip" : "Coercivity of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/insefx[0,7]/preset", + "name" : "preset", + "tooltip" : "Effect Preset Selector", + "type" : "i", + "default" : "0" + + }, { "path" : "/insefx[0,7]/filterpars/Pcategory", "shortname": "class", @@ -13892,6 +14271,15 @@ "type" : "t", "default" : "false" + }, + { + "path" : "/insefx[0,7]/filterpars/vowel_seq[0,7]", + "shortname": "vowel", + "name" : "vowel_seq#8", + "tooltip" : "Vowel number of this sequence position", + "type" : "i", + "default" : "[0 1 2 3 4 5 0 1]" + }, { "path" : "/insefx[0,7]/filterpars/type-svf", @@ -13966,7 +14354,9 @@ "name" : "freq", "tooltip" : "Formant frequency", "type" : "i", - "range" : [0,127] + "range" : [0,127], + "default" : "128" + }, { "path" : "/insefx[0,7]/filterpars/Pvowels[0,5]/Pformants[0,11]/amp", @@ -14014,14 +14404,6 @@ "type" : "i", "range" : [0,127] }, - { - "path" : "/insefx[0,7]/preset", - "name" : "preset", - "tooltip" : "Effect Preset Selector", - "type" : "i", - "default" : "0" - - }, { "path" : "/insefx[0,7]/numerator", "shortname": "num", @@ -14091,6 +14473,10 @@ { "id" : 9, "value" : "Sympathetic" + }, + { + "id" : 10, + "value" : "Hysteresis" } ] }, @@ -14099,6 +14485,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -14126,7 +14514,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "127" + "default" : "63" }, { @@ -14242,6 +14630,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -14414,6 +14804,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -14646,7 +15038,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "110" + "default" : "55" }, { @@ -14755,6 +15147,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -14873,7 +15267,7 @@ "scale" : "linear", "type" : "i", "range" : [0,127], - "default" : "50" + "default" : "67" }, { @@ -14972,6 +15366,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -15201,6 +15597,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -15333,12 +15731,10 @@ "path" : "/insefx[0,7]/Reverb/Plohidamp", "shortname": "damp", "name" : "Plohidamp", - "tooltip" : ":default 0", + "tooltip" : "Dampening", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "0" - + "range" : [0,127] }, { "path" : "/insefx[0,7]/Reverb/Ptype", @@ -15390,6 +15786,8 @@ "name" : "preset", "tooltip" : "Instrument Presets", "type" : "i", + "default" : "0" +, "options" : [ { "id" : 0, @@ -15420,9 +15818,7 @@ "tooltip" : "amount of effect", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "127" - + "range" : [0,127] }, { "path" : "/insefx[0,7]/Sympathetic/Ppanning", @@ -15528,9 +15924,7 @@ "tooltip" : "Number of Strings", "scale" : "linear", "type" : "i", - "range" : [0,76], - "default" : "0" - + "range" : [0,76] }, { "path" : "/insefx[0,7]/Sympathetic/Pbasenote", @@ -15539,9 +15933,7 @@ "tooltip" : "Midi Note of Lowest String", "scale" : "linear", "type" : "i", - "range" : [0,127], - "default" : "57" - + "range" : [0,127] }, { "path" : "/insefx[0,7]/Sympathetic/freqs[0,87]", @@ -15551,6 +15943,71 @@ "type" : "f", "range" : [27.50f,4186.01f] }, + { + "path" : "/insefx[0,7]/Hysteresis/preset", + "name" : "preset", + "tooltip" : "Instrument Presets", + "type" : "i", + "options" : [ + { + "id" : 0, + "value" : "Hysteresis 1" + }, + { + "id" : 1, + "value" : "Hysteresis 2" + } + ] + }, + { + "path" : "/insefx[0,7]/Hysteresis/Pvolume", + "shortname": "amt", + "name" : "Pvolume", + "tooltip" : "amount of effect", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "64" + + }, + { + "path" : "/insefx[0,7]/Hysteresis/Ppanning", + "shortname": "pan", + "name" : "Ppanning", + "tooltip" : "panning", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "64" + + }, + { + "path" : "/insefx[0,7]/Hysteresis/Pdrive", + "shortname": "drive", + "name" : "Pdrive", + "tooltip" : "Drive of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/insefx[0,7]/Hysteresis/Premanence", + "shortname": "rem", + "name" : "Premanence", + "tooltip" : "Remanence of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, + { + "path" : "/insefx[0,7]/Hysteresis/Pcoercivity", + "shortname": "coerc", + "name" : "Pcoercivity", + "tooltip" : "Coercivity of Hysteresis", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, { "path" : "/microtonal/Pinvertupdown", "shortname": "inv.", @@ -15661,9 +16118,7 @@ "path" : "/microtonal/Pmapping[0,127]", "name" : "Pmapping#128", "tooltip" : "Mapping of keys", - "type" : "i", - "default" : "[0 1 ...]" - + "type" : "i" }, { "path" : "/microtonal/Pglobalfinedetune", @@ -16068,7 +16523,7 @@ "scale" : "linear", "type" : "f", "range" : [-40.0f,13.3333f], - "default" : "-6.66667f" + "default" : "-6.67 (-0x1.aaaaacp+2)" }, { @@ -16113,7 +16568,7 @@ "scale" : "linear", "type" : "f", "range" : [0,1], - "default" : "0.5" + "default" : "0.f" }, { @@ -16143,7 +16598,7 @@ "name" : "active", "tooltip" : "If Slot is enabled", "type" : "t", - "default" : "F" + "default" : "false" }, { @@ -16181,7 +16636,7 @@ "scale" : "linear", "type" : "f", "range" : [-50,50], - "default" : "0" + "default" : "0.0" }, { @@ -16193,7 +16648,7 @@ "scale" : "linear", "type" : "f", "range" : [-200,200], - "default" : "100" + "default" : "100.0" }, { From d11d0e5aecb287acda35acd51b590facb93d2ffa Mon Sep 17 00:00:00 2001 From: Friedolino Date: Sun, 28 Apr 2024 10:50:52 +0200 Subject: [PATCH 2/7] try to add graph to hysteresis effekt. --- src/mruby-zest/example/ZynHysteresis.qml | 75 ++++++++++++++++++------ 1 file changed, 57 insertions(+), 18 deletions(-) diff --git a/src/mruby-zest/example/ZynHysteresis.qml b/src/mruby-zest/example/ZynHysteresis.qml index 4c063857..9c616ba3 100644 --- a/src/mruby-zest/example/ZynHysteresis.qml +++ b/src/mruby-zest/example/ZynHysteresis.qml @@ -1,28 +1,67 @@ -Group { +Widget { id: hysteresis label: "hysteresis" topSize: 0.2 - function refresh() { - return if rw.content.nil? - return if rw.content.children.length < 4 - rw.content.children[4..-1].each do |c| - c.refresh + function refresh_recur(x) { + #@@recur_level ||= 0 + #@@recur_level += 1 + #print " "*@@recur_level + #puts "Distort refresh = {#{x.class}} of {#{dst.class}}" + x.children.each do |xx| + #print " "*(@@recur_level+1) + #puts "child = #{xx.class}" + xx.refresh() if xx.respond_to? :refresh + dst.refresh_recur(xx) end + #@@recur_level -= 1 + } + function refresh() { + refresh_recur(self) + } + GroupHeader { + label: "Hysteresis" + extern: hysteresis.extern + copyable: true } - ParModuleRow { - id: rw - layoutOpts: [] - Selector { - layoutOpts: [:long_mode] - extern: hysteresis.extern + "Hysteresis/preset" - whenValue: lambda { hysteresis.refresh } + Widget { + WaveView { + id: wave + extern: hysteresis.extern + "Hysteresis/waveform" } - Knob { extern: hysteresis.extern + "Pvolume"} - Knob { extern: hysteresis.extern + "Ppanning"} - Knob { extern: hysteresis.extern + "Hysteresis/Pdrive" } - Knob { extern: hysteresis.extern + "Hysteresis/Premanence" } - Knob { extern: hysteresis.extern + "Hysteresis/Pcoercivity" } + Widget { + ParModuleRow { + id: rw + layoutOpts: [] + Selector { + layoutOpts: [:long_mode] + extern: hysteresis.extern + "Hysteresis/preset" + whenValue: lambda { hysteresis.refresh } + } + Knob { extern: hysteresis.extern + "Pvolume"} + Knob { extern: hysteresis.extern + "Ppanning"} + ToggleButton { label: "Stereo"; extern: hysteresis.extern + "Hysteresis/PStereo" } + + } + ParModuleRow { + id: rw2 + layoutOpts: [] + Knob { extern: hysteresis.extern + "Hysteresis/Pdrive" } + Knob { extern: hysteresis.extern + "Hysteresis/Pcoercivity" } + Knob { extern: hysteresis.extern + "Hysteresis/Premanence" } + Knob { extern: hysteresis.extern + "Hysteresis/Plevel" } + } + function layout(l, selfBox) { + Draw::Layout::vpack(l, selfBox, children) + } + } + + function layout(l, selfBox) { + Draw::Layout::hpack(l, selfBox, children) + } + } + function layout(l, selfBox) { + Draw::Layout::vfill(l, selfBox, children, [0.15, 0.85]) } } From 860d8ac9f54222a206b228bb0cd569c8cd371381 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Mon, 29 Apr 2024 11:41:20 +0200 Subject: [PATCH 3/7] add x-y-plot to hysteresis effect --- src/mruby-zest/example/HystDataView.qml | 21 ++++++++ src/mruby-zest/example/HysteresisView.qml | 58 ++++++++++++++++++++++ src/mruby-zest/example/ZynHysteresis.qml | 53 ++++++++++++++------ src/mruby-zest/mrblib/draw-common.rb | 39 +++++++++++++++ src/osc-bridge/schema/test.json | 60 +++++++++++++++++++++++ 5 files changed, 217 insertions(+), 14 deletions(-) create mode 100644 src/mruby-zest/example/HystDataView.qml create mode 100644 src/mruby-zest/example/HysteresisView.qml diff --git a/src/mruby-zest/example/HystDataView.qml b/src/mruby-zest/example/HystDataView.qml new file mode 100644 index 00000000..609fb13b --- /dev/null +++ b/src/mruby-zest/example/HystDataView.qml @@ -0,0 +1,21 @@ +Widget { + layer: 1 + property Array data: nil; + property Bool normal: false + property Float pad: 1.0/32 + property Float fixedpad: 0 + property Bool under_highlight: false + + function class_name() { "HystDataView" } + + function draw(vg) + { + pad2 = (1-2*pad) + box = Rect.new(w*pad + fixedpad, h*pad + fixedpad, + w*pad2 - 2*fixedpad, h*pad2 - 2*fixedpad) + + Draw::WaveForm::plotHyst(vg, self.data, box, normal, 0, under_highlight) if not self.data.nil? + + } +} + diff --git a/src/mruby-zest/example/HysteresisView.qml b/src/mruby-zest/example/HysteresisView.qml new file mode 100644 index 00000000..bd3815a8 --- /dev/null +++ b/src/mruby-zest/example/HysteresisView.qml @@ -0,0 +1,58 @@ +Widget { + id: hyst_view + property Bool grid: true; + property Bool draw_borders: false + property Object valueRef: nil + property Float pad: 1.0/32 + function class_name() { "HysteresisView" } + + onExtern: { + data = OSC::RemoteParam.new($remote, hyst_view.extern) + data.callback = lambda {|x| + hystdata_view.data = x + hystdata_view.damage_self + } + + hyst_view.valueRef = [data] + + } + + HystDataView { + id: hystdata_view + } + + function draw(vg) + { + pad2 = (1-2*pad) + box = Rect.new(w*pad, h*pad, w*pad2, h*pad2) + background Theme::VisualBackground + + if(grid) + Draw::Grid::linear_x(vg,0,10,box, 1.0) + Draw::Grid::linear_y(vg,0,10,box, 1.0) + end + + if(draw_borders) + vg.translate(0.5, 0.5) + vg.path do |v| + v.stroke_width = 1 + v.stroke_color = Theme::GridLine + v.rounded_rect(box.x.round(), box.y.round(), box.w.round(), box.h.round(), 2) + v.stroke() + end + vg.translate(-0.5, -0.5) + end + + if(extern.nil? || extern.empty?) + Draw::WaveForm::sin(vg, box, 128) + end + } + + function refresh() + { + return if self.valueRef.nil? + self.valueRef.each do |v| + v.refresh + end + } +} diff --git a/src/mruby-zest/example/ZynHysteresis.qml b/src/mruby-zest/example/ZynHysteresis.qml index 9c616ba3..78e3cb99 100644 --- a/src/mruby-zest/example/ZynHysteresis.qml +++ b/src/mruby-zest/example/ZynHysteresis.qml @@ -1,17 +1,17 @@ Widget { id: hysteresis - label: "hysteresis" - topSize: 0.2 + //label: "hysteresis" + //topSize: 0.2 function refresh_recur(x) { #@@recur_level ||= 0 #@@recur_level += 1 #print " "*@@recur_level - #puts "Distort refresh = {#{x.class}} of {#{dst.class}}" + #puts "hysteresis refresh = {#{x.class}} of {#{hysteresis.class}}" x.children.each do |xx| #print " "*(@@recur_level+1) #puts "child = #{xx.class}" xx.refresh() if xx.respond_to? :refresh - dst.refresh_recur(xx) + hysteresis.refresh_recur(xx) end #@@recur_level -= 1 } @@ -25,7 +25,7 @@ Widget { } Widget { - WaveView { + HysteresisView { id: wave extern: hysteresis.extern + "Hysteresis/waveform" } @@ -33,22 +33,47 @@ Widget { ParModuleRow { id: rw layoutOpts: [] - Selector { - layoutOpts: [:long_mode] - extern: hysteresis.extern + "Hysteresis/preset" - whenValue: lambda { hysteresis.refresh } + Knob { extern: hysteresis.extern + "Pvolume" + whenValue: lambda {wave.refresh}; + function setValue(v) { + valuator.value = lim(v, 0.0, 1.0); + valuator.whenValue.call; + valuator.damage_self + } } - Knob { extern: hysteresis.extern + "Pvolume"} Knob { extern: hysteresis.extern + "Ppanning"} ToggleButton { label: "Stereo"; extern: hysteresis.extern + "Hysteresis/PStereo" } - } ParModuleRow { id: rw2 layoutOpts: [] - Knob { extern: hysteresis.extern + "Hysteresis/Pdrive" } - Knob { extern: hysteresis.extern + "Hysteresis/Pcoercivity" } - Knob { extern: hysteresis.extern + "Hysteresis/Premanence" } + Knob { extern: hysteresis.extern + "Hysteresis/Pdrive" + whenValue: lambda {wave.refresh}; + function setValue(v) { + valuator.value = lim(v, 0.0, 1.0); + valuator.whenValue.call; + valuator.damage_self + } + } + Knob { + extern: hysteresis.extern + "Hysteresis/Pcoercivity"; label: "coercivity"; + whenValue: lambda {wave.refresh}; + function setValue(v) { + valuator.value = lim(v, 0.0, 1.0); + valuator.whenValue.call; + valuator.damage_self + } + } + + Knob { + extern: hysteresis.extern + "Hysteresis/Premanence"; label: "remanence"; + whenValue: lambda {wave.refresh}; + function setValue(v) { + valuator.value = lim(v, 0.0, 1.0); + valuator.whenValue.call; + valuator.damage_self + } + } Knob { extern: hysteresis.extern + "Hysteresis/Plevel" } } diff --git a/src/mruby-zest/mrblib/draw-common.rb b/src/mruby-zest/mrblib/draw-common.rb index 5ace95f6..bcadd130 100644 --- a/src/mruby-zest/mrblib/draw-common.rb +++ b/src/mruby-zest/mrblib/draw-common.rb @@ -47,6 +47,45 @@ def self.plot(vg, ypts, bb, do_norm=true, phase=0, under_highlight=false) v.stroke end end + + def self.plotHyst(vg, ypts, bb, do_norm=true, phase=0, under_highlight=false) + ypts = DSP::normalize(ypts) if do_norm + vg.path do |v| + + x_m = bb.w + x_b = bb.x + + y_m = -bb.h/2 + y_b = bb.y+bb.h/2 + mx = bb.y+bb.h + mn = bb.y + + ypos = y_m*ypts[0] + y_b + ypos = [mn, [ypos, mx].min].max + xpos = x_m/2 + x_b + #puts "ypts[0]: " + ypts[0].to_s + #puts "i: 0 x: " + (xpos - x_b).to_s + " y: " + (ypos - y_b).to_s + vg.move_to(xpos, ypos) + + n = ypts.length + (1...n).each do |pt| + ii = pt + ypos = y_m*ypts[ii] + y_b + ypos = mx if ypos > mx + ypos = mn if ypos < mn + + xpos = x_m/2 + x_m/2*(pt-256)/64 + x_b + xpos = x_m - x_m/2*(pt-64) /64 + x_b if pt < 192 + xpos = x_m/2 + x_m/2*pt /64 + x_b if pt < 64 + #puts "i: " + pt.to_s + " x: " + (xpos - x_b).to_s + " y:" + (ypos - y_b).to_s + + vg.line_to(xpos, ypos) + end + v.stroke_color Theme::VisualLine + v.stroke_width 2.0 + v.stroke + end + end def self.bar(vg, data, bb, bar_color, xx=nil) Draw::opt_bar(vg, data, bb, bar_color, xx) diff --git a/src/osc-bridge/schema/test.json b/src/osc-bridge/schema/test.json index 216870be..d88f5826 100644 --- a/src/osc-bridge/schema/test.json +++ b/src/osc-bridge/schema/test.json @@ -10464,6 +10464,10 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualTan" } ] }, @@ -11514,6 +11518,22 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Pstereo", + "shortname": "stereo", + "name" : "Pstereo", + "tooltip" : "Stereo", + "type" : "t" + }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Plevel", + "shortname": "output", + "name" : "Plevel", + "tooltip" : "Output amplification", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, { "path" : "/part[0,15]/ctl/panning.depth", "shortname": "pan.d", @@ -13000,6 +13020,10 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualTan" } ] }, @@ -14050,6 +14074,22 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/sysefx[0,3]/Hysteresis/Pstereo", + "shortname": "stereo", + "name" : "Pstereo", + "tooltip" : "Stereo", + "type" : "t" + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Plevel", + "shortname": "output", + "name" : "Plevel", + "tooltip" : "Output amplification", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, { "path" : "/insefx[0,7]/preset", "name" : "preset", @@ -14958,6 +14998,10 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualTan" } ] }, @@ -16008,6 +16052,22 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/insefx[0,7]/Hysteresis/Pstereo", + "shortname": "stereo", + "name" : "Pstereo", + "tooltip" : "Stereo", + "type" : "t" + }, + { + "path" : "/insefx[0,7]/Hysteresis/Plevel", + "shortname": "output", + "name" : "Plevel", + "tooltip" : "Output amplification", + "scale" : "linear", + "type" : "i", + "range" : [0,127] + }, { "path" : "/microtonal/Pinvertupdown", "shortname": "inv.", From 9229694906d959b39ae9571041114ce359f2d304 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Mon, 29 Apr 2024 20:37:10 +0200 Subject: [PATCH 4/7] make hysteresis effect panel larger --- src/mruby-zest/example/ZynEffectGroup.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mruby-zest/example/ZynEffectGroup.qml b/src/mruby-zest/example/ZynEffectGroup.qml index d46a614b..e8a6c5e0 100644 --- a/src/mruby-zest/example/ZynEffectGroup.qml +++ b/src/mruby-zest/example/ZynEffectGroup.qml @@ -260,7 +260,7 @@ Widget { :echo => 1, :phaser => 2, :sympathetic => 1, - :hysteresis => 1, + :hysteresis => 2, :reverb => 1} mapper[type] } From d38719a89386a5c02bffd2d55c9c8f8b95d7a780 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Mon, 29 Apr 2024 21:34:45 +0200 Subject: [PATCH 5/7] add filter --- src/mruby-zest/example/ZynHysteresis.qml | 10 +- src/osc-bridge/schema/test.json | 162 +++++++++++++++++++++-- 2 files changed, 158 insertions(+), 14 deletions(-) diff --git a/src/mruby-zest/example/ZynHysteresis.qml b/src/mruby-zest/example/ZynHysteresis.qml index 78e3cb99..eebf19ed 100644 --- a/src/mruby-zest/example/ZynHysteresis.qml +++ b/src/mruby-zest/example/ZynHysteresis.qml @@ -42,7 +42,9 @@ Widget { } } Knob { extern: hysteresis.extern + "Ppanning"} - ToggleButton { label: "Stereo"; extern: hysteresis.extern + "Hysteresis/PStereo" } + Knob { extern: hysteresis.extern + "Hysteresis/Plpf"} + Knob { extern: hysteresis.extern + "Hysteresis/Phpf"} + Knob { extern: hysteresis.extern + "Hysteresis/Plevel" } } ParModuleRow { id: rw2 @@ -74,7 +76,11 @@ Widget { valuator.damage_self } } - Knob { extern: hysteresis.extern + "Hysteresis/Plevel" } + + Col { + ToggleButton { extern: hysteresis.extern + "Hysteresis/Pprefiltering"} + ToggleButton { extern: hysteresis.extern + "Hysteresis/Pstereo"} + } } function layout(l, selfBox) { diff --git a/src/osc-bridge/schema/test.json b/src/osc-bridge/schema/test.json index d88f5826..48ee5aa5 100644 --- a/src/osc-bridge/schema/test.json +++ b/src/osc-bridge/schema/test.json @@ -1367,6 +1367,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -5785,6 +5797,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -7840,6 +7864,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -9394,6 +9430,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -9851,6 +9899,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -10464,10 +10524,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualTan" } ] }, @@ -11534,6 +11590,28 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Plpf", + "shortname": "lpf", + "name" : "Plpf", + "tooltip" : "Low Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "127" + + }, + { + "path" : "/part[0,15]/partefx[0,2]/Hysteresis/Phpf", + "shortname": "hpf", + "name" : "Phpf", + "tooltip" : "High Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "0" + + }, { "path" : "/part[0,15]/ctl/panning.depth", "shortname": "pan.d", @@ -12407,6 +12485,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -13020,10 +13110,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualTan" } ] }, @@ -14090,6 +14176,28 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/sysefx[0,3]/Hysteresis/Plpf", + "shortname": "lpf", + "name" : "Plpf", + "tooltip" : "Low Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "127" + + }, + { + "path" : "/sysefx[0,3]/Hysteresis/Phpf", + "shortname": "hpf", + "name" : "Phpf", + "tooltip" : "High Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "0" + + }, { "path" : "/insefx[0,7]/preset", "name" : "preset", @@ -14385,6 +14493,18 @@ { "id" : 2, "value" : "both" + }, + { + "id" : 3, + "value" : "BWDN" + }, + { + "id" : 4, + "value" : "FWDN" + }, + { + "id" : 5, + "value" : "bothN" } ] }, @@ -14998,10 +15118,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualTan" } ] }, @@ -16068,6 +16184,28 @@ "type" : "i", "range" : [0,127] }, + { + "path" : "/insefx[0,7]/Hysteresis/Plpf", + "shortname": "lpf", + "name" : "Plpf", + "tooltip" : "Low Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "127" + + }, + { + "path" : "/insefx[0,7]/Hysteresis/Phpf", + "shortname": "hpf", + "name" : "Phpf", + "tooltip" : "High Pass Cutoff", + "scale" : "linear", + "type" : "i", + "range" : [0,127], + "default" : "0" + + }, { "path" : "/microtonal/Pinvertupdown", "shortname": "inv.", From cc033a803af82ba17984675351cf62015c9816d3 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Tue, 11 Jun 2024 22:15:21 +0200 Subject: [PATCH 6/7] add to json --- src/mruby-zest/example/ZynHysteresis.qml | 3 +- src/osc-bridge/schema/test.json | 60 ++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/src/mruby-zest/example/ZynHysteresis.qml b/src/mruby-zest/example/ZynHysteresis.qml index eebf19ed..a3aa9c8c 100644 --- a/src/mruby-zest/example/ZynHysteresis.qml +++ b/src/mruby-zest/example/ZynHysteresis.qml @@ -57,8 +57,9 @@ Widget { valuator.damage_self } } + Knob { - extern: hysteresis.extern + "Hysteresis/Pcoercivity"; label: "coercivity"; + extern: hysteresis.extern + "Hysteresis/Pcoercivity"; label: "coerciv"; whenValue: lambda {wave.refresh}; function setValue(v) { valuator.value = lim(v, 0.0, 1.0); diff --git a/src/osc-bridge/schema/test.json b/src/osc-bridge/schema/test.json index 48ee5aa5..a1a11c28 100644 --- a/src/osc-bridge/schema/test.json +++ b/src/osc-bridge/schema/test.json @@ -2021,6 +2021,14 @@ { "id" : 17, "value" : "Square" + }, + { + "id" : 18, + "value" : "DualCos" + }, + { + "id" : 19, + "value" : "Coerc" } ] }, @@ -3199,6 +3207,14 @@ { "id" : 17, "value" : "Square" + }, + { + "id" : 18, + "value" : "DualCos" + }, + { + "id" : 19, + "value" : "Coerc" } ] }, @@ -3840,6 +3856,14 @@ { "id" : 17, "value" : "Square" + }, + { + "id" : 18, + "value" : "DualCos" + }, + { + "id" : 19, + "value" : "Coerc" } ] }, @@ -10524,6 +10548,18 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualCos" + }, + { + "id" : 18, + "value" : "Coerc" + }, + { + "id" : 19, + "value" : "DualTanh" } ] }, @@ -13110,6 +13146,18 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualCos" + }, + { + "id" : 18, + "value" : "Coerc" + }, + { + "id" : 19, + "value" : "DualTanh" } ] }, @@ -15118,6 +15166,18 @@ { "id" : 16, "value" : "Square" + }, + { + "id" : 17, + "value" : "DualCos" + }, + { + "id" : 18, + "value" : "Coerc" + }, + { + "id" : 19, + "value" : "DualTanh" } ] }, From ffeace37c80484d8e21696d799416c750b2ec497 Mon Sep 17 00:00:00 2001 From: Friedolino Date: Sat, 29 Jun 2024 14:53:04 +0200 Subject: [PATCH 7/7] fix json --- src/osc-bridge/schema/test.json | 60 --------------------------------- 1 file changed, 60 deletions(-) diff --git a/src/osc-bridge/schema/test.json b/src/osc-bridge/schema/test.json index a1a11c28..48ee5aa5 100644 --- a/src/osc-bridge/schema/test.json +++ b/src/osc-bridge/schema/test.json @@ -2021,14 +2021,6 @@ { "id" : 17, "value" : "Square" - }, - { - "id" : 18, - "value" : "DualCos" - }, - { - "id" : 19, - "value" : "Coerc" } ] }, @@ -3207,14 +3199,6 @@ { "id" : 17, "value" : "Square" - }, - { - "id" : 18, - "value" : "DualCos" - }, - { - "id" : 19, - "value" : "Coerc" } ] }, @@ -3856,14 +3840,6 @@ { "id" : 17, "value" : "Square" - }, - { - "id" : 18, - "value" : "DualCos" - }, - { - "id" : 19, - "value" : "Coerc" } ] }, @@ -10548,18 +10524,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualCos" - }, - { - "id" : 18, - "value" : "Coerc" - }, - { - "id" : 19, - "value" : "DualTanh" } ] }, @@ -13146,18 +13110,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualCos" - }, - { - "id" : 18, - "value" : "Coerc" - }, - { - "id" : 19, - "value" : "DualTanh" } ] }, @@ -15166,18 +15118,6 @@ { "id" : 16, "value" : "Square" - }, - { - "id" : 17, - "value" : "DualCos" - }, - { - "id" : 18, - "value" : "Coerc" - }, - { - "id" : 19, - "value" : "DualTanh" } ] },