@openmixer/omx-contract 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -3
- package/data/kernels/comp.json +31 -0
- package/data/kernels/delay.json +16 -0
- package/data/kernels/drive.json +44 -0
- package/data/kernels/eq.json +105 -49
- package/data/kernels/geq.json +2 -1
- package/data/kernels/limiter.json +1 -0
- package/dist/ts/omx-contract.d.ts +84 -30
- package/dist/ts/omx-contract.js +120 -37
- package/include/omxcontract/omx_contract_limits.h +55 -0
- package/lib/data.mjs +67 -4
- package/lib/fmt.mjs +1 -1
- package/lib/validate.mjs +41 -4
- package/package.json +1 -1
- package/render/json.mjs +6 -2
- package/schema/omx-contract.schema.json +2 -2
- package/share/omx-contract/omx-contract.json +872 -50
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmixer/omx-contract",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"items": {
|
|
5
5
|
"PAN_RANGE": {
|
|
6
6
|
"rel": "data/kernels/balance.json",
|
|
@@ -269,6 +269,36 @@
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
},
|
|
272
|
+
"COMP_KINDS": {
|
|
273
|
+
"rel": "data/kernels/comp.json",
|
|
274
|
+
"kind": "set",
|
|
275
|
+
"doc": "The compressor's character, which picks its detector: `comp` runs the RMS detector, `limiter` the peak detector. The console's comp row carries it (`CompState.kind`, `COMP_KINDS`) and comes up as `comp`.",
|
|
276
|
+
"default": "comp",
|
|
277
|
+
"labels": [
|
|
278
|
+
"Compressor",
|
|
279
|
+
"Limiter"
|
|
280
|
+
],
|
|
281
|
+
"value": [
|
|
282
|
+
"comp",
|
|
283
|
+
"limiter"
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
"DETECTOR_OVERSAMPLINGS": {
|
|
287
|
+
"rel": "data/kernels/comp.json",
|
|
288
|
+
"kind": "set",
|
|
289
|
+
"doc": "The compressor's detector oversampling: `auto` runs the control path at 4x only while the attack is faster than DETECTOR_OVERSAMPLE_AUTO_MS, `off` never, `x4` always (omx-dsp's OMX_DYN_OVS_AUTO, _OFF and _X4, in that order). The console's comp row carries it as the operator's choice (`CompState.detectorOversampling`, spelled auto, off, 4x) and comes up `auto`.",
|
|
290
|
+
"default": "auto",
|
|
291
|
+
"labels": [
|
|
292
|
+
"Auto",
|
|
293
|
+
"Off",
|
|
294
|
+
"4x"
|
|
295
|
+
],
|
|
296
|
+
"value": [
|
|
297
|
+
"auto",
|
|
298
|
+
"off",
|
|
299
|
+
"x4"
|
|
300
|
+
]
|
|
301
|
+
},
|
|
272
302
|
"PROGRAM_RELEASE": {
|
|
273
303
|
"rel": "data/kernels/comp.json",
|
|
274
304
|
"kind": "sheet",
|
|
@@ -465,6 +495,20 @@
|
|
|
465
495
|
}
|
|
466
496
|
}
|
|
467
497
|
},
|
|
498
|
+
"DELAY_PINGPONGS": {
|
|
499
|
+
"rel": "data/kernels/delay.json",
|
|
500
|
+
"kind": "set",
|
|
501
|
+
"doc": "The FX delay's PING-PONG switch: on cross-feeds the two legs' feedback, so each leg's repeats come from the other leg's damped tap and the echoes bounce L<->R (`omx_delay.h`'s `struct omx_fx_delay.pingpong`, read where the feedback is formed). A live control on the console's delay row (`DelayState.pingpong`) and on the omx-delay plugin. Its come-up value is FX_DELAY_PINGPONG_DEFAULT, by reference, so the default keeps one home.",
|
|
502
|
+
"default": "off",
|
|
503
|
+
"labels": [
|
|
504
|
+
"Off",
|
|
505
|
+
"On"
|
|
506
|
+
],
|
|
507
|
+
"value": [
|
|
508
|
+
"off",
|
|
509
|
+
"on"
|
|
510
|
+
]
|
|
511
|
+
},
|
|
468
512
|
"FX_DELAY_PINGPONG_DEFAULT": {
|
|
469
513
|
"rel": "data/kernels/delay.json",
|
|
470
514
|
"kind": "scalar",
|
|
@@ -594,6 +638,50 @@
|
|
|
594
638
|
"tilt"
|
|
595
639
|
]
|
|
596
640
|
},
|
|
641
|
+
"DRIVE_AUTO_GAINS": {
|
|
642
|
+
"rel": "data/kernels/drive.json",
|
|
643
|
+
"kind": "set",
|
|
644
|
+
"doc": "The drive's AUTO-GAIN switch: on, the stage measures its own level change and matches it out (`omx_drive.h`'s `struct omx_drive.auto_gain`, drive-stage spec §4d), so turning the drive up adds colour rather than loudness. A field of the console's drive row (`DriveState.autoGain`), on at come-up there and in omx-dsp's drive face.",
|
|
645
|
+
"default": "on",
|
|
646
|
+
"labels": [
|
|
647
|
+
"Off",
|
|
648
|
+
"On"
|
|
649
|
+
],
|
|
650
|
+
"value": [
|
|
651
|
+
"off",
|
|
652
|
+
"on"
|
|
653
|
+
]
|
|
654
|
+
},
|
|
655
|
+
"DRIVE_STEREO_LINKS": {
|
|
656
|
+
"rel": "data/kernels/drive.json",
|
|
657
|
+
"kind": "set",
|
|
658
|
+
"doc": "The drive's STEREO LINK switch: on, ONE auto-gain path is driven by both legs' summed energy, so the image cannot shift under the level match; off, each leg matches its own (`omx_drive.h`'s `struct omx_drive.stereo_link`, spec §4e). A field of the console's drive row (`DriveState.stereoLink`), on at come-up there and in omx-dsp's drive face.",
|
|
659
|
+
"default": "on",
|
|
660
|
+
"labels": [
|
|
661
|
+
"Off",
|
|
662
|
+
"On"
|
|
663
|
+
],
|
|
664
|
+
"value": [
|
|
665
|
+
"off",
|
|
666
|
+
"on"
|
|
667
|
+
]
|
|
668
|
+
},
|
|
669
|
+
"DRIVE_HF_ROLLOFFS": {
|
|
670
|
+
"rel": "data/kernels/drive.json",
|
|
671
|
+
"kind": "set",
|
|
672
|
+
"doc": "The drive's post-curve HIGH-FREQUENCY ROLL-OFF corner, in Hz: the id is the corner, and 0 names no roll-off (the section does not run: `omx_drive.h`'s `struct omx_drive.hf_on` is 0). The console's drive row offers off, 12000 and 16000 (`DriveState.hfRolloff`, `DRIVE_HF_ROLLOFFS`) and comes up off, as omx-dsp's drive face does.",
|
|
673
|
+
"default": 0,
|
|
674
|
+
"labels": [
|
|
675
|
+
"Off",
|
|
676
|
+
"12 kHz",
|
|
677
|
+
"16 kHz"
|
|
678
|
+
],
|
|
679
|
+
"value": [
|
|
680
|
+
0,
|
|
681
|
+
12000,
|
|
682
|
+
16000
|
|
683
|
+
]
|
|
684
|
+
},
|
|
597
685
|
"DRIVE_BIAS_MAX": {
|
|
598
686
|
"rel": "data/kernels/drive.json",
|
|
599
687
|
"kind": "scalar",
|
|
@@ -601,6 +689,90 @@
|
|
|
601
689
|
"unit": "",
|
|
602
690
|
"value": 0.7071067811865476
|
|
603
691
|
},
|
|
692
|
+
"EQ_HPF_ONS": {
|
|
693
|
+
"rel": "data/kernels/eq.json",
|
|
694
|
+
"kind": "set",
|
|
695
|
+
"doc": "The HPF's switch: off, the filter is not in the EQ's bank at all; on, its one or two Butterworth sections run after the bands. It comes up off, on the console's channel EQ and in omx-dsp's EQ face (see EQ_PASS_FILTER_DEFAULTS).",
|
|
696
|
+
"default": "off",
|
|
697
|
+
"labels": [
|
|
698
|
+
"Off",
|
|
699
|
+
"On"
|
|
700
|
+
],
|
|
701
|
+
"value": [
|
|
702
|
+
"off",
|
|
703
|
+
"on"
|
|
704
|
+
]
|
|
705
|
+
},
|
|
706
|
+
"HPF_FREQ_RANGE": {
|
|
707
|
+
"rel": "data/kernels/eq.json",
|
|
708
|
+
"kind": "travels",
|
|
709
|
+
"doc": "Where the HPF cutoff can sit (low end); mirrors the drawn low-frequency handle.",
|
|
710
|
+
"shape": "travel",
|
|
711
|
+
"value": {
|
|
712
|
+
"min": 20,
|
|
713
|
+
"max": 1000,
|
|
714
|
+
"step": 10,
|
|
715
|
+
"unit": "Hz"
|
|
716
|
+
}
|
|
717
|
+
},
|
|
718
|
+
"FILTER_SLOPES": {
|
|
719
|
+
"rel": "data/kernels/eq.json",
|
|
720
|
+
"kind": "set",
|
|
721
|
+
"doc": "The pass-filter slopes the EQ offers, in dB per octave: the HPF's slope, and by use the LPF's. The id is the slope: 12 is one maximally flat section, 24 the two-section Butterworth.",
|
|
722
|
+
"default": 12,
|
|
723
|
+
"value": [
|
|
724
|
+
12,
|
|
725
|
+
24
|
|
726
|
+
]
|
|
727
|
+
},
|
|
728
|
+
"EQ_LPF_ONS": {
|
|
729
|
+
"rel": "data/kernels/eq.json",
|
|
730
|
+
"kind": "set",
|
|
731
|
+
"doc": "The LPF's switch: off, the filter is not in the EQ's bank at all; on, its one or two Butterworth sections run after the bands and the HPF. It comes up off, on the console's channel EQ and in omx-dsp's EQ face (see EQ_PASS_FILTER_DEFAULTS).",
|
|
732
|
+
"default": "off",
|
|
733
|
+
"labels": [
|
|
734
|
+
"Off",
|
|
735
|
+
"On"
|
|
736
|
+
],
|
|
737
|
+
"value": [
|
|
738
|
+
"off",
|
|
739
|
+
"on"
|
|
740
|
+
]
|
|
741
|
+
},
|
|
742
|
+
"LPF_FREQ_RANGE": {
|
|
743
|
+
"rel": "data/kernels/eq.json",
|
|
744
|
+
"kind": "travels",
|
|
745
|
+
"doc": "Where the LPF cutoff can sit (high end).",
|
|
746
|
+
"shape": "travel",
|
|
747
|
+
"value": {
|
|
748
|
+
"min": 1000,
|
|
749
|
+
"max": 20000,
|
|
750
|
+
"step": 10,
|
|
751
|
+
"unit": "Hz"
|
|
752
|
+
}
|
|
753
|
+
},
|
|
754
|
+
"EQ_BAND_TYPES": {
|
|
755
|
+
"rel": "data/kernels/eq.json",
|
|
756
|
+
"kind": "set",
|
|
757
|
+
"doc": "The generic EQ band shapes, in the order a picker offers them and in the order of the integer a plugin host sees on a band type port. The id is the name; the position is the value. A bell is the shape a band added by the operator starts as.",
|
|
758
|
+
"default": "bell",
|
|
759
|
+
"labels": [
|
|
760
|
+
"Bell",
|
|
761
|
+
"Low Shelf",
|
|
762
|
+
"High Shelf",
|
|
763
|
+
"Notch",
|
|
764
|
+
"All-pass 1st",
|
|
765
|
+
"All-pass 2nd"
|
|
766
|
+
],
|
|
767
|
+
"value": [
|
|
768
|
+
"bell",
|
|
769
|
+
"lowShelf",
|
|
770
|
+
"highShelf",
|
|
771
|
+
"notch",
|
|
772
|
+
"allpass1",
|
|
773
|
+
"allpass2"
|
|
774
|
+
]
|
|
775
|
+
},
|
|
604
776
|
"EQ_FREQ_RANGE": {
|
|
605
777
|
"rel": "data/kernels/eq.json",
|
|
606
778
|
"kind": "travels",
|
|
@@ -649,60 +821,17 @@
|
|
|
649
821
|
"unit": ""
|
|
650
822
|
}
|
|
651
823
|
},
|
|
652
|
-
"
|
|
653
|
-
"rel": "data/kernels/eq.json",
|
|
654
|
-
"kind": "travels",
|
|
655
|
-
"doc": "Where the HPF cutoff can sit (low end); mirrors the drawn low-frequency handle.",
|
|
656
|
-
"shape": "travel",
|
|
657
|
-
"value": {
|
|
658
|
-
"min": 20,
|
|
659
|
-
"max": 1000,
|
|
660
|
-
"step": 10,
|
|
661
|
-
"unit": "Hz"
|
|
662
|
-
}
|
|
663
|
-
},
|
|
664
|
-
"LPF_FREQ_RANGE": {
|
|
665
|
-
"rel": "data/kernels/eq.json",
|
|
666
|
-
"kind": "travels",
|
|
667
|
-
"doc": "Where the LPF cutoff can sit (high end).",
|
|
668
|
-
"shape": "travel",
|
|
669
|
-
"value": {
|
|
670
|
-
"min": 1000,
|
|
671
|
-
"max": 20000,
|
|
672
|
-
"step": 10,
|
|
673
|
-
"unit": "Hz"
|
|
674
|
-
}
|
|
675
|
-
},
|
|
676
|
-
"EQ_BAND_TYPES": {
|
|
824
|
+
"EQ_BAND_ONS": {
|
|
677
825
|
"rel": "data/kernels/eq.json",
|
|
678
826
|
"kind": "set",
|
|
679
|
-
"doc": "
|
|
680
|
-
"default": "bell",
|
|
827
|
+
"doc": "A band's switch. Off, the band is not in the EQ's bank (the slots close up); on, it runs, parked when it is a gain-carrying shape at 0 dB. No come-up value is declared, because the strips differ: the console's channel EQ brings its default bands up on, an omx-eq plugin brings every band up off so a racked instance is a wire.",
|
|
681
828
|
"labels": [
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
"High Shelf",
|
|
685
|
-
"Notch",
|
|
686
|
-
"All-pass 1st",
|
|
687
|
-
"All-pass 2nd"
|
|
829
|
+
"Off",
|
|
830
|
+
"On"
|
|
688
831
|
],
|
|
689
832
|
"value": [
|
|
690
|
-
"
|
|
691
|
-
"
|
|
692
|
-
"highShelf",
|
|
693
|
-
"notch",
|
|
694
|
-
"allpass1",
|
|
695
|
-
"allpass2"
|
|
696
|
-
]
|
|
697
|
-
},
|
|
698
|
-
"FILTER_SLOPES": {
|
|
699
|
-
"rel": "data/kernels/eq.json",
|
|
700
|
-
"kind": "set",
|
|
701
|
-
"doc": "The pass-filter slopes the EQ offers, in dB per octave. The id is the slope: 12 is one maximally flat section, 24 the two-section Butterworth.",
|
|
702
|
-
"default": 12,
|
|
703
|
-
"value": [
|
|
704
|
-
12,
|
|
705
|
-
24
|
|
833
|
+
"off",
|
|
834
|
+
"on"
|
|
706
835
|
]
|
|
707
836
|
},
|
|
708
837
|
"EQ_MAX_BANDS": {
|
|
@@ -2369,5 +2498,698 @@
|
|
|
2369
2498
|
192000
|
|
2370
2499
|
]
|
|
2371
2500
|
}
|
|
2501
|
+
},
|
|
2502
|
+
"kernels": {
|
|
2503
|
+
"balance": {
|
|
2504
|
+
"controls": [
|
|
2505
|
+
{
|
|
2506
|
+
"name": "pan",
|
|
2507
|
+
"kind": "travel",
|
|
2508
|
+
"global": "PAN_RANGE"
|
|
2509
|
+
}
|
|
2510
|
+
]
|
|
2511
|
+
},
|
|
2512
|
+
"band_dyn": {
|
|
2513
|
+
"controls": [
|
|
2514
|
+
{
|
|
2515
|
+
"name": "mode",
|
|
2516
|
+
"kind": "choice",
|
|
2517
|
+
"global": "BAND_DYN_MODES"
|
|
2518
|
+
},
|
|
2519
|
+
{
|
|
2520
|
+
"name": "threshold",
|
|
2521
|
+
"kind": "travel",
|
|
2522
|
+
"global": "BAND_DYN_THRESHOLD_RANGE"
|
|
2523
|
+
},
|
|
2524
|
+
{
|
|
2525
|
+
"name": "ratio",
|
|
2526
|
+
"kind": "travel",
|
|
2527
|
+
"global": "BAND_DYN_RATIO_RANGE"
|
|
2528
|
+
},
|
|
2529
|
+
{
|
|
2530
|
+
"name": "range",
|
|
2531
|
+
"kind": "travel",
|
|
2532
|
+
"global": "BAND_DYN_RANGE_RANGE"
|
|
2533
|
+
},
|
|
2534
|
+
{
|
|
2535
|
+
"name": "attack",
|
|
2536
|
+
"kind": "travel",
|
|
2537
|
+
"global": "BAND_DYN_ATTACK_RANGE"
|
|
2538
|
+
},
|
|
2539
|
+
{
|
|
2540
|
+
"name": "release",
|
|
2541
|
+
"kind": "travel",
|
|
2542
|
+
"global": "BAND_DYN_RELEASE_RANGE"
|
|
2543
|
+
}
|
|
2544
|
+
]
|
|
2545
|
+
},
|
|
2546
|
+
"chorus": {
|
|
2547
|
+
"controls": [
|
|
2548
|
+
{
|
|
2549
|
+
"name": "spread",
|
|
2550
|
+
"kind": "travel",
|
|
2551
|
+
"global": "CHORUS_SPREAD_RANGE"
|
|
2552
|
+
},
|
|
2553
|
+
{
|
|
2554
|
+
"name": "rate",
|
|
2555
|
+
"kind": "travel",
|
|
2556
|
+
"global": "CHORUS_RATE_RANGE"
|
|
2557
|
+
},
|
|
2558
|
+
{
|
|
2559
|
+
"name": "depth",
|
|
2560
|
+
"kind": "travel",
|
|
2561
|
+
"global": "CHORUS_DEPTH_RANGE"
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"name": "voices",
|
|
2565
|
+
"kind": "travel",
|
|
2566
|
+
"global": "CHORUS_VOICES_RANGE"
|
|
2567
|
+
},
|
|
2568
|
+
{
|
|
2569
|
+
"name": "mix",
|
|
2570
|
+
"kind": "travel",
|
|
2571
|
+
"global": "CHORUS_MIX_RANGE"
|
|
2572
|
+
}
|
|
2573
|
+
]
|
|
2574
|
+
},
|
|
2575
|
+
"comp": {
|
|
2576
|
+
"controls": [
|
|
2577
|
+
{
|
|
2578
|
+
"name": "thresholdDb",
|
|
2579
|
+
"kind": "travel",
|
|
2580
|
+
"global": "COMP_LIMITS",
|
|
2581
|
+
"table": "COMP_LIMITS"
|
|
2582
|
+
},
|
|
2583
|
+
{
|
|
2584
|
+
"name": "ratio",
|
|
2585
|
+
"kind": "travel",
|
|
2586
|
+
"global": "COMP_LIMITS",
|
|
2587
|
+
"table": "COMP_LIMITS"
|
|
2588
|
+
},
|
|
2589
|
+
{
|
|
2590
|
+
"name": "kneeDb",
|
|
2591
|
+
"kind": "travel",
|
|
2592
|
+
"global": "COMP_LIMITS",
|
|
2593
|
+
"table": "COMP_LIMITS"
|
|
2594
|
+
},
|
|
2595
|
+
{
|
|
2596
|
+
"name": "attackMs",
|
|
2597
|
+
"kind": "travel",
|
|
2598
|
+
"global": "COMP_LIMITS",
|
|
2599
|
+
"table": "COMP_LIMITS"
|
|
2600
|
+
},
|
|
2601
|
+
{
|
|
2602
|
+
"name": "releaseMs",
|
|
2603
|
+
"kind": "travel",
|
|
2604
|
+
"global": "COMP_LIMITS",
|
|
2605
|
+
"table": "COMP_LIMITS"
|
|
2606
|
+
},
|
|
2607
|
+
{
|
|
2608
|
+
"name": "makeupDb",
|
|
2609
|
+
"kind": "travel",
|
|
2610
|
+
"global": "COMP_LIMITS",
|
|
2611
|
+
"table": "COMP_LIMITS"
|
|
2612
|
+
},
|
|
2613
|
+
{
|
|
2614
|
+
"name": "mixPct",
|
|
2615
|
+
"kind": "travel",
|
|
2616
|
+
"global": "COMP_LIMITS",
|
|
2617
|
+
"table": "COMP_LIMITS"
|
|
2618
|
+
},
|
|
2619
|
+
{
|
|
2620
|
+
"name": "kind",
|
|
2621
|
+
"kind": "choice",
|
|
2622
|
+
"global": "COMP_KINDS"
|
|
2623
|
+
},
|
|
2624
|
+
{
|
|
2625
|
+
"name": "detectorOversampling",
|
|
2626
|
+
"kind": "choice",
|
|
2627
|
+
"global": "DETECTOR_OVERSAMPLINGS"
|
|
2628
|
+
}
|
|
2629
|
+
]
|
|
2630
|
+
},
|
|
2631
|
+
"deesser": {
|
|
2632
|
+
"controls": [
|
|
2633
|
+
{
|
|
2634
|
+
"name": "deessFreq",
|
|
2635
|
+
"kind": "travel",
|
|
2636
|
+
"global": "DEESS_FREQ_RANGE"
|
|
2637
|
+
},
|
|
2638
|
+
{
|
|
2639
|
+
"name": "deessWidth",
|
|
2640
|
+
"kind": "travel",
|
|
2641
|
+
"global": "DEESS_WIDTH_RANGE"
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
"name": "deessThreshold",
|
|
2645
|
+
"kind": "travel",
|
|
2646
|
+
"global": "DEESS_THRESHOLD_RANGE"
|
|
2647
|
+
},
|
|
2648
|
+
{
|
|
2649
|
+
"name": "deessRatio",
|
|
2650
|
+
"kind": "travel",
|
|
2651
|
+
"global": "DEESS_RATIO_RANGE"
|
|
2652
|
+
},
|
|
2653
|
+
{
|
|
2654
|
+
"name": "deessRange",
|
|
2655
|
+
"kind": "travel",
|
|
2656
|
+
"global": "DEESS_RANGE_RANGE"
|
|
2657
|
+
},
|
|
2658
|
+
{
|
|
2659
|
+
"name": "deessAttack",
|
|
2660
|
+
"kind": "travel",
|
|
2661
|
+
"global": "DEESS_ATTACK_RANGE"
|
|
2662
|
+
},
|
|
2663
|
+
{
|
|
2664
|
+
"name": "deessRelease",
|
|
2665
|
+
"kind": "travel",
|
|
2666
|
+
"global": "DEESS_RELEASE_RANGE"
|
|
2667
|
+
},
|
|
2668
|
+
{
|
|
2669
|
+
"name": "deessMode",
|
|
2670
|
+
"kind": "choice",
|
|
2671
|
+
"global": "DEESS_MODES"
|
|
2672
|
+
}
|
|
2673
|
+
]
|
|
2674
|
+
},
|
|
2675
|
+
"delay": {
|
|
2676
|
+
"controls": [
|
|
2677
|
+
{
|
|
2678
|
+
"name": "fxDelayTime",
|
|
2679
|
+
"kind": "travel",
|
|
2680
|
+
"global": "FX_DELAY_TIME_RANGE"
|
|
2681
|
+
},
|
|
2682
|
+
{
|
|
2683
|
+
"name": "fxDelayFeedback",
|
|
2684
|
+
"kind": "travel",
|
|
2685
|
+
"global": "FX_DELAY_FEEDBACK_RANGE"
|
|
2686
|
+
},
|
|
2687
|
+
{
|
|
2688
|
+
"name": "tone",
|
|
2689
|
+
"kind": "travel",
|
|
2690
|
+
"global": "DELAY_TONE_RANGE"
|
|
2691
|
+
},
|
|
2692
|
+
{
|
|
2693
|
+
"name": "mix",
|
|
2694
|
+
"kind": "travel",
|
|
2695
|
+
"global": "DELAY_MIX_RANGE"
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
"name": "pingpong",
|
|
2699
|
+
"kind": "choice",
|
|
2700
|
+
"global": "DELAY_PINGPONGS"
|
|
2701
|
+
}
|
|
2702
|
+
]
|
|
2703
|
+
},
|
|
2704
|
+
"drive": {
|
|
2705
|
+
"controls": [
|
|
2706
|
+
{
|
|
2707
|
+
"name": "amount",
|
|
2708
|
+
"kind": "travel",
|
|
2709
|
+
"global": "DRIVE_AMOUNT_RANGE"
|
|
2710
|
+
},
|
|
2711
|
+
{
|
|
2712
|
+
"name": "character",
|
|
2713
|
+
"kind": "travel",
|
|
2714
|
+
"global": "DRIVE_CHARACTER_RANGE"
|
|
2715
|
+
},
|
|
2716
|
+
{
|
|
2717
|
+
"name": "bandFreq",
|
|
2718
|
+
"kind": "travel",
|
|
2719
|
+
"global": "DRIVE_BAND_FREQ_RANGE"
|
|
2720
|
+
},
|
|
2721
|
+
{
|
|
2722
|
+
"name": "mix",
|
|
2723
|
+
"kind": "travel",
|
|
2724
|
+
"global": "DRIVE_MIX_RANGE"
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
"name": "trim",
|
|
2728
|
+
"kind": "travel",
|
|
2729
|
+
"global": "DRIVE_TRIM_RANGE"
|
|
2730
|
+
},
|
|
2731
|
+
{
|
|
2732
|
+
"name": "curve",
|
|
2733
|
+
"kind": "choice",
|
|
2734
|
+
"global": "DRIVE_CURVES"
|
|
2735
|
+
},
|
|
2736
|
+
{
|
|
2737
|
+
"name": "band",
|
|
2738
|
+
"kind": "choice",
|
|
2739
|
+
"global": "DRIVE_BANDS"
|
|
2740
|
+
},
|
|
2741
|
+
{
|
|
2742
|
+
"name": "autoGain",
|
|
2743
|
+
"kind": "choice",
|
|
2744
|
+
"global": "DRIVE_AUTO_GAINS"
|
|
2745
|
+
},
|
|
2746
|
+
{
|
|
2747
|
+
"name": "stereoLink",
|
|
2748
|
+
"kind": "choice",
|
|
2749
|
+
"global": "DRIVE_STEREO_LINKS"
|
|
2750
|
+
},
|
|
2751
|
+
{
|
|
2752
|
+
"name": "hfRolloff",
|
|
2753
|
+
"kind": "choice",
|
|
2754
|
+
"global": "DRIVE_HF_ROLLOFFS"
|
|
2755
|
+
}
|
|
2756
|
+
]
|
|
2757
|
+
},
|
|
2758
|
+
"eq": {
|
|
2759
|
+
"controls": [
|
|
2760
|
+
{
|
|
2761
|
+
"name": "hpfOn",
|
|
2762
|
+
"kind": "choice",
|
|
2763
|
+
"global": "EQ_HPF_ONS"
|
|
2764
|
+
},
|
|
2765
|
+
{
|
|
2766
|
+
"name": "hpfFreq",
|
|
2767
|
+
"kind": "travel",
|
|
2768
|
+
"global": "HPF_FREQ_RANGE"
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
"name": "hpfSlope",
|
|
2772
|
+
"kind": "choice",
|
|
2773
|
+
"global": "FILTER_SLOPES"
|
|
2774
|
+
},
|
|
2775
|
+
{
|
|
2776
|
+
"name": "lpfOn",
|
|
2777
|
+
"kind": "choice",
|
|
2778
|
+
"global": "EQ_LPF_ONS"
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
"name": "lpfFreq",
|
|
2782
|
+
"kind": "travel",
|
|
2783
|
+
"global": "LPF_FREQ_RANGE"
|
|
2784
|
+
},
|
|
2785
|
+
{
|
|
2786
|
+
"name": "lpfSlope",
|
|
2787
|
+
"kind": "choice",
|
|
2788
|
+
"global": "FILTER_SLOPES"
|
|
2789
|
+
},
|
|
2790
|
+
{
|
|
2791
|
+
"name": "bandType",
|
|
2792
|
+
"kind": "choice",
|
|
2793
|
+
"global": "EQ_BAND_TYPES",
|
|
2794
|
+
"count": "EQ_BAND_COUNTS"
|
|
2795
|
+
},
|
|
2796
|
+
{
|
|
2797
|
+
"name": "freq",
|
|
2798
|
+
"kind": "travel",
|
|
2799
|
+
"global": "EQ_FREQ_RANGE",
|
|
2800
|
+
"count": "EQ_BAND_COUNTS"
|
|
2801
|
+
},
|
|
2802
|
+
{
|
|
2803
|
+
"name": "gain",
|
|
2804
|
+
"kind": "travel",
|
|
2805
|
+
"global": "EQ_GAIN_RANGE",
|
|
2806
|
+
"count": "EQ_BAND_COUNTS"
|
|
2807
|
+
},
|
|
2808
|
+
{
|
|
2809
|
+
"name": "q",
|
|
2810
|
+
"kind": "travel",
|
|
2811
|
+
"global": "EQ_Q_RANGE",
|
|
2812
|
+
"count": "EQ_BAND_COUNTS",
|
|
2813
|
+
"when": [
|
|
2814
|
+
{
|
|
2815
|
+
"control": "bandType",
|
|
2816
|
+
"is": "notch",
|
|
2817
|
+
"global": "EQ_NOTCH_Q_RANGE"
|
|
2818
|
+
}
|
|
2819
|
+
]
|
|
2820
|
+
},
|
|
2821
|
+
{
|
|
2822
|
+
"name": "bandOn",
|
|
2823
|
+
"kind": "choice",
|
|
2824
|
+
"global": "EQ_BAND_ONS",
|
|
2825
|
+
"count": "EQ_BAND_COUNTS"
|
|
2826
|
+
}
|
|
2827
|
+
]
|
|
2828
|
+
},
|
|
2829
|
+
"fbs": {
|
|
2830
|
+
"controls": []
|
|
2831
|
+
},
|
|
2832
|
+
"flanger": {
|
|
2833
|
+
"controls": [
|
|
2834
|
+
{
|
|
2835
|
+
"name": "rate",
|
|
2836
|
+
"kind": "travel",
|
|
2837
|
+
"global": "FLANGER_RATE_RANGE"
|
|
2838
|
+
},
|
|
2839
|
+
{
|
|
2840
|
+
"name": "depth",
|
|
2841
|
+
"kind": "travel",
|
|
2842
|
+
"global": "FLANGER_DEPTH_RANGE"
|
|
2843
|
+
},
|
|
2844
|
+
{
|
|
2845
|
+
"name": "feedback",
|
|
2846
|
+
"kind": "travel",
|
|
2847
|
+
"global": "FLANGER_FEEDBACK_RANGE"
|
|
2848
|
+
},
|
|
2849
|
+
{
|
|
2850
|
+
"name": "mix",
|
|
2851
|
+
"kind": "travel",
|
|
2852
|
+
"global": "FLANGER_MIX_RANGE"
|
|
2853
|
+
}
|
|
2854
|
+
]
|
|
2855
|
+
},
|
|
2856
|
+
"gate": {
|
|
2857
|
+
"controls": [
|
|
2858
|
+
{
|
|
2859
|
+
"name": "keySource",
|
|
2860
|
+
"kind": "choice",
|
|
2861
|
+
"global": "GATE_KEY_SOURCES"
|
|
2862
|
+
},
|
|
2863
|
+
{
|
|
2864
|
+
"name": "thresholdDb",
|
|
2865
|
+
"kind": "travel",
|
|
2866
|
+
"global": "GATE_LIMITS",
|
|
2867
|
+
"table": "GATE_LIMITS"
|
|
2868
|
+
},
|
|
2869
|
+
{
|
|
2870
|
+
"name": "rangeDb",
|
|
2871
|
+
"kind": "travel",
|
|
2872
|
+
"global": "GATE_LIMITS",
|
|
2873
|
+
"table": "GATE_LIMITS"
|
|
2874
|
+
},
|
|
2875
|
+
{
|
|
2876
|
+
"name": "kneeStartDb",
|
|
2877
|
+
"kind": "travel",
|
|
2878
|
+
"global": "GATE_LIMITS",
|
|
2879
|
+
"table": "GATE_LIMITS"
|
|
2880
|
+
},
|
|
2881
|
+
{
|
|
2882
|
+
"name": "kneeEndDb",
|
|
2883
|
+
"kind": "travel",
|
|
2884
|
+
"global": "GATE_LIMITS",
|
|
2885
|
+
"table": "GATE_LIMITS"
|
|
2886
|
+
},
|
|
2887
|
+
{
|
|
2888
|
+
"name": "attackMs",
|
|
2889
|
+
"kind": "travel",
|
|
2890
|
+
"global": "GATE_LIMITS",
|
|
2891
|
+
"table": "GATE_LIMITS"
|
|
2892
|
+
},
|
|
2893
|
+
{
|
|
2894
|
+
"name": "holdMs",
|
|
2895
|
+
"kind": "travel",
|
|
2896
|
+
"global": "GATE_LIMITS",
|
|
2897
|
+
"table": "GATE_LIMITS"
|
|
2898
|
+
},
|
|
2899
|
+
{
|
|
2900
|
+
"name": "releaseMs",
|
|
2901
|
+
"kind": "travel",
|
|
2902
|
+
"global": "GATE_LIMITS",
|
|
2903
|
+
"table": "GATE_LIMITS"
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
"name": "hysteresisDb",
|
|
2907
|
+
"kind": "travel",
|
|
2908
|
+
"global": "GATE_LIMITS",
|
|
2909
|
+
"table": "GATE_LIMITS"
|
|
2910
|
+
},
|
|
2911
|
+
{
|
|
2912
|
+
"name": "ratio",
|
|
2913
|
+
"kind": "travel",
|
|
2914
|
+
"global": "GATE_LIMITS",
|
|
2915
|
+
"table": "GATE_LIMITS"
|
|
2916
|
+
}
|
|
2917
|
+
]
|
|
2918
|
+
},
|
|
2919
|
+
"geq": {
|
|
2920
|
+
"controls": [
|
|
2921
|
+
{
|
|
2922
|
+
"name": "band",
|
|
2923
|
+
"kind": "travel",
|
|
2924
|
+
"global": "GEQ_BAND_RANGE",
|
|
2925
|
+
"count": "GEQ_BANDS"
|
|
2926
|
+
}
|
|
2927
|
+
]
|
|
2928
|
+
},
|
|
2929
|
+
"hrp": {
|
|
2930
|
+
"controls": [
|
|
2931
|
+
{
|
|
2932
|
+
"name": "amount",
|
|
2933
|
+
"kind": "travel",
|
|
2934
|
+
"global": "HRP_AMOUNT_RANGE"
|
|
2935
|
+
}
|
|
2936
|
+
]
|
|
2937
|
+
},
|
|
2938
|
+
"limiter": {
|
|
2939
|
+
"controls": [
|
|
2940
|
+
{
|
|
2941
|
+
"name": "ceilingDb",
|
|
2942
|
+
"kind": "travel",
|
|
2943
|
+
"global": "LIMITER_LIMITS",
|
|
2944
|
+
"table": "LIMITER_LIMITS"
|
|
2945
|
+
},
|
|
2946
|
+
{
|
|
2947
|
+
"name": "lookaheadMs",
|
|
2948
|
+
"kind": "travel",
|
|
2949
|
+
"global": "LIMITER_LIMITS",
|
|
2950
|
+
"table": "LIMITER_LIMITS",
|
|
2951
|
+
"rearms": true
|
|
2952
|
+
},
|
|
2953
|
+
{
|
|
2954
|
+
"name": "releaseMs",
|
|
2955
|
+
"kind": "travel",
|
|
2956
|
+
"global": "LIMITER_LIMITS",
|
|
2957
|
+
"table": "LIMITER_LIMITS"
|
|
2958
|
+
}
|
|
2959
|
+
]
|
|
2960
|
+
},
|
|
2961
|
+
"mixmatrix": {
|
|
2962
|
+
"controls": []
|
|
2963
|
+
},
|
|
2964
|
+
"phaser": {
|
|
2965
|
+
"controls": [
|
|
2966
|
+
{
|
|
2967
|
+
"name": "rateHz",
|
|
2968
|
+
"kind": "travel",
|
|
2969
|
+
"global": "PHASER_RATE_RANGE"
|
|
2970
|
+
},
|
|
2971
|
+
{
|
|
2972
|
+
"name": "baseHz",
|
|
2973
|
+
"kind": "travel",
|
|
2974
|
+
"global": "PHASER_BASE_RANGE"
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
"name": "depthOct",
|
|
2978
|
+
"kind": "travel",
|
|
2979
|
+
"global": "PHASER_DEPTH_RANGE"
|
|
2980
|
+
},
|
|
2981
|
+
{
|
|
2982
|
+
"name": "stages",
|
|
2983
|
+
"kind": "travel",
|
|
2984
|
+
"global": "PHASER_STAGES_RANGE"
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
"name": "feedback",
|
|
2988
|
+
"kind": "travel",
|
|
2989
|
+
"global": "PHASER_FEEDBACK_RANGE"
|
|
2990
|
+
},
|
|
2991
|
+
{
|
|
2992
|
+
"name": "mix",
|
|
2993
|
+
"kind": "travel",
|
|
2994
|
+
"global": "PHASER_MIX_RANGE"
|
|
2995
|
+
}
|
|
2996
|
+
]
|
|
2997
|
+
},
|
|
2998
|
+
"pitch": {
|
|
2999
|
+
"controls": [
|
|
3000
|
+
{
|
|
3001
|
+
"name": "semitones",
|
|
3002
|
+
"kind": "travel",
|
|
3003
|
+
"global": "PITCH_LIMITS",
|
|
3004
|
+
"table": "PITCH_LIMITS"
|
|
3005
|
+
},
|
|
3006
|
+
{
|
|
3007
|
+
"name": "cents",
|
|
3008
|
+
"kind": "travel",
|
|
3009
|
+
"global": "PITCH_LIMITS",
|
|
3010
|
+
"table": "PITCH_LIMITS"
|
|
3011
|
+
},
|
|
3012
|
+
{
|
|
3013
|
+
"name": "mix",
|
|
3014
|
+
"kind": "travel",
|
|
3015
|
+
"global": "PITCH_LIMITS",
|
|
3016
|
+
"table": "PITCH_LIMITS"
|
|
3017
|
+
}
|
|
3018
|
+
]
|
|
3019
|
+
},
|
|
3020
|
+
"reverb": {
|
|
3021
|
+
"controls": [
|
|
3022
|
+
{
|
|
3023
|
+
"name": "plateModDepth",
|
|
3024
|
+
"kind": "travel",
|
|
3025
|
+
"global": "REVERB_PLATE_MOD_DEPTH_RANGE"
|
|
3026
|
+
},
|
|
3027
|
+
{
|
|
3028
|
+
"name": "mix",
|
|
3029
|
+
"kind": "travel",
|
|
3030
|
+
"global": "REVERB_MIX_RANGE"
|
|
3031
|
+
},
|
|
3032
|
+
{
|
|
3033
|
+
"name": "size",
|
|
3034
|
+
"kind": "travel",
|
|
3035
|
+
"global": "REVERB_SIZE_RANGE"
|
|
3036
|
+
},
|
|
3037
|
+
{
|
|
3038
|
+
"name": "damping",
|
|
3039
|
+
"kind": "travel",
|
|
3040
|
+
"global": "REVERB_DAMPING_RANGE"
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
"name": "width",
|
|
3044
|
+
"kind": "travel",
|
|
3045
|
+
"global": "REVERB_WIDTH_RANGE"
|
|
3046
|
+
},
|
|
3047
|
+
{
|
|
3048
|
+
"name": "predelay",
|
|
3049
|
+
"kind": "travel",
|
|
3050
|
+
"global": "REVERB_PREDELAY_RANGE"
|
|
3051
|
+
},
|
|
3052
|
+
{
|
|
3053
|
+
"name": "lowcut",
|
|
3054
|
+
"kind": "travel",
|
|
3055
|
+
"global": "REVERB_LOWCUT_RANGE"
|
|
3056
|
+
},
|
|
3057
|
+
{
|
|
3058
|
+
"name": "highcut",
|
|
3059
|
+
"kind": "travel",
|
|
3060
|
+
"global": "REVERB_HIGHCUT_RANGE"
|
|
3061
|
+
},
|
|
3062
|
+
{
|
|
3063
|
+
"name": "reverse",
|
|
3064
|
+
"kind": "travel",
|
|
3065
|
+
"global": "REVERB_REVERSE_RANGE"
|
|
3066
|
+
},
|
|
3067
|
+
{
|
|
3068
|
+
"name": "hold",
|
|
3069
|
+
"kind": "travel",
|
|
3070
|
+
"global": "REVERB_HOLD_RANGE"
|
|
3071
|
+
},
|
|
3072
|
+
{
|
|
3073
|
+
"name": "release",
|
|
3074
|
+
"kind": "travel",
|
|
3075
|
+
"global": "REVERB_RELEASE_RANGE"
|
|
3076
|
+
},
|
|
3077
|
+
{
|
|
3078
|
+
"name": "gateThreshold",
|
|
3079
|
+
"kind": "travel",
|
|
3080
|
+
"global": "REVERB_GATE_THRESHOLD_RANGE"
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"name": "algorithm",
|
|
3084
|
+
"kind": "choice",
|
|
3085
|
+
"global": "REVERB_ALGORITHMS"
|
|
3086
|
+
}
|
|
3087
|
+
]
|
|
3088
|
+
},
|
|
3089
|
+
"rotary": {
|
|
3090
|
+
"controls": [
|
|
3091
|
+
{
|
|
3092
|
+
"name": "hornSlowHz",
|
|
3093
|
+
"kind": "travel",
|
|
3094
|
+
"global": "ROTARY_HORN_SLOW_RANGE"
|
|
3095
|
+
},
|
|
3096
|
+
{
|
|
3097
|
+
"name": "hornFastHz",
|
|
3098
|
+
"kind": "travel",
|
|
3099
|
+
"global": "ROTARY_HORN_FAST_RANGE"
|
|
3100
|
+
},
|
|
3101
|
+
{
|
|
3102
|
+
"name": "drumSlowHz",
|
|
3103
|
+
"kind": "travel",
|
|
3104
|
+
"global": "ROTARY_DRUM_SLOW_RANGE"
|
|
3105
|
+
},
|
|
3106
|
+
{
|
|
3107
|
+
"name": "drumFastHz",
|
|
3108
|
+
"kind": "travel",
|
|
3109
|
+
"global": "ROTARY_DRUM_FAST_RANGE"
|
|
3110
|
+
},
|
|
3111
|
+
{
|
|
3112
|
+
"name": "accel",
|
|
3113
|
+
"kind": "travel",
|
|
3114
|
+
"global": "ROTARY_ACCEL_RANGE"
|
|
3115
|
+
},
|
|
3116
|
+
{
|
|
3117
|
+
"name": "balance",
|
|
3118
|
+
"kind": "travel",
|
|
3119
|
+
"global": "ROTARY_BALANCE_RANGE"
|
|
3120
|
+
},
|
|
3121
|
+
{
|
|
3122
|
+
"name": "mix",
|
|
3123
|
+
"kind": "travel",
|
|
3124
|
+
"global": "ROTARY_MIX_RANGE"
|
|
3125
|
+
},
|
|
3126
|
+
{
|
|
3127
|
+
"name": "speed",
|
|
3128
|
+
"kind": "choice",
|
|
3129
|
+
"global": "ROTARY_SPEEDS"
|
|
3130
|
+
}
|
|
3131
|
+
]
|
|
3132
|
+
},
|
|
3133
|
+
"rta": {
|
|
3134
|
+
"controls": []
|
|
3135
|
+
},
|
|
3136
|
+
"transient": {
|
|
3137
|
+
"controls": [
|
|
3138
|
+
{
|
|
3139
|
+
"name": "attackDb",
|
|
3140
|
+
"kind": "travel",
|
|
3141
|
+
"global": "TRANSIENT_LIMITS",
|
|
3142
|
+
"table": "TRANSIENT_LIMITS"
|
|
3143
|
+
},
|
|
3144
|
+
{
|
|
3145
|
+
"name": "sustainDb",
|
|
3146
|
+
"kind": "travel",
|
|
3147
|
+
"global": "TRANSIENT_LIMITS",
|
|
3148
|
+
"table": "TRANSIENT_LIMITS"
|
|
3149
|
+
},
|
|
3150
|
+
{
|
|
3151
|
+
"name": "attackTimeMs",
|
|
3152
|
+
"kind": "travel",
|
|
3153
|
+
"global": "TRANSIENT_LIMITS",
|
|
3154
|
+
"table": "TRANSIENT_LIMITS"
|
|
3155
|
+
},
|
|
3156
|
+
{
|
|
3157
|
+
"name": "sustainTimeMs",
|
|
3158
|
+
"kind": "travel",
|
|
3159
|
+
"global": "TRANSIENT_LIMITS",
|
|
3160
|
+
"table": "TRANSIENT_LIMITS"
|
|
3161
|
+
},
|
|
3162
|
+
{
|
|
3163
|
+
"name": "outputDb",
|
|
3164
|
+
"kind": "travel",
|
|
3165
|
+
"global": "TRANSIENT_LIMITS",
|
|
3166
|
+
"table": "TRANSIENT_LIMITS"
|
|
3167
|
+
}
|
|
3168
|
+
]
|
|
3169
|
+
},
|
|
3170
|
+
"tremolo": {
|
|
3171
|
+
"controls": [
|
|
3172
|
+
{
|
|
3173
|
+
"name": "rateHz",
|
|
3174
|
+
"kind": "travel",
|
|
3175
|
+
"global": "TREMOLO_RATE_RANGE"
|
|
3176
|
+
},
|
|
3177
|
+
{
|
|
3178
|
+
"name": "depth",
|
|
3179
|
+
"kind": "travel",
|
|
3180
|
+
"global": "TREMOLO_DEPTH_RANGE"
|
|
3181
|
+
},
|
|
3182
|
+
{
|
|
3183
|
+
"name": "mix",
|
|
3184
|
+
"kind": "travel",
|
|
3185
|
+
"global": "TREMOLO_MIX_RANGE"
|
|
3186
|
+
},
|
|
3187
|
+
{
|
|
3188
|
+
"name": "mode",
|
|
3189
|
+
"kind": "choice",
|
|
3190
|
+
"global": "TREMOLO_MODES"
|
|
3191
|
+
}
|
|
3192
|
+
]
|
|
3193
|
+
}
|
|
2372
3194
|
}
|
|
2373
3195
|
}
|