@map-audio/pam-mcp-server 1.0.0 → 1.1.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.
@@ -14,7 +14,7 @@
14
14
  "resizable": true,
15
15
  "preserveAspectRatio": true
16
16
  },
17
- "parameterVersion": 1,
17
+ "parameterVersion": 3,
18
18
  "lfos": [],
19
19
  "macros": [],
20
20
  "cells": {},
@@ -72,7 +72,7 @@
72
72
  "name": "Looper Length",
73
73
  "displayName": "Length",
74
74
  "min": 0,
75
- "max": 19,
75
+ "max": 20,
76
76
  "defaultValue": 15,
77
77
  "step": 1,
78
78
  "skew": 1,
@@ -96,7 +96,8 @@
96
96
  "2 bar",
97
97
  "4 bar",
98
98
  "8 bar",
99
- "16 bar"
99
+ "16 bar",
100
+ "32 bar"
100
101
  ],
101
102
  "tooltip": "Loop recording length in bars",
102
103
  "isPluginParameter": true,
@@ -1051,11 +1052,11 @@
1051
1052
  "paramId": "macro_stretchGrainMs",
1052
1053
  "name": "Macro Stretch Grain",
1053
1054
  "displayName": "Grain",
1054
- "min": 10,
1055
- "max": 200,
1056
- "step": 1,
1055
+ "min": 1,
1056
+ "max": 2000,
1057
+ "step": 0.1,
1057
1058
  "strRepr": [],
1058
- "skew": 1,
1059
+ "skew": 0.25,
1059
1060
  "suffix": " ms",
1060
1061
  "defaultValue": 50,
1061
1062
  "tooltip": "Control Stretch Grain for all cells",
@@ -1063,6 +1064,245 @@
1063
1064
  "isPluginParameter": true,
1064
1065
  "isModulatable": true,
1065
1066
  "cell": "macro",
1067
+ "version": 5
1068
+ },
1069
+ {
1070
+ "paramId": "macro_quantStrength",
1071
+ "name": "Macro Quantize",
1072
+ "displayName": "Quantize",
1073
+ "min": 0,
1074
+ "max": 100,
1075
+ "step": 0.01,
1076
+ "strRepr": [],
1077
+ "skew": 1,
1078
+ "suffix": "%",
1079
+ "defaultValue": 100,
1080
+ "tooltip": "Control Quantize for all cells",
1081
+ "bipolar": false,
1082
+ "isPluginParameter": true,
1083
+ "isModulatable": true,
1084
+ "cell": "macro",
1085
+ "version": 2
1086
+ },
1087
+ {
1088
+ "paramId": "macro_quantRoot",
1089
+ "name": "Macro Quantize Root",
1090
+ "displayName": "Root",
1091
+ "min": 0,
1092
+ "max": 11,
1093
+ "step": 1,
1094
+ "strRepr": [
1095
+ "C",
1096
+ "C#",
1097
+ "D",
1098
+ "D#",
1099
+ "E",
1100
+ "F",
1101
+ "F#",
1102
+ "G",
1103
+ "G#",
1104
+ "A",
1105
+ "A#",
1106
+ "B"
1107
+ ],
1108
+ "skew": 1,
1109
+ "suffix": "",
1110
+ "defaultValue": 0,
1111
+ "tooltip": "Control Quantize Root for all cells",
1112
+ "bipolar": false,
1113
+ "isPluginParameter": true,
1114
+ "isModulatable": true,
1115
+ "cell": "macro",
1116
+ "version": 1
1117
+ },
1118
+ {
1119
+ "paramId": "macro_quantScale",
1120
+ "name": "Macro Quantize Scale",
1121
+ "displayName": "Scale",
1122
+ "min": 0,
1123
+ "max": 9,
1124
+ "step": 1,
1125
+ "strRepr": [
1126
+ "Chromatic",
1127
+ "Major",
1128
+ "Minor",
1129
+ "Penta Maj",
1130
+ "Penta Min",
1131
+ "Dorian",
1132
+ "Mixolydian",
1133
+ "Blues",
1134
+ "Harm Min",
1135
+ "Phrygian"
1136
+ ],
1137
+ "skew": 1,
1138
+ "suffix": "",
1139
+ "defaultValue": 0,
1140
+ "tooltip": "Control Quantize Scale for all cells",
1141
+ "bipolar": false,
1142
+ "isPluginParameter": true,
1143
+ "isModulatable": true,
1144
+ "cell": "macro",
1145
+ "version": 1
1146
+ },
1147
+ {
1148
+ "paramId": "macro_grainDensity",
1149
+ "name": "Macro Grain Density",
1150
+ "displayName": "Density",
1151
+ "min": 1,
1152
+ "max": 32,
1153
+ "step": 1,
1154
+ "strRepr": [],
1155
+ "skew": 1,
1156
+ "suffix": "",
1157
+ "defaultValue": 16,
1158
+ "tooltip": "Control Grain Density for all cells",
1159
+ "bipolar": false,
1160
+ "isPluginParameter": true,
1161
+ "isModulatable": true,
1162
+ "cell": "macro",
1163
+ "version": 1
1164
+ },
1165
+ {
1166
+ "paramId": "macro_spread",
1167
+ "name": "Macro Spread",
1168
+ "displayName": "Spread",
1169
+ "min": 0,
1170
+ "max": 100,
1171
+ "step": 1,
1172
+ "strRepr": [],
1173
+ "skew": 1,
1174
+ "suffix": "%",
1175
+ "defaultValue": 0,
1176
+ "tooltip": "Control Spread for all cells",
1177
+ "bipolar": false,
1178
+ "isPluginParameter": true,
1179
+ "isModulatable": true,
1180
+ "cell": "macro",
1181
+ "version": 1
1182
+ },
1183
+ {
1184
+ "paramId": "macro_chaos",
1185
+ "name": "Macro Chaos",
1186
+ "displayName": "Chaos",
1187
+ "min": 0,
1188
+ "max": 100,
1189
+ "step": 1,
1190
+ "strRepr": [],
1191
+ "skew": 1,
1192
+ "suffix": "%",
1193
+ "defaultValue": 0,
1194
+ "tooltip": "Control Chaos for all cells",
1195
+ "bipolar": false,
1196
+ "isPluginParameter": true,
1197
+ "isModulatable": true,
1198
+ "cell": "macro",
1199
+ "version": 1
1200
+ },
1201
+ {
1202
+ "paramId": "macro_grainWindow",
1203
+ "name": "Macro Grain Window",
1204
+ "displayName": "Window",
1205
+ "min": 0,
1206
+ "max": 4,
1207
+ "step": 1,
1208
+ "strRepr": [
1209
+ "Hann",
1210
+ "Tukey",
1211
+ "Welch",
1212
+ "AsymRise",
1213
+ "AsymFall"
1214
+ ],
1215
+ "skew": 1,
1216
+ "suffix": "",
1217
+ "defaultValue": 0,
1218
+ "tooltip": "Control Grain Window for all cells",
1219
+ "bipolar": false,
1220
+ "isPluginParameter": true,
1221
+ "isModulatable": true,
1222
+ "cell": "macro",
1223
+ "version": 2
1224
+ },
1225
+ {
1226
+ "paramId": "macro_grainArp",
1227
+ "name": "Macro Grain Arp",
1228
+ "displayName": "Arp",
1229
+ "min": 0,
1230
+ "max": 9,
1231
+ "step": 1,
1232
+ "strRepr": [
1233
+ "Off",
1234
+ "Octaver",
1235
+ "Stack",
1236
+ "Wiggle",
1237
+ "Penta",
1238
+ "Major",
1239
+ "Minor",
1240
+ "Whole",
1241
+ "Drift",
1242
+ "Toss"
1243
+ ],
1244
+ "skew": 1,
1245
+ "suffix": "",
1246
+ "defaultValue": 0,
1247
+ "tooltip": "Control Grain Arp for all cells",
1248
+ "bipolar": false,
1249
+ "isPluginParameter": true,
1250
+ "isModulatable": true,
1251
+ "cell": "macro",
1252
+ "version": 4
1253
+ },
1254
+ {
1255
+ "paramId": "macro_formantShift",
1256
+ "name": "Macro Formant Shift",
1257
+ "displayName": "Formant",
1258
+ "min": -12,
1259
+ "max": 12,
1260
+ "step": 0.01,
1261
+ "strRepr": [],
1262
+ "skew": 1,
1263
+ "suffix": " st",
1264
+ "defaultValue": 0,
1265
+ "tooltip": "Control Formant Shift for all cells",
1266
+ "bipolar": true,
1267
+ "isPluginParameter": true,
1268
+ "isModulatable": true,
1269
+ "cell": "macro",
1270
+ "version": 2
1271
+ },
1272
+ {
1273
+ "paramId": "macro_vcaDepth",
1274
+ "name": "Macro Drone",
1275
+ "displayName": "Drone",
1276
+ "min": 0,
1277
+ "max": 100,
1278
+ "step": 0.1,
1279
+ "strRepr": [],
1280
+ "skew": 1,
1281
+ "suffix": "%",
1282
+ "defaultValue": 0,
1283
+ "tooltip": "Control Drone for all cells",
1284
+ "bipolar": false,
1285
+ "isPluginParameter": true,
1286
+ "isModulatable": true,
1287
+ "cell": "macro",
1288
+ "version": 3
1289
+ },
1290
+ {
1291
+ "paramId": "macro_grainScan",
1292
+ "name": "Macro Grain Scan",
1293
+ "displayName": "Scan",
1294
+ "min": -100,
1295
+ "max": 100,
1296
+ "step": 0.01,
1297
+ "strRepr": [],
1298
+ "skew": 1,
1299
+ "suffix": "%",
1300
+ "defaultValue": 100,
1301
+ "tooltip": "Control Grain Scan for all cells",
1302
+ "bipolar": true,
1303
+ "isPluginParameter": true,
1304
+ "isModulatable": true,
1305
+ "cell": "macro",
1066
1306
  "version": 1
1067
1307
  },
1068
1308
  {
@@ -1775,7 +2015,7 @@
1775
2015
  "name": "Macro LFO Shape",
1776
2016
  "displayName": "Shape",
1777
2017
  "min": 0,
1778
- "max": 5,
2018
+ "max": 6,
1779
2019
  "step": 1,
1780
2020
  "skew": 1,
1781
2021
  "strRepr": [
@@ -1784,7 +2024,8 @@
1784
2024
  "Triangle",
1785
2025
  "Square",
1786
2026
  "Random",
1787
- "Wander"
2027
+ "Wander",
2028
+ "Custom"
1788
2029
  ],
1789
2030
  "defaultValue": 0,
1790
2031
  "tooltip": "Global LFO Shape",
@@ -1825,6 +2066,23 @@
1825
2066
  "version": 1,
1826
2067
  "cell": "macro"
1827
2068
  },
2069
+ {
2070
+ "paramId": "macro_lfoMorph",
2071
+ "name": "Macro LFO Morph",
2072
+ "displayName": "Morph",
2073
+ "min": -100,
2074
+ "max": 100,
2075
+ "step": 0.1,
2076
+ "skew": 1,
2077
+ "suffix": "%",
2078
+ "bipolar": true,
2079
+ "defaultValue": 0,
2080
+ "tooltip": "Global LFO Morph",
2081
+ "isPluginParameter": true,
2082
+ "isModulatable": true,
2083
+ "version": 1,
2084
+ "cell": "macro"
2085
+ },
1828
2086
  {
1829
2087
  "paramId": "cell1_volume",
1830
2088
  "name": "Cell1 Volume",
@@ -2461,104 +2719,322 @@
2461
2719
  "paramId": "cell1_stretchGrainMs",
2462
2720
  "name": "Cell1 Stretch Grain",
2463
2721
  "displayName": "Grain",
2464
- "min": 10,
2465
- "max": 200,
2466
- "step": 1,
2467
- "skew": 1,
2722
+ "min": 1,
2723
+ "max": 2000,
2724
+ "step": 0.1,
2725
+ "skew": 0.25,
2468
2726
  "defaultValue": 50,
2469
2727
  "cell": "cell1",
2470
2728
  "suffix": " ms",
2471
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
2472
- "version": 1,
2729
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
2730
+ "version": 5,
2473
2731
  "isPluginParameter": true,
2474
2732
  "isModulatable": true
2475
2733
  },
2476
2734
  {
2477
- "paramId": "cell1_delayDelayTime",
2478
- "name": "Cell1 Delay Time",
2479
- "displayName": "Time",
2735
+ "paramId": "cell1_quantStrength",
2736
+ "name": "Cell1 Quantize",
2737
+ "displayName": "Quantize",
2480
2738
  "min": 0,
2481
- "max": 1,
2739
+ "max": 100,
2482
2740
  "step": 0.01,
2483
2741
  "skew": 1,
2484
- "defaultValue": 0.6470588235294118,
2742
+ "defaultValue": 100,
2485
2743
  "cell": "cell1",
2486
- "effect": "delay",
2487
- "tooltip": "Delay time (ms or synced)",
2488
- "toggleId": "cell1_delaySyncEnabled",
2489
- "toggleOff": "delayTimeMs",
2490
- "toggleOn": "delayTimeSync",
2491
- "version": 1,
2744
+ "suffix": "%",
2745
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
2746
+ "version": 2,
2492
2747
  "isPluginParameter": true,
2493
2748
  "isModulatable": true
2494
2749
  },
2495
2750
  {
2496
- "paramId": "cell1_delaySyncEnabled",
2497
- "name": "Cell1 Delay Sync",
2498
- "displayName": "Sync",
2751
+ "paramId": "cell1_quantRoot",
2752
+ "name": "Cell1 Quantize Root",
2753
+ "displayName": "Root",
2499
2754
  "min": 0,
2500
- "max": 1,
2755
+ "max": 11,
2501
2756
  "step": 1,
2502
2757
  "skew": 1,
2503
- "defaultValue": 1,
2758
+ "defaultValue": 0,
2504
2759
  "cell": "cell1",
2505
- "effect": "delay",
2506
- "tooltip": "Toggle delay time between ms and tempo sync",
2507
- "strRepr": [
2508
- "ms",
2509
- "Sync"
2760
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
2761
+ "strRepr": [
2762
+ "C",
2763
+ "C#",
2764
+ "D",
2765
+ "D#",
2766
+ "E",
2767
+ "F",
2768
+ "F#",
2769
+ "G",
2770
+ "G#",
2771
+ "A",
2772
+ "A#",
2773
+ "B"
2510
2774
  ],
2511
2775
  "version": 1,
2512
2776
  "isPluginParameter": true,
2513
- "isModulatable": false
2777
+ "isModulatable": true
2514
2778
  },
2515
2779
  {
2516
- "paramId": "cell1_delayFeedback",
2517
- "name": "Cell1 Delay Feedback",
2518
- "displayName": "Fdbk",
2780
+ "paramId": "cell1_quantScale",
2781
+ "name": "Cell1 Quantize Scale",
2782
+ "displayName": "Scale",
2519
2783
  "min": 0,
2520
- "max": 100,
2784
+ "max": 9,
2521
2785
  "step": 1,
2522
2786
  "skew": 1,
2523
- "defaultValue": 30,
2787
+ "defaultValue": 0,
2524
2788
  "cell": "cell1",
2525
- "effect": "delay",
2526
- "suffix": "%",
2527
- "tooltip": "Feedback amount (0-100%)",
2789
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
2790
+ "strRepr": [
2791
+ "Chromatic",
2792
+ "Major",
2793
+ "Minor",
2794
+ "Penta Maj",
2795
+ "Penta Min",
2796
+ "Dorian",
2797
+ "Mixolydian",
2798
+ "Blues",
2799
+ "Harm Min",
2800
+ "Phrygian"
2801
+ ],
2528
2802
  "version": 1,
2529
2803
  "isPluginParameter": true,
2530
2804
  "isModulatable": true
2531
2805
  },
2532
2806
  {
2533
- "paramId": "cell1_delayMix",
2534
- "name": "Cell1 Delay Mix",
2535
- "displayName": "Mix",
2536
- "min": 0,
2537
- "max": 100,
2807
+ "paramId": "cell1_grainDensity",
2808
+ "name": "Cell1 Grain Density",
2809
+ "displayName": "Density",
2810
+ "min": 1,
2811
+ "max": 32,
2538
2812
  "step": 1,
2539
2813
  "skew": 1,
2540
- "defaultValue": 50,
2814
+ "defaultValue": 16,
2541
2815
  "cell": "cell1",
2542
- "effect": "delay",
2543
- "suffix": "%",
2544
- "tooltip": "Dry/Wet mix (0-100%)",
2816
+ "tooltip": "Number of granular grains active at once.",
2545
2817
  "version": 1,
2546
2818
  "isPluginParameter": true,
2547
2819
  "isModulatable": true
2548
2820
  },
2549
2821
  {
2550
- "paramId": "cell1_fdnMix",
2551
- "name": "Cell1 FDN Mix",
2552
- "displayName": "Mix",
2822
+ "paramId": "cell1_spread",
2823
+ "name": "Cell1 Spread",
2824
+ "displayName": "Spread",
2553
2825
  "min": 0,
2554
2826
  "max": 100,
2555
2827
  "step": 1,
2556
2828
  "skew": 1,
2557
- "defaultValue": 50,
2829
+ "defaultValue": 0,
2558
2830
  "cell": "cell1",
2559
- "effect": "fdn",
2560
2831
  "suffix": "%",
2561
- "tooltip": "Mix amount (0-100%)",
2832
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
2833
+ "version": 1,
2834
+ "isPluginParameter": true,
2835
+ "isModulatable": true
2836
+ },
2837
+ {
2838
+ "paramId": "cell1_chaos",
2839
+ "name": "Cell1 Chaos",
2840
+ "displayName": "Chaos",
2841
+ "min": 0,
2842
+ "max": 100,
2843
+ "step": 1,
2844
+ "skew": 1,
2845
+ "defaultValue": 0,
2846
+ "cell": "cell1",
2847
+ "suffix": "%",
2848
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
2849
+ "version": 1,
2850
+ "isPluginParameter": true,
2851
+ "isModulatable": true
2852
+ },
2853
+ {
2854
+ "paramId": "cell1_grainWindow",
2855
+ "name": "Cell1 Grain Window",
2856
+ "displayName": "Window",
2857
+ "min": 0,
2858
+ "max": 4,
2859
+ "step": 1,
2860
+ "skew": 1,
2861
+ "defaultValue": 0,
2862
+ "cell": "cell1",
2863
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
2864
+ "strRepr": [
2865
+ "Hann",
2866
+ "Tukey",
2867
+ "Welch",
2868
+ "AsymRise",
2869
+ "AsymFall"
2870
+ ],
2871
+ "version": 2,
2872
+ "isPluginParameter": true,
2873
+ "isModulatable": true
2874
+ },
2875
+ {
2876
+ "paramId": "cell1_grainArp",
2877
+ "name": "Cell1 Grain Arp",
2878
+ "displayName": "Arp",
2879
+ "min": 0,
2880
+ "max": 9,
2881
+ "step": 1,
2882
+ "skew": 1,
2883
+ "defaultValue": 0,
2884
+ "cell": "cell1",
2885
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
2886
+ "strRepr": [
2887
+ "Off",
2888
+ "Octaver",
2889
+ "Stack",
2890
+ "Wiggle",
2891
+ "Penta",
2892
+ "Major",
2893
+ "Minor",
2894
+ "Whole",
2895
+ "Drift",
2896
+ "Toss"
2897
+ ],
2898
+ "version": 4,
2899
+ "isPluginParameter": true,
2900
+ "isModulatable": true
2901
+ },
2902
+ {
2903
+ "paramId": "cell1_formantShift",
2904
+ "name": "Cell1 Formant Shift",
2905
+ "displayName": "Formant",
2906
+ "min": -12,
2907
+ "max": 12,
2908
+ "step": 0.01,
2909
+ "skew": 1,
2910
+ "defaultValue": 0,
2911
+ "cell": "cell1",
2912
+ "suffix": " st",
2913
+ "bipolar": true,
2914
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
2915
+ "version": 2,
2916
+ "isPluginParameter": true,
2917
+ "isModulatable": true
2918
+ },
2919
+ {
2920
+ "paramId": "cell1_vcaDepth",
2921
+ "name": "Cell1 Drone",
2922
+ "displayName": "Drone",
2923
+ "min": 0,
2924
+ "max": 100,
2925
+ "step": 0.1,
2926
+ "skew": 1,
2927
+ "defaultValue": 0,
2928
+ "cell": "cell1",
2929
+ "suffix": "%",
2930
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
2931
+ "version": 3,
2932
+ "isPluginParameter": true,
2933
+ "isModulatable": true
2934
+ },
2935
+ {
2936
+ "paramId": "cell1_grainScan",
2937
+ "name": "Cell1 Grain Scan",
2938
+ "displayName": "Scan",
2939
+ "min": -100,
2940
+ "max": 100,
2941
+ "step": 0.01,
2942
+ "skew": 1,
2943
+ "defaultValue": 100,
2944
+ "cell": "cell1",
2945
+ "suffix": "%",
2946
+ "bipolar": true,
2947
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
2948
+ "version": 1,
2949
+ "isPluginParameter": true,
2950
+ "isModulatable": true
2951
+ },
2952
+ {
2953
+ "paramId": "cell1_delayDelayTime",
2954
+ "name": "Cell1 Delay Time",
2955
+ "displayName": "Time",
2956
+ "min": 0,
2957
+ "max": 1,
2958
+ "step": 0.01,
2959
+ "skew": 1,
2960
+ "defaultValue": 0.6470588235294118,
2961
+ "cell": "cell1",
2962
+ "effect": "delay",
2963
+ "tooltip": "Delay time (ms or synced)",
2964
+ "toggleId": "cell1_delaySyncEnabled",
2965
+ "toggleOff": "delayTimeMs",
2966
+ "toggleOn": "delayTimeSync",
2967
+ "version": 1,
2968
+ "isPluginParameter": true,
2969
+ "isModulatable": true
2970
+ },
2971
+ {
2972
+ "paramId": "cell1_delaySyncEnabled",
2973
+ "name": "Cell1 Delay Sync",
2974
+ "displayName": "Sync",
2975
+ "min": 0,
2976
+ "max": 1,
2977
+ "step": 1,
2978
+ "skew": 1,
2979
+ "defaultValue": 1,
2980
+ "cell": "cell1",
2981
+ "effect": "delay",
2982
+ "tooltip": "Toggle delay time between ms and tempo sync",
2983
+ "strRepr": [
2984
+ "ms",
2985
+ "Sync"
2986
+ ],
2987
+ "version": 1,
2988
+ "isPluginParameter": true,
2989
+ "isModulatable": false
2990
+ },
2991
+ {
2992
+ "paramId": "cell1_delayFeedback",
2993
+ "name": "Cell1 Delay Feedback",
2994
+ "displayName": "Fdbk",
2995
+ "min": 0,
2996
+ "max": 100,
2997
+ "step": 1,
2998
+ "skew": 1,
2999
+ "defaultValue": 30,
3000
+ "cell": "cell1",
3001
+ "effect": "delay",
3002
+ "suffix": "%",
3003
+ "tooltip": "Feedback amount (0-100%)",
3004
+ "version": 1,
3005
+ "isPluginParameter": true,
3006
+ "isModulatable": true
3007
+ },
3008
+ {
3009
+ "paramId": "cell1_delayMix",
3010
+ "name": "Cell1 Delay Mix",
3011
+ "displayName": "Mix",
3012
+ "min": 0,
3013
+ "max": 100,
3014
+ "step": 1,
3015
+ "skew": 1,
3016
+ "defaultValue": 50,
3017
+ "cell": "cell1",
3018
+ "effect": "delay",
3019
+ "suffix": "%",
3020
+ "tooltip": "Dry/Wet mix (0-100%)",
3021
+ "version": 1,
3022
+ "isPluginParameter": true,
3023
+ "isModulatable": true
3024
+ },
3025
+ {
3026
+ "paramId": "cell1_fdnMix",
3027
+ "name": "Cell1 FDN Mix",
3028
+ "displayName": "Mix",
3029
+ "min": 0,
3030
+ "max": 100,
3031
+ "step": 1,
3032
+ "skew": 1,
3033
+ "defaultValue": 50,
3034
+ "cell": "cell1",
3035
+ "effect": "fdn",
3036
+ "suffix": "%",
3037
+ "tooltip": "Mix amount (0-100%)",
2562
3038
  "version": 1,
2563
3039
  "isPluginParameter": true,
2564
3040
  "isModulatable": true
@@ -3735,140 +4211,358 @@
3735
4211
  "paramId": "cell2_stretchGrainMs",
3736
4212
  "name": "Cell2 Stretch Grain",
3737
4213
  "displayName": "Grain",
3738
- "min": 10,
3739
- "max": 200,
3740
- "step": 1,
3741
- "skew": 1,
4214
+ "min": 1,
4215
+ "max": 2000,
4216
+ "step": 0.1,
4217
+ "skew": 0.25,
3742
4218
  "defaultValue": 50,
3743
4219
  "cell": "cell2",
3744
4220
  "suffix": " ms",
3745
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
3746
- "version": 1,
4221
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
4222
+ "version": 5,
3747
4223
  "isPluginParameter": true,
3748
4224
  "isModulatable": true
3749
4225
  },
3750
4226
  {
3751
- "paramId": "cell2_delayDelayTime",
3752
- "name": "Cell2 Delay Time",
3753
- "displayName": "Time",
4227
+ "paramId": "cell2_quantStrength",
4228
+ "name": "Cell2 Quantize",
4229
+ "displayName": "Quantize",
3754
4230
  "min": 0,
3755
- "max": 1,
4231
+ "max": 100,
3756
4232
  "step": 0.01,
3757
4233
  "skew": 1,
3758
- "defaultValue": 0.6470588235294118,
4234
+ "defaultValue": 100,
3759
4235
  "cell": "cell2",
3760
- "effect": "delay",
3761
- "tooltip": "Delay time (ms or synced)",
3762
- "toggleId": "cell2_delaySyncEnabled",
3763
- "toggleOff": "delayTimeMs",
3764
- "toggleOn": "delayTimeSync",
3765
- "version": 1,
4236
+ "suffix": "%",
4237
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
4238
+ "version": 2,
3766
4239
  "isPluginParameter": true,
3767
4240
  "isModulatable": true
3768
4241
  },
3769
4242
  {
3770
- "paramId": "cell2_delaySyncEnabled",
3771
- "name": "Cell2 Delay Sync",
3772
- "displayName": "Sync",
4243
+ "paramId": "cell2_quantRoot",
4244
+ "name": "Cell2 Quantize Root",
4245
+ "displayName": "Root",
3773
4246
  "min": 0,
3774
- "max": 1,
4247
+ "max": 11,
3775
4248
  "step": 1,
3776
4249
  "skew": 1,
3777
- "defaultValue": 1,
4250
+ "defaultValue": 0,
3778
4251
  "cell": "cell2",
3779
- "effect": "delay",
3780
- "tooltip": "Toggle delay time between ms and tempo sync",
3781
- "strRepr": [
3782
- "ms",
3783
- "Sync"
4252
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
4253
+ "strRepr": [
4254
+ "C",
4255
+ "C#",
4256
+ "D",
4257
+ "D#",
4258
+ "E",
4259
+ "F",
4260
+ "F#",
4261
+ "G",
4262
+ "G#",
4263
+ "A",
4264
+ "A#",
4265
+ "B"
3784
4266
  ],
3785
4267
  "version": 1,
3786
4268
  "isPluginParameter": true,
3787
- "isModulatable": false
4269
+ "isModulatable": true
3788
4270
  },
3789
4271
  {
3790
- "paramId": "cell2_delayFeedback",
3791
- "name": "Cell2 Delay Feedback",
3792
- "displayName": "Fdbk",
4272
+ "paramId": "cell2_quantScale",
4273
+ "name": "Cell2 Quantize Scale",
4274
+ "displayName": "Scale",
3793
4275
  "min": 0,
3794
- "max": 100,
4276
+ "max": 9,
3795
4277
  "step": 1,
3796
4278
  "skew": 1,
3797
- "defaultValue": 30,
4279
+ "defaultValue": 0,
3798
4280
  "cell": "cell2",
3799
- "effect": "delay",
3800
- "suffix": "%",
3801
- "tooltip": "Feedback amount (0-100%)",
4281
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
4282
+ "strRepr": [
4283
+ "Chromatic",
4284
+ "Major",
4285
+ "Minor",
4286
+ "Penta Maj",
4287
+ "Penta Min",
4288
+ "Dorian",
4289
+ "Mixolydian",
4290
+ "Blues",
4291
+ "Harm Min",
4292
+ "Phrygian"
4293
+ ],
3802
4294
  "version": 1,
3803
4295
  "isPluginParameter": true,
3804
4296
  "isModulatable": true
3805
4297
  },
3806
4298
  {
3807
- "paramId": "cell2_delayMix",
3808
- "name": "Cell2 Delay Mix",
3809
- "displayName": "Mix",
3810
- "min": 0,
3811
- "max": 100,
4299
+ "paramId": "cell2_grainDensity",
4300
+ "name": "Cell2 Grain Density",
4301
+ "displayName": "Density",
4302
+ "min": 1,
4303
+ "max": 32,
3812
4304
  "step": 1,
3813
4305
  "skew": 1,
3814
- "defaultValue": 50,
4306
+ "defaultValue": 16,
3815
4307
  "cell": "cell2",
3816
- "effect": "delay",
3817
- "suffix": "%",
3818
- "tooltip": "Dry/Wet mix (0-100%)",
4308
+ "tooltip": "Number of granular grains active at once.",
3819
4309
  "version": 1,
3820
4310
  "isPluginParameter": true,
3821
4311
  "isModulatable": true
3822
4312
  },
3823
4313
  {
3824
- "paramId": "cell2_fdnMix",
3825
- "name": "Cell2 FDN Mix",
3826
- "displayName": "Mix",
4314
+ "paramId": "cell2_spread",
4315
+ "name": "Cell2 Spread",
4316
+ "displayName": "Spread",
3827
4317
  "min": 0,
3828
4318
  "max": 100,
3829
4319
  "step": 1,
3830
4320
  "skew": 1,
3831
- "defaultValue": 50,
4321
+ "defaultValue": 0,
3832
4322
  "cell": "cell2",
3833
- "effect": "fdn",
3834
4323
  "suffix": "%",
3835
- "tooltip": "Mix amount (0-100%)",
4324
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
3836
4325
  "version": 1,
3837
4326
  "isPluginParameter": true,
3838
4327
  "isModulatable": true
3839
4328
  },
3840
4329
  {
3841
- "paramId": "cell2_fdnModDepth",
3842
- "name": "Cell2 FDN Mod",
3843
- "displayName": "Mod",
4330
+ "paramId": "cell2_chaos",
4331
+ "name": "Cell2 Chaos",
4332
+ "displayName": "Chaos",
3844
4333
  "min": 0,
3845
4334
  "max": 100,
3846
4335
  "step": 1,
3847
4336
  "skew": 1,
3848
- "defaultValue": 30,
4337
+ "defaultValue": 0,
3849
4338
  "cell": "cell2",
3850
- "effect": "fdn",
3851
4339
  "suffix": "%",
3852
- "tooltip": "Modulation depth (0-100%)",
4340
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
3853
4341
  "version": 1,
3854
4342
  "isPluginParameter": true,
3855
4343
  "isModulatable": true
3856
4344
  },
3857
4345
  {
3858
- "paramId": "cell2_fdnFeedback",
3859
- "name": "Cell2 FDN Feedback",
3860
- "displayName": "Fdbk",
4346
+ "paramId": "cell2_grainWindow",
4347
+ "name": "Cell2 Grain Window",
4348
+ "displayName": "Window",
3861
4349
  "min": 0,
3862
- "max": 100,
4350
+ "max": 4,
3863
4351
  "step": 1,
3864
4352
  "skew": 1,
3865
- "defaultValue": 25,
4353
+ "defaultValue": 0,
3866
4354
  "cell": "cell2",
3867
- "effect": "fdn",
3868
- "suffix": "%",
3869
- "tooltip": "Feedback amount (0-100%)",
3870
- "version": 1,
3871
- "isPluginParameter": true,
4355
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
4356
+ "strRepr": [
4357
+ "Hann",
4358
+ "Tukey",
4359
+ "Welch",
4360
+ "AsymRise",
4361
+ "AsymFall"
4362
+ ],
4363
+ "version": 2,
4364
+ "isPluginParameter": true,
4365
+ "isModulatable": true
4366
+ },
4367
+ {
4368
+ "paramId": "cell2_grainArp",
4369
+ "name": "Cell2 Grain Arp",
4370
+ "displayName": "Arp",
4371
+ "min": 0,
4372
+ "max": 9,
4373
+ "step": 1,
4374
+ "skew": 1,
4375
+ "defaultValue": 0,
4376
+ "cell": "cell2",
4377
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
4378
+ "strRepr": [
4379
+ "Off",
4380
+ "Octaver",
4381
+ "Stack",
4382
+ "Wiggle",
4383
+ "Penta",
4384
+ "Major",
4385
+ "Minor",
4386
+ "Whole",
4387
+ "Drift",
4388
+ "Toss"
4389
+ ],
4390
+ "version": 4,
4391
+ "isPluginParameter": true,
4392
+ "isModulatable": true
4393
+ },
4394
+ {
4395
+ "paramId": "cell2_formantShift",
4396
+ "name": "Cell2 Formant Shift",
4397
+ "displayName": "Formant",
4398
+ "min": -12,
4399
+ "max": 12,
4400
+ "step": 0.01,
4401
+ "skew": 1,
4402
+ "defaultValue": 0,
4403
+ "cell": "cell2",
4404
+ "suffix": " st",
4405
+ "bipolar": true,
4406
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
4407
+ "version": 2,
4408
+ "isPluginParameter": true,
4409
+ "isModulatable": true
4410
+ },
4411
+ {
4412
+ "paramId": "cell2_vcaDepth",
4413
+ "name": "Cell2 Drone",
4414
+ "displayName": "Drone",
4415
+ "min": 0,
4416
+ "max": 100,
4417
+ "step": 0.1,
4418
+ "skew": 1,
4419
+ "defaultValue": 0,
4420
+ "cell": "cell2",
4421
+ "suffix": "%",
4422
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
4423
+ "version": 3,
4424
+ "isPluginParameter": true,
4425
+ "isModulatable": true
4426
+ },
4427
+ {
4428
+ "paramId": "cell2_grainScan",
4429
+ "name": "Cell2 Grain Scan",
4430
+ "displayName": "Scan",
4431
+ "min": -100,
4432
+ "max": 100,
4433
+ "step": 0.01,
4434
+ "skew": 1,
4435
+ "defaultValue": 100,
4436
+ "cell": "cell2",
4437
+ "suffix": "%",
4438
+ "bipolar": true,
4439
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
4440
+ "version": 1,
4441
+ "isPluginParameter": true,
4442
+ "isModulatable": true
4443
+ },
4444
+ {
4445
+ "paramId": "cell2_delayDelayTime",
4446
+ "name": "Cell2 Delay Time",
4447
+ "displayName": "Time",
4448
+ "min": 0,
4449
+ "max": 1,
4450
+ "step": 0.01,
4451
+ "skew": 1,
4452
+ "defaultValue": 0.6470588235294118,
4453
+ "cell": "cell2",
4454
+ "effect": "delay",
4455
+ "tooltip": "Delay time (ms or synced)",
4456
+ "toggleId": "cell2_delaySyncEnabled",
4457
+ "toggleOff": "delayTimeMs",
4458
+ "toggleOn": "delayTimeSync",
4459
+ "version": 1,
4460
+ "isPluginParameter": true,
4461
+ "isModulatable": true
4462
+ },
4463
+ {
4464
+ "paramId": "cell2_delaySyncEnabled",
4465
+ "name": "Cell2 Delay Sync",
4466
+ "displayName": "Sync",
4467
+ "min": 0,
4468
+ "max": 1,
4469
+ "step": 1,
4470
+ "skew": 1,
4471
+ "defaultValue": 1,
4472
+ "cell": "cell2",
4473
+ "effect": "delay",
4474
+ "tooltip": "Toggle delay time between ms and tempo sync",
4475
+ "strRepr": [
4476
+ "ms",
4477
+ "Sync"
4478
+ ],
4479
+ "version": 1,
4480
+ "isPluginParameter": true,
4481
+ "isModulatable": false
4482
+ },
4483
+ {
4484
+ "paramId": "cell2_delayFeedback",
4485
+ "name": "Cell2 Delay Feedback",
4486
+ "displayName": "Fdbk",
4487
+ "min": 0,
4488
+ "max": 100,
4489
+ "step": 1,
4490
+ "skew": 1,
4491
+ "defaultValue": 30,
4492
+ "cell": "cell2",
4493
+ "effect": "delay",
4494
+ "suffix": "%",
4495
+ "tooltip": "Feedback amount (0-100%)",
4496
+ "version": 1,
4497
+ "isPluginParameter": true,
4498
+ "isModulatable": true
4499
+ },
4500
+ {
4501
+ "paramId": "cell2_delayMix",
4502
+ "name": "Cell2 Delay Mix",
4503
+ "displayName": "Mix",
4504
+ "min": 0,
4505
+ "max": 100,
4506
+ "step": 1,
4507
+ "skew": 1,
4508
+ "defaultValue": 50,
4509
+ "cell": "cell2",
4510
+ "effect": "delay",
4511
+ "suffix": "%",
4512
+ "tooltip": "Dry/Wet mix (0-100%)",
4513
+ "version": 1,
4514
+ "isPluginParameter": true,
4515
+ "isModulatable": true
4516
+ },
4517
+ {
4518
+ "paramId": "cell2_fdnMix",
4519
+ "name": "Cell2 FDN Mix",
4520
+ "displayName": "Mix",
4521
+ "min": 0,
4522
+ "max": 100,
4523
+ "step": 1,
4524
+ "skew": 1,
4525
+ "defaultValue": 50,
4526
+ "cell": "cell2",
4527
+ "effect": "fdn",
4528
+ "suffix": "%",
4529
+ "tooltip": "Mix amount (0-100%)",
4530
+ "version": 1,
4531
+ "isPluginParameter": true,
4532
+ "isModulatable": true
4533
+ },
4534
+ {
4535
+ "paramId": "cell2_fdnModDepth",
4536
+ "name": "Cell2 FDN Mod",
4537
+ "displayName": "Mod",
4538
+ "min": 0,
4539
+ "max": 100,
4540
+ "step": 1,
4541
+ "skew": 1,
4542
+ "defaultValue": 30,
4543
+ "cell": "cell2",
4544
+ "effect": "fdn",
4545
+ "suffix": "%",
4546
+ "tooltip": "Modulation depth (0-100%)",
4547
+ "version": 1,
4548
+ "isPluginParameter": true,
4549
+ "isModulatable": true
4550
+ },
4551
+ {
4552
+ "paramId": "cell2_fdnFeedback",
4553
+ "name": "Cell2 FDN Feedback",
4554
+ "displayName": "Fdbk",
4555
+ "min": 0,
4556
+ "max": 100,
4557
+ "step": 1,
4558
+ "skew": 1,
4559
+ "defaultValue": 25,
4560
+ "cell": "cell2",
4561
+ "effect": "fdn",
4562
+ "suffix": "%",
4563
+ "tooltip": "Feedback amount (0-100%)",
4564
+ "version": 1,
4565
+ "isPluginParameter": true,
3872
4566
  "isModulatable": true
3873
4567
  },
3874
4568
  {
@@ -5009,119 +5703,337 @@
5009
5703
  "paramId": "cell3_stretchGrainMs",
5010
5704
  "name": "Cell3 Stretch Grain",
5011
5705
  "displayName": "Grain",
5012
- "min": 10,
5013
- "max": 200,
5014
- "step": 1,
5015
- "skew": 1,
5706
+ "min": 1,
5707
+ "max": 2000,
5708
+ "step": 0.1,
5709
+ "skew": 0.25,
5016
5710
  "defaultValue": 50,
5017
5711
  "cell": "cell3",
5018
5712
  "suffix": " ms",
5019
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
5020
- "version": 1,
5713
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
5714
+ "version": 5,
5021
5715
  "isPluginParameter": true,
5022
5716
  "isModulatable": true
5023
5717
  },
5024
5718
  {
5025
- "paramId": "cell3_delayDelayTime",
5026
- "name": "Cell3 Delay Time",
5027
- "displayName": "Time",
5719
+ "paramId": "cell3_quantStrength",
5720
+ "name": "Cell3 Quantize",
5721
+ "displayName": "Quantize",
5028
5722
  "min": 0,
5029
- "max": 1,
5723
+ "max": 100,
5030
5724
  "step": 0.01,
5031
5725
  "skew": 1,
5032
- "defaultValue": 0.6470588235294118,
5726
+ "defaultValue": 100,
5033
5727
  "cell": "cell3",
5034
- "effect": "delay",
5035
- "tooltip": "Delay time (ms or synced)",
5036
- "toggleId": "cell3_delaySyncEnabled",
5037
- "toggleOff": "delayTimeMs",
5038
- "toggleOn": "delayTimeSync",
5039
- "version": 1,
5728
+ "suffix": "%",
5729
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
5730
+ "version": 2,
5040
5731
  "isPluginParameter": true,
5041
5732
  "isModulatable": true
5042
5733
  },
5043
5734
  {
5044
- "paramId": "cell3_delaySyncEnabled",
5045
- "name": "Cell3 Delay Sync",
5046
- "displayName": "Sync",
5735
+ "paramId": "cell3_quantRoot",
5736
+ "name": "Cell3 Quantize Root",
5737
+ "displayName": "Root",
5047
5738
  "min": 0,
5048
- "max": 1,
5739
+ "max": 11,
5049
5740
  "step": 1,
5050
5741
  "skew": 1,
5051
- "defaultValue": 1,
5742
+ "defaultValue": 0,
5052
5743
  "cell": "cell3",
5053
- "effect": "delay",
5054
- "tooltip": "Toggle delay time between ms and tempo sync",
5055
- "strRepr": [
5056
- "ms",
5057
- "Sync"
5744
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
5745
+ "strRepr": [
5746
+ "C",
5747
+ "C#",
5748
+ "D",
5749
+ "D#",
5750
+ "E",
5751
+ "F",
5752
+ "F#",
5753
+ "G",
5754
+ "G#",
5755
+ "A",
5756
+ "A#",
5757
+ "B"
5058
5758
  ],
5059
5759
  "version": 1,
5060
5760
  "isPluginParameter": true,
5061
- "isModulatable": false
5761
+ "isModulatable": true
5062
5762
  },
5063
5763
  {
5064
- "paramId": "cell3_delayFeedback",
5065
- "name": "Cell3 Delay Feedback",
5066
- "displayName": "Fdbk",
5764
+ "paramId": "cell3_quantScale",
5765
+ "name": "Cell3 Quantize Scale",
5766
+ "displayName": "Scale",
5067
5767
  "min": 0,
5068
- "max": 100,
5768
+ "max": 9,
5069
5769
  "step": 1,
5070
5770
  "skew": 1,
5071
- "defaultValue": 30,
5771
+ "defaultValue": 0,
5072
5772
  "cell": "cell3",
5073
- "effect": "delay",
5074
- "suffix": "%",
5075
- "tooltip": "Feedback amount (0-100%)",
5773
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
5774
+ "strRepr": [
5775
+ "Chromatic",
5776
+ "Major",
5777
+ "Minor",
5778
+ "Penta Maj",
5779
+ "Penta Min",
5780
+ "Dorian",
5781
+ "Mixolydian",
5782
+ "Blues",
5783
+ "Harm Min",
5784
+ "Phrygian"
5785
+ ],
5076
5786
  "version": 1,
5077
5787
  "isPluginParameter": true,
5078
5788
  "isModulatable": true
5079
5789
  },
5080
5790
  {
5081
- "paramId": "cell3_delayMix",
5082
- "name": "Cell3 Delay Mix",
5083
- "displayName": "Mix",
5084
- "min": 0,
5085
- "max": 100,
5791
+ "paramId": "cell3_grainDensity",
5792
+ "name": "Cell3 Grain Density",
5793
+ "displayName": "Density",
5794
+ "min": 1,
5795
+ "max": 32,
5086
5796
  "step": 1,
5087
5797
  "skew": 1,
5088
- "defaultValue": 50,
5798
+ "defaultValue": 16,
5089
5799
  "cell": "cell3",
5090
- "effect": "delay",
5091
- "suffix": "%",
5092
- "tooltip": "Dry/Wet mix (0-100%)",
5800
+ "tooltip": "Number of granular grains active at once.",
5093
5801
  "version": 1,
5094
5802
  "isPluginParameter": true,
5095
5803
  "isModulatable": true
5096
5804
  },
5097
5805
  {
5098
- "paramId": "cell3_fdnMix",
5099
- "name": "Cell3 FDN Mix",
5100
- "displayName": "Mix",
5806
+ "paramId": "cell3_spread",
5807
+ "name": "Cell3 Spread",
5808
+ "displayName": "Spread",
5101
5809
  "min": 0,
5102
5810
  "max": 100,
5103
5811
  "step": 1,
5104
5812
  "skew": 1,
5105
- "defaultValue": 50,
5813
+ "defaultValue": 0,
5106
5814
  "cell": "cell3",
5107
- "effect": "fdn",
5108
5815
  "suffix": "%",
5109
- "tooltip": "Mix amount (0-100%)",
5816
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
5110
5817
  "version": 1,
5111
5818
  "isPluginParameter": true,
5112
5819
  "isModulatable": true
5113
5820
  },
5114
5821
  {
5115
- "paramId": "cell3_fdnModDepth",
5116
- "name": "Cell3 FDN Mod",
5117
- "displayName": "Mod",
5822
+ "paramId": "cell3_chaos",
5823
+ "name": "Cell3 Chaos",
5824
+ "displayName": "Chaos",
5118
5825
  "min": 0,
5119
5826
  "max": 100,
5120
5827
  "step": 1,
5121
5828
  "skew": 1,
5122
- "defaultValue": 30,
5829
+ "defaultValue": 0,
5123
5830
  "cell": "cell3",
5124
- "effect": "fdn",
5831
+ "suffix": "%",
5832
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
5833
+ "version": 1,
5834
+ "isPluginParameter": true,
5835
+ "isModulatable": true
5836
+ },
5837
+ {
5838
+ "paramId": "cell3_grainWindow",
5839
+ "name": "Cell3 Grain Window",
5840
+ "displayName": "Window",
5841
+ "min": 0,
5842
+ "max": 4,
5843
+ "step": 1,
5844
+ "skew": 1,
5845
+ "defaultValue": 0,
5846
+ "cell": "cell3",
5847
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
5848
+ "strRepr": [
5849
+ "Hann",
5850
+ "Tukey",
5851
+ "Welch",
5852
+ "AsymRise",
5853
+ "AsymFall"
5854
+ ],
5855
+ "version": 2,
5856
+ "isPluginParameter": true,
5857
+ "isModulatable": true
5858
+ },
5859
+ {
5860
+ "paramId": "cell3_grainArp",
5861
+ "name": "Cell3 Grain Arp",
5862
+ "displayName": "Arp",
5863
+ "min": 0,
5864
+ "max": 9,
5865
+ "step": 1,
5866
+ "skew": 1,
5867
+ "defaultValue": 0,
5868
+ "cell": "cell3",
5869
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
5870
+ "strRepr": [
5871
+ "Off",
5872
+ "Octaver",
5873
+ "Stack",
5874
+ "Wiggle",
5875
+ "Penta",
5876
+ "Major",
5877
+ "Minor",
5878
+ "Whole",
5879
+ "Drift",
5880
+ "Toss"
5881
+ ],
5882
+ "version": 4,
5883
+ "isPluginParameter": true,
5884
+ "isModulatable": true
5885
+ },
5886
+ {
5887
+ "paramId": "cell3_formantShift",
5888
+ "name": "Cell3 Formant Shift",
5889
+ "displayName": "Formant",
5890
+ "min": -12,
5891
+ "max": 12,
5892
+ "step": 0.01,
5893
+ "skew": 1,
5894
+ "defaultValue": 0,
5895
+ "cell": "cell3",
5896
+ "suffix": " st",
5897
+ "bipolar": true,
5898
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
5899
+ "version": 2,
5900
+ "isPluginParameter": true,
5901
+ "isModulatable": true
5902
+ },
5903
+ {
5904
+ "paramId": "cell3_vcaDepth",
5905
+ "name": "Cell3 Drone",
5906
+ "displayName": "Drone",
5907
+ "min": 0,
5908
+ "max": 100,
5909
+ "step": 0.1,
5910
+ "skew": 1,
5911
+ "defaultValue": 0,
5912
+ "cell": "cell3",
5913
+ "suffix": "%",
5914
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
5915
+ "version": 3,
5916
+ "isPluginParameter": true,
5917
+ "isModulatable": true
5918
+ },
5919
+ {
5920
+ "paramId": "cell3_grainScan",
5921
+ "name": "Cell3 Grain Scan",
5922
+ "displayName": "Scan",
5923
+ "min": -100,
5924
+ "max": 100,
5925
+ "step": 0.01,
5926
+ "skew": 1,
5927
+ "defaultValue": 100,
5928
+ "cell": "cell3",
5929
+ "suffix": "%",
5930
+ "bipolar": true,
5931
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
5932
+ "version": 1,
5933
+ "isPluginParameter": true,
5934
+ "isModulatable": true
5935
+ },
5936
+ {
5937
+ "paramId": "cell3_delayDelayTime",
5938
+ "name": "Cell3 Delay Time",
5939
+ "displayName": "Time",
5940
+ "min": 0,
5941
+ "max": 1,
5942
+ "step": 0.01,
5943
+ "skew": 1,
5944
+ "defaultValue": 0.6470588235294118,
5945
+ "cell": "cell3",
5946
+ "effect": "delay",
5947
+ "tooltip": "Delay time (ms or synced)",
5948
+ "toggleId": "cell3_delaySyncEnabled",
5949
+ "toggleOff": "delayTimeMs",
5950
+ "toggleOn": "delayTimeSync",
5951
+ "version": 1,
5952
+ "isPluginParameter": true,
5953
+ "isModulatable": true
5954
+ },
5955
+ {
5956
+ "paramId": "cell3_delaySyncEnabled",
5957
+ "name": "Cell3 Delay Sync",
5958
+ "displayName": "Sync",
5959
+ "min": 0,
5960
+ "max": 1,
5961
+ "step": 1,
5962
+ "skew": 1,
5963
+ "defaultValue": 1,
5964
+ "cell": "cell3",
5965
+ "effect": "delay",
5966
+ "tooltip": "Toggle delay time between ms and tempo sync",
5967
+ "strRepr": [
5968
+ "ms",
5969
+ "Sync"
5970
+ ],
5971
+ "version": 1,
5972
+ "isPluginParameter": true,
5973
+ "isModulatable": false
5974
+ },
5975
+ {
5976
+ "paramId": "cell3_delayFeedback",
5977
+ "name": "Cell3 Delay Feedback",
5978
+ "displayName": "Fdbk",
5979
+ "min": 0,
5980
+ "max": 100,
5981
+ "step": 1,
5982
+ "skew": 1,
5983
+ "defaultValue": 30,
5984
+ "cell": "cell3",
5985
+ "effect": "delay",
5986
+ "suffix": "%",
5987
+ "tooltip": "Feedback amount (0-100%)",
5988
+ "version": 1,
5989
+ "isPluginParameter": true,
5990
+ "isModulatable": true
5991
+ },
5992
+ {
5993
+ "paramId": "cell3_delayMix",
5994
+ "name": "Cell3 Delay Mix",
5995
+ "displayName": "Mix",
5996
+ "min": 0,
5997
+ "max": 100,
5998
+ "step": 1,
5999
+ "skew": 1,
6000
+ "defaultValue": 50,
6001
+ "cell": "cell3",
6002
+ "effect": "delay",
6003
+ "suffix": "%",
6004
+ "tooltip": "Dry/Wet mix (0-100%)",
6005
+ "version": 1,
6006
+ "isPluginParameter": true,
6007
+ "isModulatable": true
6008
+ },
6009
+ {
6010
+ "paramId": "cell3_fdnMix",
6011
+ "name": "Cell3 FDN Mix",
6012
+ "displayName": "Mix",
6013
+ "min": 0,
6014
+ "max": 100,
6015
+ "step": 1,
6016
+ "skew": 1,
6017
+ "defaultValue": 50,
6018
+ "cell": "cell3",
6019
+ "effect": "fdn",
6020
+ "suffix": "%",
6021
+ "tooltip": "Mix amount (0-100%)",
6022
+ "version": 1,
6023
+ "isPluginParameter": true,
6024
+ "isModulatable": true
6025
+ },
6026
+ {
6027
+ "paramId": "cell3_fdnModDepth",
6028
+ "name": "Cell3 FDN Mod",
6029
+ "displayName": "Mod",
6030
+ "min": 0,
6031
+ "max": 100,
6032
+ "step": 1,
6033
+ "skew": 1,
6034
+ "defaultValue": 30,
6035
+ "cell": "cell3",
6036
+ "effect": "fdn",
5125
6037
  "suffix": "%",
5126
6038
  "tooltip": "Modulation depth (0-100%)",
5127
6039
  "version": 1,
@@ -6283,136 +7195,354 @@
6283
7195
  "paramId": "cell4_stretchGrainMs",
6284
7196
  "name": "Cell4 Stretch Grain",
6285
7197
  "displayName": "Grain",
6286
- "min": 10,
6287
- "max": 200,
6288
- "step": 1,
6289
- "skew": 1,
7198
+ "min": 1,
7199
+ "max": 2000,
7200
+ "step": 0.1,
7201
+ "skew": 0.25,
6290
7202
  "defaultValue": 50,
6291
7203
  "cell": "cell4",
6292
7204
  "suffix": " ms",
6293
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
6294
- "version": 1,
7205
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
7206
+ "version": 5,
6295
7207
  "isPluginParameter": true,
6296
7208
  "isModulatable": true
6297
7209
  },
6298
7210
  {
6299
- "paramId": "cell4_delayDelayTime",
6300
- "name": "Cell4 Delay Time",
6301
- "displayName": "Time",
7211
+ "paramId": "cell4_quantStrength",
7212
+ "name": "Cell4 Quantize",
7213
+ "displayName": "Quantize",
6302
7214
  "min": 0,
6303
- "max": 1,
7215
+ "max": 100,
6304
7216
  "step": 0.01,
6305
7217
  "skew": 1,
6306
- "defaultValue": 0.6470588235294118,
7218
+ "defaultValue": 100,
6307
7219
  "cell": "cell4",
6308
- "effect": "delay",
6309
- "tooltip": "Delay time (ms or synced)",
6310
- "toggleId": "cell4_delaySyncEnabled",
6311
- "toggleOff": "delayTimeMs",
6312
- "toggleOn": "delayTimeSync",
6313
- "version": 1,
7220
+ "suffix": "%",
7221
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
7222
+ "version": 2,
6314
7223
  "isPluginParameter": true,
6315
7224
  "isModulatable": true
6316
7225
  },
6317
7226
  {
6318
- "paramId": "cell4_delaySyncEnabled",
6319
- "name": "Cell4 Delay Sync",
6320
- "displayName": "Sync",
7227
+ "paramId": "cell4_quantRoot",
7228
+ "name": "Cell4 Quantize Root",
7229
+ "displayName": "Root",
6321
7230
  "min": 0,
6322
- "max": 1,
7231
+ "max": 11,
6323
7232
  "step": 1,
6324
7233
  "skew": 1,
6325
- "defaultValue": 1,
7234
+ "defaultValue": 0,
6326
7235
  "cell": "cell4",
6327
- "effect": "delay",
6328
- "tooltip": "Toggle delay time between ms and tempo sync",
6329
- "strRepr": [
6330
- "ms",
6331
- "Sync"
7236
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
7237
+ "strRepr": [
7238
+ "C",
7239
+ "C#",
7240
+ "D",
7241
+ "D#",
7242
+ "E",
7243
+ "F",
7244
+ "F#",
7245
+ "G",
7246
+ "G#",
7247
+ "A",
7248
+ "A#",
7249
+ "B"
6332
7250
  ],
6333
7251
  "version": 1,
6334
7252
  "isPluginParameter": true,
6335
- "isModulatable": false
7253
+ "isModulatable": true
6336
7254
  },
6337
7255
  {
6338
- "paramId": "cell4_delayFeedback",
6339
- "name": "Cell4 Delay Feedback",
6340
- "displayName": "Fdbk",
7256
+ "paramId": "cell4_quantScale",
7257
+ "name": "Cell4 Quantize Scale",
7258
+ "displayName": "Scale",
6341
7259
  "min": 0,
6342
- "max": 100,
7260
+ "max": 9,
6343
7261
  "step": 1,
6344
7262
  "skew": 1,
6345
- "defaultValue": 30,
7263
+ "defaultValue": 0,
6346
7264
  "cell": "cell4",
6347
- "effect": "delay",
6348
- "suffix": "%",
6349
- "tooltip": "Feedback amount (0-100%)",
7265
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
7266
+ "strRepr": [
7267
+ "Chromatic",
7268
+ "Major",
7269
+ "Minor",
7270
+ "Penta Maj",
7271
+ "Penta Min",
7272
+ "Dorian",
7273
+ "Mixolydian",
7274
+ "Blues",
7275
+ "Harm Min",
7276
+ "Phrygian"
7277
+ ],
6350
7278
  "version": 1,
6351
7279
  "isPluginParameter": true,
6352
7280
  "isModulatable": true
6353
7281
  },
6354
7282
  {
6355
- "paramId": "cell4_delayMix",
6356
- "name": "Cell4 Delay Mix",
6357
- "displayName": "Mix",
6358
- "min": 0,
6359
- "max": 100,
7283
+ "paramId": "cell4_grainDensity",
7284
+ "name": "Cell4 Grain Density",
7285
+ "displayName": "Density",
7286
+ "min": 1,
7287
+ "max": 32,
6360
7288
  "step": 1,
6361
7289
  "skew": 1,
6362
- "defaultValue": 50,
7290
+ "defaultValue": 16,
6363
7291
  "cell": "cell4",
6364
- "effect": "delay",
6365
- "suffix": "%",
6366
- "tooltip": "Dry/Wet mix (0-100%)",
7292
+ "tooltip": "Number of granular grains active at once.",
6367
7293
  "version": 1,
6368
7294
  "isPluginParameter": true,
6369
7295
  "isModulatable": true
6370
7296
  },
6371
7297
  {
6372
- "paramId": "cell4_fdnMix",
6373
- "name": "Cell4 FDN Mix",
6374
- "displayName": "Mix",
7298
+ "paramId": "cell4_spread",
7299
+ "name": "Cell4 Spread",
7300
+ "displayName": "Spread",
6375
7301
  "min": 0,
6376
7302
  "max": 100,
6377
7303
  "step": 1,
6378
7304
  "skew": 1,
6379
- "defaultValue": 50,
7305
+ "defaultValue": 0,
6380
7306
  "cell": "cell4",
6381
- "effect": "fdn",
6382
7307
  "suffix": "%",
6383
- "tooltip": "Mix amount (0-100%)",
7308
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
6384
7309
  "version": 1,
6385
7310
  "isPluginParameter": true,
6386
7311
  "isModulatable": true
6387
7312
  },
6388
7313
  {
6389
- "paramId": "cell4_fdnModDepth",
6390
- "name": "Cell4 FDN Mod",
6391
- "displayName": "Mod",
7314
+ "paramId": "cell4_chaos",
7315
+ "name": "Cell4 Chaos",
7316
+ "displayName": "Chaos",
6392
7317
  "min": 0,
6393
7318
  "max": 100,
6394
7319
  "step": 1,
6395
7320
  "skew": 1,
6396
- "defaultValue": 30,
7321
+ "defaultValue": 0,
6397
7322
  "cell": "cell4",
6398
- "effect": "fdn",
6399
7323
  "suffix": "%",
6400
- "tooltip": "Modulation depth (0-100%)",
7324
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
6401
7325
  "version": 1,
6402
7326
  "isPluginParameter": true,
6403
7327
  "isModulatable": true
6404
7328
  },
6405
7329
  {
6406
- "paramId": "cell4_fdnFeedback",
6407
- "name": "Cell4 FDN Feedback",
6408
- "displayName": "Fdbk",
7330
+ "paramId": "cell4_grainWindow",
7331
+ "name": "Cell4 Grain Window",
7332
+ "displayName": "Window",
6409
7333
  "min": 0,
6410
- "max": 100,
7334
+ "max": 4,
6411
7335
  "step": 1,
6412
7336
  "skew": 1,
6413
- "defaultValue": 25,
7337
+ "defaultValue": 0,
6414
7338
  "cell": "cell4",
6415
- "effect": "fdn",
7339
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
7340
+ "strRepr": [
7341
+ "Hann",
7342
+ "Tukey",
7343
+ "Welch",
7344
+ "AsymRise",
7345
+ "AsymFall"
7346
+ ],
7347
+ "version": 2,
7348
+ "isPluginParameter": true,
7349
+ "isModulatable": true
7350
+ },
7351
+ {
7352
+ "paramId": "cell4_grainArp",
7353
+ "name": "Cell4 Grain Arp",
7354
+ "displayName": "Arp",
7355
+ "min": 0,
7356
+ "max": 9,
7357
+ "step": 1,
7358
+ "skew": 1,
7359
+ "defaultValue": 0,
7360
+ "cell": "cell4",
7361
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
7362
+ "strRepr": [
7363
+ "Off",
7364
+ "Octaver",
7365
+ "Stack",
7366
+ "Wiggle",
7367
+ "Penta",
7368
+ "Major",
7369
+ "Minor",
7370
+ "Whole",
7371
+ "Drift",
7372
+ "Toss"
7373
+ ],
7374
+ "version": 4,
7375
+ "isPluginParameter": true,
7376
+ "isModulatable": true
7377
+ },
7378
+ {
7379
+ "paramId": "cell4_formantShift",
7380
+ "name": "Cell4 Formant Shift",
7381
+ "displayName": "Formant",
7382
+ "min": -12,
7383
+ "max": 12,
7384
+ "step": 0.01,
7385
+ "skew": 1,
7386
+ "defaultValue": 0,
7387
+ "cell": "cell4",
7388
+ "suffix": " st",
7389
+ "bipolar": true,
7390
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
7391
+ "version": 2,
7392
+ "isPluginParameter": true,
7393
+ "isModulatable": true
7394
+ },
7395
+ {
7396
+ "paramId": "cell4_vcaDepth",
7397
+ "name": "Cell4 Drone",
7398
+ "displayName": "Drone",
7399
+ "min": 0,
7400
+ "max": 100,
7401
+ "step": 0.1,
7402
+ "skew": 1,
7403
+ "defaultValue": 0,
7404
+ "cell": "cell4",
7405
+ "suffix": "%",
7406
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
7407
+ "version": 3,
7408
+ "isPluginParameter": true,
7409
+ "isModulatable": true
7410
+ },
7411
+ {
7412
+ "paramId": "cell4_grainScan",
7413
+ "name": "Cell4 Grain Scan",
7414
+ "displayName": "Scan",
7415
+ "min": -100,
7416
+ "max": 100,
7417
+ "step": 0.01,
7418
+ "skew": 1,
7419
+ "defaultValue": 100,
7420
+ "cell": "cell4",
7421
+ "suffix": "%",
7422
+ "bipolar": true,
7423
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
7424
+ "version": 1,
7425
+ "isPluginParameter": true,
7426
+ "isModulatable": true
7427
+ },
7428
+ {
7429
+ "paramId": "cell4_delayDelayTime",
7430
+ "name": "Cell4 Delay Time",
7431
+ "displayName": "Time",
7432
+ "min": 0,
7433
+ "max": 1,
7434
+ "step": 0.01,
7435
+ "skew": 1,
7436
+ "defaultValue": 0.6470588235294118,
7437
+ "cell": "cell4",
7438
+ "effect": "delay",
7439
+ "tooltip": "Delay time (ms or synced)",
7440
+ "toggleId": "cell4_delaySyncEnabled",
7441
+ "toggleOff": "delayTimeMs",
7442
+ "toggleOn": "delayTimeSync",
7443
+ "version": 1,
7444
+ "isPluginParameter": true,
7445
+ "isModulatable": true
7446
+ },
7447
+ {
7448
+ "paramId": "cell4_delaySyncEnabled",
7449
+ "name": "Cell4 Delay Sync",
7450
+ "displayName": "Sync",
7451
+ "min": 0,
7452
+ "max": 1,
7453
+ "step": 1,
7454
+ "skew": 1,
7455
+ "defaultValue": 1,
7456
+ "cell": "cell4",
7457
+ "effect": "delay",
7458
+ "tooltip": "Toggle delay time between ms and tempo sync",
7459
+ "strRepr": [
7460
+ "ms",
7461
+ "Sync"
7462
+ ],
7463
+ "version": 1,
7464
+ "isPluginParameter": true,
7465
+ "isModulatable": false
7466
+ },
7467
+ {
7468
+ "paramId": "cell4_delayFeedback",
7469
+ "name": "Cell4 Delay Feedback",
7470
+ "displayName": "Fdbk",
7471
+ "min": 0,
7472
+ "max": 100,
7473
+ "step": 1,
7474
+ "skew": 1,
7475
+ "defaultValue": 30,
7476
+ "cell": "cell4",
7477
+ "effect": "delay",
7478
+ "suffix": "%",
7479
+ "tooltip": "Feedback amount (0-100%)",
7480
+ "version": 1,
7481
+ "isPluginParameter": true,
7482
+ "isModulatable": true
7483
+ },
7484
+ {
7485
+ "paramId": "cell4_delayMix",
7486
+ "name": "Cell4 Delay Mix",
7487
+ "displayName": "Mix",
7488
+ "min": 0,
7489
+ "max": 100,
7490
+ "step": 1,
7491
+ "skew": 1,
7492
+ "defaultValue": 50,
7493
+ "cell": "cell4",
7494
+ "effect": "delay",
7495
+ "suffix": "%",
7496
+ "tooltip": "Dry/Wet mix (0-100%)",
7497
+ "version": 1,
7498
+ "isPluginParameter": true,
7499
+ "isModulatable": true
7500
+ },
7501
+ {
7502
+ "paramId": "cell4_fdnMix",
7503
+ "name": "Cell4 FDN Mix",
7504
+ "displayName": "Mix",
7505
+ "min": 0,
7506
+ "max": 100,
7507
+ "step": 1,
7508
+ "skew": 1,
7509
+ "defaultValue": 50,
7510
+ "cell": "cell4",
7511
+ "effect": "fdn",
7512
+ "suffix": "%",
7513
+ "tooltip": "Mix amount (0-100%)",
7514
+ "version": 1,
7515
+ "isPluginParameter": true,
7516
+ "isModulatable": true
7517
+ },
7518
+ {
7519
+ "paramId": "cell4_fdnModDepth",
7520
+ "name": "Cell4 FDN Mod",
7521
+ "displayName": "Mod",
7522
+ "min": 0,
7523
+ "max": 100,
7524
+ "step": 1,
7525
+ "skew": 1,
7526
+ "defaultValue": 30,
7527
+ "cell": "cell4",
7528
+ "effect": "fdn",
7529
+ "suffix": "%",
7530
+ "tooltip": "Modulation depth (0-100%)",
7531
+ "version": 1,
7532
+ "isPluginParameter": true,
7533
+ "isModulatable": true
7534
+ },
7535
+ {
7536
+ "paramId": "cell4_fdnFeedback",
7537
+ "name": "Cell4 FDN Feedback",
7538
+ "displayName": "Fdbk",
7539
+ "min": 0,
7540
+ "max": 100,
7541
+ "step": 1,
7542
+ "skew": 1,
7543
+ "defaultValue": 25,
7544
+ "cell": "cell4",
7545
+ "effect": "fdn",
6416
7546
  "suffix": "%",
6417
7547
  "tooltip": "Feedback amount (0-100%)",
6418
7548
  "version": 1,
@@ -7557,14 +8687,232 @@
7557
8687
  "paramId": "cell5_stretchGrainMs",
7558
8688
  "name": "Cell5 Stretch Grain",
7559
8689
  "displayName": "Grain",
7560
- "min": 10,
7561
- "max": 200,
7562
- "step": 1,
7563
- "skew": 1,
8690
+ "min": 1,
8691
+ "max": 2000,
8692
+ "step": 0.1,
8693
+ "skew": 0.25,
7564
8694
  "defaultValue": 50,
7565
8695
  "cell": "cell5",
7566
8696
  "suffix": " ms",
7567
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
8697
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
8698
+ "version": 5,
8699
+ "isPluginParameter": true,
8700
+ "isModulatable": true
8701
+ },
8702
+ {
8703
+ "paramId": "cell5_quantStrength",
8704
+ "name": "Cell5 Quantize",
8705
+ "displayName": "Quantize",
8706
+ "min": 0,
8707
+ "max": 100,
8708
+ "step": 0.01,
8709
+ "skew": 1,
8710
+ "defaultValue": 100,
8711
+ "cell": "cell5",
8712
+ "suffix": "%",
8713
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
8714
+ "version": 2,
8715
+ "isPluginParameter": true,
8716
+ "isModulatable": true
8717
+ },
8718
+ {
8719
+ "paramId": "cell5_quantRoot",
8720
+ "name": "Cell5 Quantize Root",
8721
+ "displayName": "Root",
8722
+ "min": 0,
8723
+ "max": 11,
8724
+ "step": 1,
8725
+ "skew": 1,
8726
+ "defaultValue": 0,
8727
+ "cell": "cell5",
8728
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
8729
+ "strRepr": [
8730
+ "C",
8731
+ "C#",
8732
+ "D",
8733
+ "D#",
8734
+ "E",
8735
+ "F",
8736
+ "F#",
8737
+ "G",
8738
+ "G#",
8739
+ "A",
8740
+ "A#",
8741
+ "B"
8742
+ ],
8743
+ "version": 1,
8744
+ "isPluginParameter": true,
8745
+ "isModulatable": true
8746
+ },
8747
+ {
8748
+ "paramId": "cell5_quantScale",
8749
+ "name": "Cell5 Quantize Scale",
8750
+ "displayName": "Scale",
8751
+ "min": 0,
8752
+ "max": 9,
8753
+ "step": 1,
8754
+ "skew": 1,
8755
+ "defaultValue": 0,
8756
+ "cell": "cell5",
8757
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
8758
+ "strRepr": [
8759
+ "Chromatic",
8760
+ "Major",
8761
+ "Minor",
8762
+ "Penta Maj",
8763
+ "Penta Min",
8764
+ "Dorian",
8765
+ "Mixolydian",
8766
+ "Blues",
8767
+ "Harm Min",
8768
+ "Phrygian"
8769
+ ],
8770
+ "version": 1,
8771
+ "isPluginParameter": true,
8772
+ "isModulatable": true
8773
+ },
8774
+ {
8775
+ "paramId": "cell5_grainDensity",
8776
+ "name": "Cell5 Grain Density",
8777
+ "displayName": "Density",
8778
+ "min": 1,
8779
+ "max": 32,
8780
+ "step": 1,
8781
+ "skew": 1,
8782
+ "defaultValue": 16,
8783
+ "cell": "cell5",
8784
+ "tooltip": "Number of granular grains active at once.",
8785
+ "version": 1,
8786
+ "isPluginParameter": true,
8787
+ "isModulatable": true
8788
+ },
8789
+ {
8790
+ "paramId": "cell5_spread",
8791
+ "name": "Cell5 Spread",
8792
+ "displayName": "Spread",
8793
+ "min": 0,
8794
+ "max": 100,
8795
+ "step": 1,
8796
+ "skew": 1,
8797
+ "defaultValue": 0,
8798
+ "cell": "cell5",
8799
+ "suffix": "%",
8800
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
8801
+ "version": 1,
8802
+ "isPluginParameter": true,
8803
+ "isModulatable": true
8804
+ },
8805
+ {
8806
+ "paramId": "cell5_chaos",
8807
+ "name": "Cell5 Chaos",
8808
+ "displayName": "Chaos",
8809
+ "min": 0,
8810
+ "max": 100,
8811
+ "step": 1,
8812
+ "skew": 1,
8813
+ "defaultValue": 0,
8814
+ "cell": "cell5",
8815
+ "suffix": "%",
8816
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
8817
+ "version": 1,
8818
+ "isPluginParameter": true,
8819
+ "isModulatable": true
8820
+ },
8821
+ {
8822
+ "paramId": "cell5_grainWindow",
8823
+ "name": "Cell5 Grain Window",
8824
+ "displayName": "Window",
8825
+ "min": 0,
8826
+ "max": 4,
8827
+ "step": 1,
8828
+ "skew": 1,
8829
+ "defaultValue": 0,
8830
+ "cell": "cell5",
8831
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
8832
+ "strRepr": [
8833
+ "Hann",
8834
+ "Tukey",
8835
+ "Welch",
8836
+ "AsymRise",
8837
+ "AsymFall"
8838
+ ],
8839
+ "version": 2,
8840
+ "isPluginParameter": true,
8841
+ "isModulatable": true
8842
+ },
8843
+ {
8844
+ "paramId": "cell5_grainArp",
8845
+ "name": "Cell5 Grain Arp",
8846
+ "displayName": "Arp",
8847
+ "min": 0,
8848
+ "max": 9,
8849
+ "step": 1,
8850
+ "skew": 1,
8851
+ "defaultValue": 0,
8852
+ "cell": "cell5",
8853
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
8854
+ "strRepr": [
8855
+ "Off",
8856
+ "Octaver",
8857
+ "Stack",
8858
+ "Wiggle",
8859
+ "Penta",
8860
+ "Major",
8861
+ "Minor",
8862
+ "Whole",
8863
+ "Drift",
8864
+ "Toss"
8865
+ ],
8866
+ "version": 4,
8867
+ "isPluginParameter": true,
8868
+ "isModulatable": true
8869
+ },
8870
+ {
8871
+ "paramId": "cell5_formantShift",
8872
+ "name": "Cell5 Formant Shift",
8873
+ "displayName": "Formant",
8874
+ "min": -12,
8875
+ "max": 12,
8876
+ "step": 0.01,
8877
+ "skew": 1,
8878
+ "defaultValue": 0,
8879
+ "cell": "cell5",
8880
+ "suffix": " st",
8881
+ "bipolar": true,
8882
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
8883
+ "version": 2,
8884
+ "isPluginParameter": true,
8885
+ "isModulatable": true
8886
+ },
8887
+ {
8888
+ "paramId": "cell5_vcaDepth",
8889
+ "name": "Cell5 Drone",
8890
+ "displayName": "Drone",
8891
+ "min": 0,
8892
+ "max": 100,
8893
+ "step": 0.1,
8894
+ "skew": 1,
8895
+ "defaultValue": 0,
8896
+ "cell": "cell5",
8897
+ "suffix": "%",
8898
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
8899
+ "version": 3,
8900
+ "isPluginParameter": true,
8901
+ "isModulatable": true
8902
+ },
8903
+ {
8904
+ "paramId": "cell5_grainScan",
8905
+ "name": "Cell5 Grain Scan",
8906
+ "displayName": "Scan",
8907
+ "min": -100,
8908
+ "max": 100,
8909
+ "step": 0.01,
8910
+ "skew": 1,
8911
+ "defaultValue": 100,
8912
+ "cell": "cell5",
8913
+ "suffix": "%",
8914
+ "bipolar": true,
8915
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
7568
8916
  "version": 1,
7569
8917
  "isPluginParameter": true,
7570
8918
  "isModulatable": true
@@ -8705,140 +10053,358 @@
8705
10053
  "isModulatable": true
8706
10054
  },
8707
10055
  {
8708
- "paramId": "cell6_crusherMix",
8709
- "name": "Cell6 Crush Mix",
8710
- "displayName": "Mix",
10056
+ "paramId": "cell6_crusherMix",
10057
+ "name": "Cell6 Crush Mix",
10058
+ "displayName": "Mix",
10059
+ "min": 0,
10060
+ "max": 100,
10061
+ "step": 1,
10062
+ "skew": 1,
10063
+ "defaultValue": 50,
10064
+ "cell": "cell6",
10065
+ "effect": "crusher",
10066
+ "suffix": "%",
10067
+ "tooltip": "Dry/Wet mix (0-100%)",
10068
+ "version": 1,
10069
+ "isPluginParameter": true,
10070
+ "isModulatable": true
10071
+ },
10072
+ {
10073
+ "paramId": "cell6_crusherRateReduction",
10074
+ "name": "Cell6 Crush Rate",
10075
+ "displayName": "Rate",
10076
+ "min": 200,
10077
+ "max": 30000,
10078
+ "step": 1,
10079
+ "skew": 1,
10080
+ "defaultValue": 30000,
10081
+ "cell": "cell6",
10082
+ "effect": "crusher",
10083
+ "suffix": "Hz",
10084
+ "tooltip": "Set sample rate reduction (200Hz - 30kHz)",
10085
+ "version": 1,
10086
+ "isPluginParameter": true,
10087
+ "isModulatable": true
10088
+ },
10089
+ {
10090
+ "paramId": "cell6_fadeIn",
10091
+ "name": "Cell6 Fade In",
10092
+ "displayName": "Fade In",
10093
+ "min": 0,
10094
+ "max": 100,
10095
+ "step": 0.1,
10096
+ "skew": 1,
10097
+ "defaultValue": 0,
10098
+ "cell": "cell6",
10099
+ "module": "amplitude",
10100
+ "suffix": "%",
10101
+ "tooltip": "Adjust the fade-in duration of the sample",
10102
+ "version": 1,
10103
+ "isPluginParameter": true,
10104
+ "isModulatable": true
10105
+ },
10106
+ {
10107
+ "paramId": "cell6_fadeOut",
10108
+ "name": "Cell6 Fade Out",
10109
+ "displayName": "Fade Out",
10110
+ "min": 0,
10111
+ "max": 100,
10112
+ "step": 0.1,
10113
+ "skew": 1,
10114
+ "defaultValue": 0,
10115
+ "cell": "cell6",
10116
+ "module": "amplitude",
10117
+ "suffix": "%",
10118
+ "tooltip": "Adjust the fade-out duration of the sample",
10119
+ "version": 1,
10120
+ "isPluginParameter": true,
10121
+ "isModulatable": true
10122
+ },
10123
+ {
10124
+ "paramId": "cell6_stretch",
10125
+ "name": "Cell6 Stretch",
10126
+ "displayName": "Stretch",
10127
+ "min": 0,
10128
+ "max": 1,
10129
+ "step": 0.01,
10130
+ "skew": 1,
10131
+ "defaultValue": 0.25,
10132
+ "cell": "cell6",
10133
+ "module": "playback",
10134
+ "suffix": "x",
10135
+ "tooltip": "Time stretch factor",
10136
+ "toggleId": "cell6_stretchSyncEnabled",
10137
+ "toggleOff": "stretchFactor",
10138
+ "toggleOn": "stretchSync",
10139
+ "version": 1,
10140
+ "isPluginParameter": true,
10141
+ "isModulatable": true
10142
+ },
10143
+ {
10144
+ "paramId": "cell6_stretchSyncEnabled",
10145
+ "name": "Cell6 Stretch Sync",
10146
+ "displayName": "Stretch Sync",
10147
+ "min": 0,
10148
+ "max": 1,
10149
+ "step": 1,
10150
+ "skew": 1,
10151
+ "defaultValue": 0,
10152
+ "cell": "cell6",
10153
+ "module": "playback",
10154
+ "tooltip": "Stretch sync",
10155
+ "strRepr": [
10156
+ "DISABLED",
10157
+ "ENABLED"
10158
+ ],
10159
+ "version": 1,
10160
+ "isPluginParameter": true,
10161
+ "isModulatable": false
10162
+ },
10163
+ {
10164
+ "paramId": "cell6_stretchCrossfadeFrac",
10165
+ "name": "Cell6 Stretch Crossfade",
10166
+ "displayName": "XFade",
10167
+ "min": 0.05,
10168
+ "max": 0.5,
10169
+ "step": 0.01,
10170
+ "skew": 1,
10171
+ "defaultValue": 0.4,
10172
+ "cell": "cell6",
10173
+ "tooltip": "Granular crossfade amount (fraction of grain). Active when stretch grain override is enabled.",
10174
+ "version": 1,
10175
+ "isPluginParameter": true,
10176
+ "isModulatable": true
10177
+ },
10178
+ {
10179
+ "paramId": "cell6_stretchGrainMs",
10180
+ "name": "Cell6 Stretch Grain",
10181
+ "displayName": "Grain",
10182
+ "min": 1,
10183
+ "max": 2000,
10184
+ "step": 0.1,
10185
+ "skew": 0.25,
10186
+ "defaultValue": 50,
10187
+ "cell": "cell6",
10188
+ "suffix": " ms",
10189
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
10190
+ "version": 5,
10191
+ "isPluginParameter": true,
10192
+ "isModulatable": true
10193
+ },
10194
+ {
10195
+ "paramId": "cell6_quantStrength",
10196
+ "name": "Cell6 Quantize",
10197
+ "displayName": "Quantize",
10198
+ "min": 0,
10199
+ "max": 100,
10200
+ "step": 0.01,
10201
+ "skew": 1,
10202
+ "defaultValue": 100,
10203
+ "cell": "cell6",
10204
+ "suffix": "%",
10205
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
10206
+ "version": 2,
10207
+ "isPluginParameter": true,
10208
+ "isModulatable": true
10209
+ },
10210
+ {
10211
+ "paramId": "cell6_quantRoot",
10212
+ "name": "Cell6 Quantize Root",
10213
+ "displayName": "Root",
10214
+ "min": 0,
10215
+ "max": 11,
10216
+ "step": 1,
10217
+ "skew": 1,
10218
+ "defaultValue": 0,
10219
+ "cell": "cell6",
10220
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
10221
+ "strRepr": [
10222
+ "C",
10223
+ "C#",
10224
+ "D",
10225
+ "D#",
10226
+ "E",
10227
+ "F",
10228
+ "F#",
10229
+ "G",
10230
+ "G#",
10231
+ "A",
10232
+ "A#",
10233
+ "B"
10234
+ ],
10235
+ "version": 1,
10236
+ "isPluginParameter": true,
10237
+ "isModulatable": true
10238
+ },
10239
+ {
10240
+ "paramId": "cell6_quantScale",
10241
+ "name": "Cell6 Quantize Scale",
10242
+ "displayName": "Scale",
8711
10243
  "min": 0,
8712
- "max": 100,
10244
+ "max": 9,
8713
10245
  "step": 1,
8714
10246
  "skew": 1,
8715
- "defaultValue": 50,
10247
+ "defaultValue": 0,
8716
10248
  "cell": "cell6",
8717
- "effect": "crusher",
8718
- "suffix": "%",
8719
- "tooltip": "Dry/Wet mix (0-100%)",
10249
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
10250
+ "strRepr": [
10251
+ "Chromatic",
10252
+ "Major",
10253
+ "Minor",
10254
+ "Penta Maj",
10255
+ "Penta Min",
10256
+ "Dorian",
10257
+ "Mixolydian",
10258
+ "Blues",
10259
+ "Harm Min",
10260
+ "Phrygian"
10261
+ ],
8720
10262
  "version": 1,
8721
10263
  "isPluginParameter": true,
8722
10264
  "isModulatable": true
8723
10265
  },
8724
10266
  {
8725
- "paramId": "cell6_crusherRateReduction",
8726
- "name": "Cell6 Crush Rate",
8727
- "displayName": "Rate",
8728
- "min": 200,
8729
- "max": 30000,
10267
+ "paramId": "cell6_grainDensity",
10268
+ "name": "Cell6 Grain Density",
10269
+ "displayName": "Density",
10270
+ "min": 1,
10271
+ "max": 32,
8730
10272
  "step": 1,
8731
10273
  "skew": 1,
8732
- "defaultValue": 30000,
10274
+ "defaultValue": 16,
8733
10275
  "cell": "cell6",
8734
- "effect": "crusher",
8735
- "suffix": "Hz",
8736
- "tooltip": "Set sample rate reduction (200Hz - 30kHz)",
10276
+ "tooltip": "Number of granular grains active at once.",
8737
10277
  "version": 1,
8738
10278
  "isPluginParameter": true,
8739
10279
  "isModulatable": true
8740
10280
  },
8741
10281
  {
8742
- "paramId": "cell6_fadeIn",
8743
- "name": "Cell6 Fade In",
8744
- "displayName": "Fade In",
10282
+ "paramId": "cell6_spread",
10283
+ "name": "Cell6 Spread",
10284
+ "displayName": "Spread",
8745
10285
  "min": 0,
8746
10286
  "max": 100,
8747
- "step": 0.1,
10287
+ "step": 1,
8748
10288
  "skew": 1,
8749
10289
  "defaultValue": 0,
8750
10290
  "cell": "cell6",
8751
- "module": "amplitude",
8752
10291
  "suffix": "%",
8753
- "tooltip": "Adjust the fade-in duration of the sample",
10292
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
8754
10293
  "version": 1,
8755
10294
  "isPluginParameter": true,
8756
10295
  "isModulatable": true
8757
10296
  },
8758
10297
  {
8759
- "paramId": "cell6_fadeOut",
8760
- "name": "Cell6 Fade Out",
8761
- "displayName": "Fade Out",
10298
+ "paramId": "cell6_chaos",
10299
+ "name": "Cell6 Chaos",
10300
+ "displayName": "Chaos",
8762
10301
  "min": 0,
8763
10302
  "max": 100,
8764
- "step": 0.1,
10303
+ "step": 1,
8765
10304
  "skew": 1,
8766
10305
  "defaultValue": 0,
8767
10306
  "cell": "cell6",
8768
- "module": "amplitude",
8769
10307
  "suffix": "%",
8770
- "tooltip": "Adjust the fade-out duration of the sample",
10308
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
8771
10309
  "version": 1,
8772
10310
  "isPluginParameter": true,
8773
10311
  "isModulatable": true
8774
10312
  },
8775
10313
  {
8776
- "paramId": "cell6_stretch",
8777
- "name": "Cell6 Stretch",
8778
- "displayName": "Stretch",
10314
+ "paramId": "cell6_grainWindow",
10315
+ "name": "Cell6 Grain Window",
10316
+ "displayName": "Window",
8779
10317
  "min": 0,
8780
- "max": 1,
8781
- "step": 0.01,
10318
+ "max": 4,
10319
+ "step": 1,
8782
10320
  "skew": 1,
8783
- "defaultValue": 0.25,
10321
+ "defaultValue": 0,
8784
10322
  "cell": "cell6",
8785
- "module": "playback",
8786
- "suffix": "x",
8787
- "tooltip": "Time stretch factor",
8788
- "toggleId": "cell6_stretchSyncEnabled",
8789
- "toggleOff": "stretchFactor",
8790
- "toggleOn": "stretchSync",
8791
- "version": 1,
10323
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
10324
+ "strRepr": [
10325
+ "Hann",
10326
+ "Tukey",
10327
+ "Welch",
10328
+ "AsymRise",
10329
+ "AsymFall"
10330
+ ],
10331
+ "version": 2,
8792
10332
  "isPluginParameter": true,
8793
10333
  "isModulatable": true
8794
10334
  },
8795
10335
  {
8796
- "paramId": "cell6_stretchSyncEnabled",
8797
- "name": "Cell6 Stretch Sync",
8798
- "displayName": "Stretch Sync",
10336
+ "paramId": "cell6_grainArp",
10337
+ "name": "Cell6 Grain Arp",
10338
+ "displayName": "Arp",
8799
10339
  "min": 0,
8800
- "max": 1,
10340
+ "max": 9,
8801
10341
  "step": 1,
8802
10342
  "skew": 1,
8803
10343
  "defaultValue": 0,
8804
10344
  "cell": "cell6",
8805
- "module": "playback",
8806
- "tooltip": "Stretch sync",
10345
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
8807
10346
  "strRepr": [
8808
- "DISABLED",
8809
- "ENABLED"
10347
+ "Off",
10348
+ "Octaver",
10349
+ "Stack",
10350
+ "Wiggle",
10351
+ "Penta",
10352
+ "Major",
10353
+ "Minor",
10354
+ "Whole",
10355
+ "Drift",
10356
+ "Toss"
8810
10357
  ],
8811
- "version": 1,
10358
+ "version": 4,
8812
10359
  "isPluginParameter": true,
8813
- "isModulatable": false
10360
+ "isModulatable": true
8814
10361
  },
8815
10362
  {
8816
- "paramId": "cell6_stretchCrossfadeFrac",
8817
- "name": "Cell6 Stretch Crossfade",
8818
- "displayName": "XFade",
8819
- "min": 0.05,
8820
- "max": 0.5,
10363
+ "paramId": "cell6_formantShift",
10364
+ "name": "Cell6 Formant Shift",
10365
+ "displayName": "Formant",
10366
+ "min": -12,
10367
+ "max": 12,
8821
10368
  "step": 0.01,
8822
10369
  "skew": 1,
8823
- "defaultValue": 0.4,
10370
+ "defaultValue": 0,
8824
10371
  "cell": "cell6",
8825
- "tooltip": "Granular crossfade amount (fraction of grain). Active when stretch grain override is enabled.",
8826
- "version": 1,
10372
+ "suffix": " st",
10373
+ "bipolar": true,
10374
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
10375
+ "version": 2,
8827
10376
  "isPluginParameter": true,
8828
10377
  "isModulatable": true
8829
10378
  },
8830
10379
  {
8831
- "paramId": "cell6_stretchGrainMs",
8832
- "name": "Cell6 Stretch Grain",
8833
- "displayName": "Grain",
8834
- "min": 10,
8835
- "max": 200,
8836
- "step": 1,
10380
+ "paramId": "cell6_vcaDepth",
10381
+ "name": "Cell6 Drone",
10382
+ "displayName": "Drone",
10383
+ "min": 0,
10384
+ "max": 100,
10385
+ "step": 0.1,
8837
10386
  "skew": 1,
8838
- "defaultValue": 50,
10387
+ "defaultValue": 0,
8839
10388
  "cell": "cell6",
8840
- "suffix": " ms",
8841
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
10389
+ "suffix": "%",
10390
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
10391
+ "version": 3,
10392
+ "isPluginParameter": true,
10393
+ "isModulatable": true
10394
+ },
10395
+ {
10396
+ "paramId": "cell6_grainScan",
10397
+ "name": "Cell6 Grain Scan",
10398
+ "displayName": "Scan",
10399
+ "min": -100,
10400
+ "max": 100,
10401
+ "step": 0.01,
10402
+ "skew": 1,
10403
+ "defaultValue": 100,
10404
+ "cell": "cell6",
10405
+ "suffix": "%",
10406
+ "bipolar": true,
10407
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
8842
10408
  "version": 1,
8843
10409
  "isPluginParameter": true,
8844
10410
  "isModulatable": true
@@ -10105,14 +11671,232 @@
10105
11671
  "paramId": "cell7_stretchGrainMs",
10106
11672
  "name": "Cell7 Stretch Grain",
10107
11673
  "displayName": "Grain",
10108
- "min": 10,
10109
- "max": 200,
10110
- "step": 1,
10111
- "skew": 1,
11674
+ "min": 1,
11675
+ "max": 2000,
11676
+ "step": 0.1,
11677
+ "skew": 0.25,
10112
11678
  "defaultValue": 50,
10113
11679
  "cell": "cell7",
10114
11680
  "suffix": " ms",
10115
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
11681
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
11682
+ "version": 5,
11683
+ "isPluginParameter": true,
11684
+ "isModulatable": true
11685
+ },
11686
+ {
11687
+ "paramId": "cell7_quantStrength",
11688
+ "name": "Cell7 Quantize",
11689
+ "displayName": "Quantize",
11690
+ "min": 0,
11691
+ "max": 100,
11692
+ "step": 0.01,
11693
+ "skew": 1,
11694
+ "defaultValue": 100,
11695
+ "cell": "cell7",
11696
+ "suffix": "%",
11697
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
11698
+ "version": 2,
11699
+ "isPluginParameter": true,
11700
+ "isModulatable": true
11701
+ },
11702
+ {
11703
+ "paramId": "cell7_quantRoot",
11704
+ "name": "Cell7 Quantize Root",
11705
+ "displayName": "Root",
11706
+ "min": 0,
11707
+ "max": 11,
11708
+ "step": 1,
11709
+ "skew": 1,
11710
+ "defaultValue": 0,
11711
+ "cell": "cell7",
11712
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
11713
+ "strRepr": [
11714
+ "C",
11715
+ "C#",
11716
+ "D",
11717
+ "D#",
11718
+ "E",
11719
+ "F",
11720
+ "F#",
11721
+ "G",
11722
+ "G#",
11723
+ "A",
11724
+ "A#",
11725
+ "B"
11726
+ ],
11727
+ "version": 1,
11728
+ "isPluginParameter": true,
11729
+ "isModulatable": true
11730
+ },
11731
+ {
11732
+ "paramId": "cell7_quantScale",
11733
+ "name": "Cell7 Quantize Scale",
11734
+ "displayName": "Scale",
11735
+ "min": 0,
11736
+ "max": 9,
11737
+ "step": 1,
11738
+ "skew": 1,
11739
+ "defaultValue": 0,
11740
+ "cell": "cell7",
11741
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
11742
+ "strRepr": [
11743
+ "Chromatic",
11744
+ "Major",
11745
+ "Minor",
11746
+ "Penta Maj",
11747
+ "Penta Min",
11748
+ "Dorian",
11749
+ "Mixolydian",
11750
+ "Blues",
11751
+ "Harm Min",
11752
+ "Phrygian"
11753
+ ],
11754
+ "version": 1,
11755
+ "isPluginParameter": true,
11756
+ "isModulatable": true
11757
+ },
11758
+ {
11759
+ "paramId": "cell7_grainDensity",
11760
+ "name": "Cell7 Grain Density",
11761
+ "displayName": "Density",
11762
+ "min": 1,
11763
+ "max": 32,
11764
+ "step": 1,
11765
+ "skew": 1,
11766
+ "defaultValue": 16,
11767
+ "cell": "cell7",
11768
+ "tooltip": "Number of granular grains active at once.",
11769
+ "version": 1,
11770
+ "isPluginParameter": true,
11771
+ "isModulatable": true
11772
+ },
11773
+ {
11774
+ "paramId": "cell7_spread",
11775
+ "name": "Cell7 Spread",
11776
+ "displayName": "Spread",
11777
+ "min": 0,
11778
+ "max": 100,
11779
+ "step": 1,
11780
+ "skew": 1,
11781
+ "defaultValue": 0,
11782
+ "cell": "cell7",
11783
+ "suffix": "%",
11784
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
11785
+ "version": 1,
11786
+ "isPluginParameter": true,
11787
+ "isModulatable": true
11788
+ },
11789
+ {
11790
+ "paramId": "cell7_chaos",
11791
+ "name": "Cell7 Chaos",
11792
+ "displayName": "Chaos",
11793
+ "min": 0,
11794
+ "max": 100,
11795
+ "step": 1,
11796
+ "skew": 1,
11797
+ "defaultValue": 0,
11798
+ "cell": "cell7",
11799
+ "suffix": "%",
11800
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
11801
+ "version": 1,
11802
+ "isPluginParameter": true,
11803
+ "isModulatable": true
11804
+ },
11805
+ {
11806
+ "paramId": "cell7_grainWindow",
11807
+ "name": "Cell7 Grain Window",
11808
+ "displayName": "Window",
11809
+ "min": 0,
11810
+ "max": 4,
11811
+ "step": 1,
11812
+ "skew": 1,
11813
+ "defaultValue": 0,
11814
+ "cell": "cell7",
11815
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
11816
+ "strRepr": [
11817
+ "Hann",
11818
+ "Tukey",
11819
+ "Welch",
11820
+ "AsymRise",
11821
+ "AsymFall"
11822
+ ],
11823
+ "version": 2,
11824
+ "isPluginParameter": true,
11825
+ "isModulatable": true
11826
+ },
11827
+ {
11828
+ "paramId": "cell7_grainArp",
11829
+ "name": "Cell7 Grain Arp",
11830
+ "displayName": "Arp",
11831
+ "min": 0,
11832
+ "max": 9,
11833
+ "step": 1,
11834
+ "skew": 1,
11835
+ "defaultValue": 0,
11836
+ "cell": "cell7",
11837
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
11838
+ "strRepr": [
11839
+ "Off",
11840
+ "Octaver",
11841
+ "Stack",
11842
+ "Wiggle",
11843
+ "Penta",
11844
+ "Major",
11845
+ "Minor",
11846
+ "Whole",
11847
+ "Drift",
11848
+ "Toss"
11849
+ ],
11850
+ "version": 4,
11851
+ "isPluginParameter": true,
11852
+ "isModulatable": true
11853
+ },
11854
+ {
11855
+ "paramId": "cell7_formantShift",
11856
+ "name": "Cell7 Formant Shift",
11857
+ "displayName": "Formant",
11858
+ "min": -12,
11859
+ "max": 12,
11860
+ "step": 0.01,
11861
+ "skew": 1,
11862
+ "defaultValue": 0,
11863
+ "cell": "cell7",
11864
+ "suffix": " st",
11865
+ "bipolar": true,
11866
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
11867
+ "version": 2,
11868
+ "isPluginParameter": true,
11869
+ "isModulatable": true
11870
+ },
11871
+ {
11872
+ "paramId": "cell7_vcaDepth",
11873
+ "name": "Cell7 Drone",
11874
+ "displayName": "Drone",
11875
+ "min": 0,
11876
+ "max": 100,
11877
+ "step": 0.1,
11878
+ "skew": 1,
11879
+ "defaultValue": 0,
11880
+ "cell": "cell7",
11881
+ "suffix": "%",
11882
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
11883
+ "version": 3,
11884
+ "isPluginParameter": true,
11885
+ "isModulatable": true
11886
+ },
11887
+ {
11888
+ "paramId": "cell7_grainScan",
11889
+ "name": "Cell7 Grain Scan",
11890
+ "displayName": "Scan",
11891
+ "min": -100,
11892
+ "max": 100,
11893
+ "step": 0.01,
11894
+ "skew": 1,
11895
+ "defaultValue": 100,
11896
+ "cell": "cell7",
11897
+ "suffix": "%",
11898
+ "bipolar": true,
11899
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
10116
11900
  "version": 1,
10117
11901
  "isPluginParameter": true,
10118
11902
  "isModulatable": true
@@ -11379,14 +13163,232 @@
11379
13163
  "paramId": "cell8_stretchGrainMs",
11380
13164
  "name": "Cell8 Stretch Grain",
11381
13165
  "displayName": "Grain",
11382
- "min": 10,
11383
- "max": 200,
11384
- "step": 1,
11385
- "skew": 1,
13166
+ "min": 1,
13167
+ "max": 2000,
13168
+ "step": 0.1,
13169
+ "skew": 0.25,
11386
13170
  "defaultValue": 50,
11387
13171
  "cell": "cell8",
11388
13172
  "suffix": " ms",
11389
- "tooltip": "Granular grain size in milliseconds. Active when stretch grain override is enabled.",
13173
+ "tooltip": "Grain size in ms (log-scaled). 1–5 sub-audio FM-like, 5–15 audio-rate, 15–80 buzz/formant, 80+ rhythmic, 500+ textural. Cloud + granular OLA.",
13174
+ "version": 5,
13175
+ "isPluginParameter": true,
13176
+ "isModulatable": true
13177
+ },
13178
+ {
13179
+ "paramId": "cell8_quantStrength",
13180
+ "name": "Cell8 Quantize",
13181
+ "displayName": "Quantize",
13182
+ "min": 0,
13183
+ "max": 100,
13184
+ "step": 0.01,
13185
+ "skew": 1,
13186
+ "defaultValue": 100,
13187
+ "cell": "cell8",
13188
+ "suffix": "%",
13189
+ "tooltip": "Snap strength to Scale/Root (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). 0 = no snapping, 100 = hard snap to nearest scale degree.",
13190
+ "version": 2,
13191
+ "isPluginParameter": true,
13192
+ "isModulatable": true
13193
+ },
13194
+ {
13195
+ "paramId": "cell8_quantRoot",
13196
+ "name": "Cell8 Quantize Root",
13197
+ "displayName": "Root",
13198
+ "min": 0,
13199
+ "max": 11,
13200
+ "step": 1,
13201
+ "skew": 1,
13202
+ "defaultValue": 0,
13203
+ "cell": "cell8",
13204
+ "tooltip": "Tonic of the Quantize scale (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new root when the next voice triggers.",
13205
+ "strRepr": [
13206
+ "C",
13207
+ "C#",
13208
+ "D",
13209
+ "D#",
13210
+ "E",
13211
+ "F",
13212
+ "F#",
13213
+ "G",
13214
+ "G#",
13215
+ "A",
13216
+ "A#",
13217
+ "B"
13218
+ ],
13219
+ "version": 1,
13220
+ "isPluginParameter": true,
13221
+ "isModulatable": true
13222
+ },
13223
+ {
13224
+ "paramId": "cell8_quantScale",
13225
+ "name": "Cell8 Quantize Scale",
13226
+ "displayName": "Scale",
13227
+ "min": 0,
13228
+ "max": 9,
13229
+ "step": 1,
13230
+ "skew": 1,
13231
+ "defaultValue": 0,
13232
+ "cell": "cell8",
13233
+ "tooltip": "Scale that pitch snaps to (Pitch Mode = Pitch Shift Quantize or Varispeed Quantize). Sampled at note-on — modulation steps to the new scale when the next voice triggers.",
13234
+ "strRepr": [
13235
+ "Chromatic",
13236
+ "Major",
13237
+ "Minor",
13238
+ "Penta Maj",
13239
+ "Penta Min",
13240
+ "Dorian",
13241
+ "Mixolydian",
13242
+ "Blues",
13243
+ "Harm Min",
13244
+ "Phrygian"
13245
+ ],
13246
+ "version": 1,
13247
+ "isPluginParameter": true,
13248
+ "isModulatable": true
13249
+ },
13250
+ {
13251
+ "paramId": "cell8_grainDensity",
13252
+ "name": "Cell8 Grain Density",
13253
+ "displayName": "Density",
13254
+ "min": 1,
13255
+ "max": 32,
13256
+ "step": 1,
13257
+ "skew": 1,
13258
+ "defaultValue": 16,
13259
+ "cell": "cell8",
13260
+ "tooltip": "Number of granular grains active at once.",
13261
+ "version": 1,
13262
+ "isPluginParameter": true,
13263
+ "isModulatable": true
13264
+ },
13265
+ {
13266
+ "paramId": "cell8_spread",
13267
+ "name": "Cell8 Spread",
13268
+ "displayName": "Spread",
13269
+ "min": 0,
13270
+ "max": 100,
13271
+ "step": 1,
13272
+ "skew": 1,
13273
+ "defaultValue": 0,
13274
+ "cell": "cell8",
13275
+ "suffix": "%",
13276
+ "tooltip": "Stereo width — per-grain pan placement, micro cross-channel detune, and pan/detune decorrelation across grains. 0 = mono and tight, 100 = wide stereo field. Time-domain smear lives on Chaos.",
13277
+ "version": 1,
13278
+ "isPluginParameter": true,
13279
+ "isModulatable": true
13280
+ },
13281
+ {
13282
+ "paramId": "cell8_chaos",
13283
+ "name": "Cell8 Chaos",
13284
+ "displayName": "Chaos",
13285
+ "min": 0,
13286
+ "max": 100,
13287
+ "step": 1,
13288
+ "skew": 1,
13289
+ "defaultValue": 0,
13290
+ "cell": "cell8",
13291
+ "suffix": "%",
13292
+ "tooltip": "Time-domain variation — drives per-grain size jitter, sample-position spray, spawn-time (IOT) jitter, reverse playback, and amplitude reroll. 0 = every grain clean, 100 = full granular chaos.",
13293
+ "version": 1,
13294
+ "isPluginParameter": true,
13295
+ "isModulatable": true
13296
+ },
13297
+ {
13298
+ "paramId": "cell8_grainWindow",
13299
+ "name": "Cell8 Grain Window",
13300
+ "displayName": "Window",
13301
+ "min": 0,
13302
+ "max": 4,
13303
+ "step": 1,
13304
+ "skew": 1,
13305
+ "defaultValue": 0,
13306
+ "cell": "cell8",
13307
+ "tooltip": "Grain window shape — Hann (safe default), Tukey (flat-top, low ripple at low density), Welch (brighter), AsymRise (percussive), AsymFall (swell).",
13308
+ "strRepr": [
13309
+ "Hann",
13310
+ "Tukey",
13311
+ "Welch",
13312
+ "AsymRise",
13313
+ "AsymFall"
13314
+ ],
13315
+ "version": 2,
13316
+ "isPluginParameter": true,
13317
+ "isModulatable": true
13318
+ },
13319
+ {
13320
+ "paramId": "cell8_grainArp",
13321
+ "name": "Cell8 Grain Arp",
13322
+ "displayName": "Arp",
13323
+ "min": 0,
13324
+ "max": 9,
13325
+ "step": 1,
13326
+ "skew": 1,
13327
+ "defaultValue": 0,
13328
+ "cell": "cell8",
13329
+ "tooltip": "Per-grain pitch arp — each grain takes the next interval from the mode (octaves, power-chord stack, scales, chromatic drift, random ±12 st). Cloud only.",
13330
+ "strRepr": [
13331
+ "Off",
13332
+ "Octaver",
13333
+ "Stack",
13334
+ "Wiggle",
13335
+ "Penta",
13336
+ "Major",
13337
+ "Minor",
13338
+ "Whole",
13339
+ "Drift",
13340
+ "Toss"
13341
+ ],
13342
+ "version": 4,
13343
+ "isPluginParameter": true,
13344
+ "isModulatable": true
13345
+ },
13346
+ {
13347
+ "paramId": "cell8_formantShift",
13348
+ "name": "Cell8 Formant Shift",
13349
+ "displayName": "Formant",
13350
+ "min": -12,
13351
+ "max": 12,
13352
+ "step": 0.01,
13353
+ "skew": 1,
13354
+ "defaultValue": 0,
13355
+ "cell": "cell8",
13356
+ "suffix": " st",
13357
+ "bipolar": true,
13358
+ "tooltip": "Shifts formants (timbre) without changing played pitch — up = chipmunk, down = monster. Pitch Mode = Formant. ±12 st.",
13359
+ "version": 2,
13360
+ "isPluginParameter": true,
13361
+ "isModulatable": true
13362
+ },
13363
+ {
13364
+ "paramId": "cell8_vcaDepth",
13365
+ "name": "Cell8 Drone",
13366
+ "displayName": "Drone",
13367
+ "min": 0,
13368
+ "max": 100,
13369
+ "step": 0.1,
13370
+ "skew": 1,
13371
+ "defaultValue": 0,
13372
+ "cell": "cell8",
13373
+ "suffix": "%",
13374
+ "tooltip": "Drone hold (Cloud). 0 % = normal note-off gate. 100 % = ignore note-off, drone until cell-stop / panic / steal.",
13375
+ "version": 3,
13376
+ "isPluginParameter": true,
13377
+ "isModulatable": true
13378
+ },
13379
+ {
13380
+ "paramId": "cell8_grainScan",
13381
+ "name": "Cell8 Grain Scan",
13382
+ "displayName": "Scan",
13383
+ "min": -100,
13384
+ "max": 100,
13385
+ "step": 0.01,
13386
+ "skew": 1,
13387
+ "defaultValue": 100,
13388
+ "cell": "cell8",
13389
+ "suffix": "%",
13390
+ "bipolar": true,
13391
+ "tooltip": "Grain read-head scan rate. +100 forward, 0 frozen (drones/stutters), -100 reverse. Modulate for tape-flutter. Cloud only.",
11390
13392
  "version": 1,
11391
13393
  "isPluginParameter": true,
11392
13394
  "isModulatable": true
@@ -12060,7 +14062,7 @@
12060
14062
  "name": "LFO 1 Shape",
12061
14063
  "displayName": "Shape",
12062
14064
  "min": 0,
12063
- "max": 5,
14065
+ "max": 6,
12064
14066
  "step": 1,
12065
14067
  "skew": 1,
12066
14068
  "defaultValue": 0,
@@ -12070,7 +14072,8 @@
12070
14072
  "Triangle",
12071
14073
  "Square",
12072
14074
  "Random",
12073
- "Wander"
14075
+ "Wander",
14076
+ "Custom"
12074
14077
  ],
12075
14078
  "tooltip": "LFO 1 waveform shape",
12076
14079
  "isPluginParameter": true,
@@ -12110,6 +14113,51 @@
12110
14113
  "version": 1,
12111
14114
  "cell": "lfo1"
12112
14115
  },
14116
+ {
14117
+ "paramId": "lfo1_lfoMorph",
14118
+ "name": "LFO 1 Morph",
14119
+ "displayName": "Morph",
14120
+ "min": -100,
14121
+ "max": 100,
14122
+ "step": 0.1,
14123
+ "skew": 1,
14124
+ "defaultValue": 0,
14125
+ "suffix": "%",
14126
+ "bipolar": true,
14127
+ "tooltip": "LFO 1 custom-curve phase warp (Custom shape only)",
14128
+ "isPluginParameter": true,
14129
+ "isModulatable": true,
14130
+ "version": 1,
14131
+ "cell": "lfo1"
14132
+ },
14133
+ {
14134
+ "paramId": "lfo1_retrigSource",
14135
+ "name": "LFO 1 Retrigger Source",
14136
+ "displayName": "Trig",
14137
+ "min": 0,
14138
+ "max": 8,
14139
+ "step": 1,
14140
+ "skew": 1,
14141
+ "defaultValue": 0,
14142
+ "suffix": "",
14143
+ "bipolar": false,
14144
+ "strRepr": [
14145
+ "Off",
14146
+ "Cell 1",
14147
+ "Cell 2",
14148
+ "Cell 3",
14149
+ "Cell 4",
14150
+ "Cell 5",
14151
+ "Cell 6",
14152
+ "Cell 7",
14153
+ "Cell 8"
14154
+ ],
14155
+ "tooltip": "Reset LFO 1 phase to 0 when the selected cell triggers a note",
14156
+ "isPluginParameter": false,
14157
+ "isModulatable": false,
14158
+ "version": 1,
14159
+ "cell": "lfo1"
14160
+ },
12113
14161
  {
12114
14162
  "paramId": "lfo2_lfoRate",
12115
14163
  "name": "LFO 2 Rate",
@@ -12153,7 +14201,7 @@
12153
14201
  "name": "LFO 2 Shape",
12154
14202
  "displayName": "Shape",
12155
14203
  "min": 0,
12156
- "max": 5,
14204
+ "max": 6,
12157
14205
  "step": 1,
12158
14206
  "skew": 1,
12159
14207
  "defaultValue": 0,
@@ -12163,7 +14211,8 @@
12163
14211
  "Triangle",
12164
14212
  "Square",
12165
14213
  "Random",
12166
- "Wander"
14214
+ "Wander",
14215
+ "Custom"
12167
14216
  ],
12168
14217
  "tooltip": "LFO 2 waveform shape",
12169
14218
  "isPluginParameter": true,
@@ -12203,6 +14252,51 @@
12203
14252
  "version": 1,
12204
14253
  "cell": "lfo2"
12205
14254
  },
14255
+ {
14256
+ "paramId": "lfo2_lfoMorph",
14257
+ "name": "LFO 2 Morph",
14258
+ "displayName": "Morph",
14259
+ "min": -100,
14260
+ "max": 100,
14261
+ "step": 0.1,
14262
+ "skew": 1,
14263
+ "defaultValue": 0,
14264
+ "suffix": "%",
14265
+ "bipolar": true,
14266
+ "tooltip": "LFO 2 custom-curve phase warp (Custom shape only)",
14267
+ "isPluginParameter": true,
14268
+ "isModulatable": true,
14269
+ "version": 1,
14270
+ "cell": "lfo2"
14271
+ },
14272
+ {
14273
+ "paramId": "lfo2_retrigSource",
14274
+ "name": "LFO 2 Retrigger Source",
14275
+ "displayName": "Trig",
14276
+ "min": 0,
14277
+ "max": 8,
14278
+ "step": 1,
14279
+ "skew": 1,
14280
+ "defaultValue": 0,
14281
+ "suffix": "",
14282
+ "bipolar": false,
14283
+ "strRepr": [
14284
+ "Off",
14285
+ "Cell 1",
14286
+ "Cell 2",
14287
+ "Cell 3",
14288
+ "Cell 4",
14289
+ "Cell 5",
14290
+ "Cell 6",
14291
+ "Cell 7",
14292
+ "Cell 8"
14293
+ ],
14294
+ "tooltip": "Reset LFO 2 phase to 0 when the selected cell triggers a note",
14295
+ "isPluginParameter": false,
14296
+ "isModulatable": false,
14297
+ "version": 1,
14298
+ "cell": "lfo2"
14299
+ },
12206
14300
  {
12207
14301
  "paramId": "lfo3_lfoRate",
12208
14302
  "name": "LFO 3 Rate",
@@ -12246,7 +14340,7 @@
12246
14340
  "name": "LFO 3 Shape",
12247
14341
  "displayName": "Shape",
12248
14342
  "min": 0,
12249
- "max": 5,
14343
+ "max": 6,
12250
14344
  "step": 1,
12251
14345
  "skew": 1,
12252
14346
  "defaultValue": 0,
@@ -12256,7 +14350,8 @@
12256
14350
  "Triangle",
12257
14351
  "Square",
12258
14352
  "Random",
12259
- "Wander"
14353
+ "Wander",
14354
+ "Custom"
12260
14355
  ],
12261
14356
  "tooltip": "LFO 3 waveform shape",
12262
14357
  "isPluginParameter": true,
@@ -12296,6 +14391,51 @@
12296
14391
  "version": 1,
12297
14392
  "cell": "lfo3"
12298
14393
  },
14394
+ {
14395
+ "paramId": "lfo3_lfoMorph",
14396
+ "name": "LFO 3 Morph",
14397
+ "displayName": "Morph",
14398
+ "min": -100,
14399
+ "max": 100,
14400
+ "step": 0.1,
14401
+ "skew": 1,
14402
+ "defaultValue": 0,
14403
+ "suffix": "%",
14404
+ "bipolar": true,
14405
+ "tooltip": "LFO 3 custom-curve phase warp (Custom shape only)",
14406
+ "isPluginParameter": true,
14407
+ "isModulatable": true,
14408
+ "version": 1,
14409
+ "cell": "lfo3"
14410
+ },
14411
+ {
14412
+ "paramId": "lfo3_retrigSource",
14413
+ "name": "LFO 3 Retrigger Source",
14414
+ "displayName": "Trig",
14415
+ "min": 0,
14416
+ "max": 8,
14417
+ "step": 1,
14418
+ "skew": 1,
14419
+ "defaultValue": 0,
14420
+ "suffix": "",
14421
+ "bipolar": false,
14422
+ "strRepr": [
14423
+ "Off",
14424
+ "Cell 1",
14425
+ "Cell 2",
14426
+ "Cell 3",
14427
+ "Cell 4",
14428
+ "Cell 5",
14429
+ "Cell 6",
14430
+ "Cell 7",
14431
+ "Cell 8"
14432
+ ],
14433
+ "tooltip": "Reset LFO 3 phase to 0 when the selected cell triggers a note",
14434
+ "isPluginParameter": false,
14435
+ "isModulatable": false,
14436
+ "version": 1,
14437
+ "cell": "lfo3"
14438
+ },
12299
14439
  {
12300
14440
  "paramId": "lfo4_lfoRate",
12301
14441
  "name": "LFO 4 Rate",
@@ -12339,7 +14479,7 @@
12339
14479
  "name": "LFO 4 Shape",
12340
14480
  "displayName": "Shape",
12341
14481
  "min": 0,
12342
- "max": 5,
14482
+ "max": 6,
12343
14483
  "step": 1,
12344
14484
  "skew": 1,
12345
14485
  "defaultValue": 0,
@@ -12349,7 +14489,8 @@
12349
14489
  "Triangle",
12350
14490
  "Square",
12351
14491
  "Random",
12352
- "Wander"
14492
+ "Wander",
14493
+ "Custom"
12353
14494
  ],
12354
14495
  "tooltip": "LFO 4 waveform shape",
12355
14496
  "isPluginParameter": true,
@@ -12367,25 +14508,70 @@
12367
14508
  "skew": 1,
12368
14509
  "defaultValue": 0,
12369
14510
  "suffix": "%",
12370
- "tooltip": "LFO 4 random jitter amount",
14511
+ "tooltip": "LFO 4 random jitter amount",
14512
+ "isPluginParameter": true,
14513
+ "isModulatable": true,
14514
+ "version": 1,
14515
+ "cell": "lfo4"
14516
+ },
14517
+ {
14518
+ "paramId": "lfo4_offset",
14519
+ "name": "LFO 4 Offset",
14520
+ "displayName": "Offset",
14521
+ "min": 0,
14522
+ "max": 100,
14523
+ "step": 0.1,
14524
+ "skew": 1,
14525
+ "defaultValue": 0,
14526
+ "suffix": "%",
14527
+ "tooltip": "LFO 4 phase offset",
14528
+ "isPluginParameter": true,
14529
+ "isModulatable": true,
14530
+ "version": 1,
14531
+ "cell": "lfo4"
14532
+ },
14533
+ {
14534
+ "paramId": "lfo4_lfoMorph",
14535
+ "name": "LFO 4 Morph",
14536
+ "displayName": "Morph",
14537
+ "min": -100,
14538
+ "max": 100,
14539
+ "step": 0.1,
14540
+ "skew": 1,
14541
+ "defaultValue": 0,
14542
+ "suffix": "%",
14543
+ "bipolar": true,
14544
+ "tooltip": "LFO 4 custom-curve phase warp (Custom shape only)",
12371
14545
  "isPluginParameter": true,
12372
14546
  "isModulatable": true,
12373
14547
  "version": 1,
12374
14548
  "cell": "lfo4"
12375
14549
  },
12376
14550
  {
12377
- "paramId": "lfo4_offset",
12378
- "name": "LFO 4 Offset",
12379
- "displayName": "Offset",
14551
+ "paramId": "lfo4_retrigSource",
14552
+ "name": "LFO 4 Retrigger Source",
14553
+ "displayName": "Trig",
12380
14554
  "min": 0,
12381
- "max": 100,
12382
- "step": 0.1,
14555
+ "max": 8,
14556
+ "step": 1,
12383
14557
  "skew": 1,
12384
14558
  "defaultValue": 0,
12385
- "suffix": "%",
12386
- "tooltip": "LFO 4 phase offset",
12387
- "isPluginParameter": true,
12388
- "isModulatable": true,
14559
+ "suffix": "",
14560
+ "bipolar": false,
14561
+ "strRepr": [
14562
+ "Off",
14563
+ "Cell 1",
14564
+ "Cell 2",
14565
+ "Cell 3",
14566
+ "Cell 4",
14567
+ "Cell 5",
14568
+ "Cell 6",
14569
+ "Cell 7",
14570
+ "Cell 8"
14571
+ ],
14572
+ "tooltip": "Reset LFO 4 phase to 0 when the selected cell triggers a note",
14573
+ "isPluginParameter": false,
14574
+ "isModulatable": false,
12389
14575
  "version": 1,
12390
14576
  "cell": "lfo4"
12391
14577
  },
@@ -12432,7 +14618,7 @@
12432
14618
  "name": "LFO 5 Shape",
12433
14619
  "displayName": "Shape",
12434
14620
  "min": 0,
12435
- "max": 5,
14621
+ "max": 6,
12436
14622
  "step": 1,
12437
14623
  "skew": 1,
12438
14624
  "defaultValue": 0,
@@ -12442,7 +14628,8 @@
12442
14628
  "Triangle",
12443
14629
  "Square",
12444
14630
  "Random",
12445
- "Wander"
14631
+ "Wander",
14632
+ "Custom"
12446
14633
  ],
12447
14634
  "tooltip": "LFO 5 waveform shape",
12448
14635
  "isPluginParameter": true,
@@ -12482,6 +14669,51 @@
12482
14669
  "version": 1,
12483
14670
  "cell": "lfo5"
12484
14671
  },
14672
+ {
14673
+ "paramId": "lfo5_lfoMorph",
14674
+ "name": "LFO 5 Morph",
14675
+ "displayName": "Morph",
14676
+ "min": -100,
14677
+ "max": 100,
14678
+ "step": 0.1,
14679
+ "skew": 1,
14680
+ "defaultValue": 0,
14681
+ "suffix": "%",
14682
+ "bipolar": true,
14683
+ "tooltip": "LFO 5 custom-curve phase warp (Custom shape only)",
14684
+ "isPluginParameter": true,
14685
+ "isModulatable": true,
14686
+ "version": 1,
14687
+ "cell": "lfo5"
14688
+ },
14689
+ {
14690
+ "paramId": "lfo5_retrigSource",
14691
+ "name": "LFO 5 Retrigger Source",
14692
+ "displayName": "Trig",
14693
+ "min": 0,
14694
+ "max": 8,
14695
+ "step": 1,
14696
+ "skew": 1,
14697
+ "defaultValue": 0,
14698
+ "suffix": "",
14699
+ "bipolar": false,
14700
+ "strRepr": [
14701
+ "Off",
14702
+ "Cell 1",
14703
+ "Cell 2",
14704
+ "Cell 3",
14705
+ "Cell 4",
14706
+ "Cell 5",
14707
+ "Cell 6",
14708
+ "Cell 7",
14709
+ "Cell 8"
14710
+ ],
14711
+ "tooltip": "Reset LFO 5 phase to 0 when the selected cell triggers a note",
14712
+ "isPluginParameter": false,
14713
+ "isModulatable": false,
14714
+ "version": 1,
14715
+ "cell": "lfo5"
14716
+ },
12485
14717
  {
12486
14718
  "paramId": "lfo6_lfoRate",
12487
14719
  "name": "LFO 6 Rate",
@@ -12525,7 +14757,7 @@
12525
14757
  "name": "LFO 6 Shape",
12526
14758
  "displayName": "Shape",
12527
14759
  "min": 0,
12528
- "max": 5,
14760
+ "max": 6,
12529
14761
  "step": 1,
12530
14762
  "skew": 1,
12531
14763
  "defaultValue": 0,
@@ -12535,7 +14767,8 @@
12535
14767
  "Triangle",
12536
14768
  "Square",
12537
14769
  "Random",
12538
- "Wander"
14770
+ "Wander",
14771
+ "Custom"
12539
14772
  ],
12540
14773
  "tooltip": "LFO 6 waveform shape",
12541
14774
  "isPluginParameter": true,
@@ -12575,6 +14808,51 @@
12575
14808
  "version": 1,
12576
14809
  "cell": "lfo6"
12577
14810
  },
14811
+ {
14812
+ "paramId": "lfo6_lfoMorph",
14813
+ "name": "LFO 6 Morph",
14814
+ "displayName": "Morph",
14815
+ "min": -100,
14816
+ "max": 100,
14817
+ "step": 0.1,
14818
+ "skew": 1,
14819
+ "defaultValue": 0,
14820
+ "suffix": "%",
14821
+ "bipolar": true,
14822
+ "tooltip": "LFO 6 custom-curve phase warp (Custom shape only)",
14823
+ "isPluginParameter": true,
14824
+ "isModulatable": true,
14825
+ "version": 1,
14826
+ "cell": "lfo6"
14827
+ },
14828
+ {
14829
+ "paramId": "lfo6_retrigSource",
14830
+ "name": "LFO 6 Retrigger Source",
14831
+ "displayName": "Trig",
14832
+ "min": 0,
14833
+ "max": 8,
14834
+ "step": 1,
14835
+ "skew": 1,
14836
+ "defaultValue": 0,
14837
+ "suffix": "",
14838
+ "bipolar": false,
14839
+ "strRepr": [
14840
+ "Off",
14841
+ "Cell 1",
14842
+ "Cell 2",
14843
+ "Cell 3",
14844
+ "Cell 4",
14845
+ "Cell 5",
14846
+ "Cell 6",
14847
+ "Cell 7",
14848
+ "Cell 8"
14849
+ ],
14850
+ "tooltip": "Reset LFO 6 phase to 0 when the selected cell triggers a note",
14851
+ "isPluginParameter": false,
14852
+ "isModulatable": false,
14853
+ "version": 1,
14854
+ "cell": "lfo6"
14855
+ },
12578
14856
  {
12579
14857
  "paramId": "visualWaveDisplace",
12580
14858
  "name": "Visual Wave Displace",
@@ -12948,6 +15226,22 @@
12948
15226
  ],
12949
15227
  "cell": "cell1"
12950
15228
  },
15229
+ {
15230
+ "paramId": "cell1_loopTraversal",
15231
+ "name": "Cell1 Loop Direction",
15232
+ "displayName": "Loop Dir",
15233
+ "min": 0,
15234
+ "max": 2,
15235
+ "step": 1,
15236
+ "skew": 1,
15237
+ "defaultValue": 0,
15238
+ "strRepr": [
15239
+ "Forward",
15240
+ "Reverse",
15241
+ "Ping-Pong"
15242
+ ],
15243
+ "cell": "cell1"
15244
+ },
12951
15245
  {
12952
15246
  "paramId": "cell1_midiIsolate",
12953
15247
  "name": "Cell1MIDI Isolate",
@@ -13302,6 +15596,22 @@
13302
15596
  ],
13303
15597
  "cell": "cell2"
13304
15598
  },
15599
+ {
15600
+ "paramId": "cell2_loopTraversal",
15601
+ "name": "Cell2 Loop Direction",
15602
+ "displayName": "Loop Dir",
15603
+ "min": 0,
15604
+ "max": 2,
15605
+ "step": 1,
15606
+ "skew": 1,
15607
+ "defaultValue": 0,
15608
+ "strRepr": [
15609
+ "Forward",
15610
+ "Reverse",
15611
+ "Ping-Pong"
15612
+ ],
15613
+ "cell": "cell2"
15614
+ },
13305
15615
  {
13306
15616
  "paramId": "cell2_midiIsolate",
13307
15617
  "name": "Cell2MIDI Isolate",
@@ -13656,6 +15966,22 @@
13656
15966
  ],
13657
15967
  "cell": "cell3"
13658
15968
  },
15969
+ {
15970
+ "paramId": "cell3_loopTraversal",
15971
+ "name": "Cell3 Loop Direction",
15972
+ "displayName": "Loop Dir",
15973
+ "min": 0,
15974
+ "max": 2,
15975
+ "step": 1,
15976
+ "skew": 1,
15977
+ "defaultValue": 0,
15978
+ "strRepr": [
15979
+ "Forward",
15980
+ "Reverse",
15981
+ "Ping-Pong"
15982
+ ],
15983
+ "cell": "cell3"
15984
+ },
13659
15985
  {
13660
15986
  "paramId": "cell3_midiIsolate",
13661
15987
  "name": "Cell3MIDI Isolate",
@@ -14010,6 +16336,22 @@
14010
16336
  ],
14011
16337
  "cell": "cell4"
14012
16338
  },
16339
+ {
16340
+ "paramId": "cell4_loopTraversal",
16341
+ "name": "Cell4 Loop Direction",
16342
+ "displayName": "Loop Dir",
16343
+ "min": 0,
16344
+ "max": 2,
16345
+ "step": 1,
16346
+ "skew": 1,
16347
+ "defaultValue": 0,
16348
+ "strRepr": [
16349
+ "Forward",
16350
+ "Reverse",
16351
+ "Ping-Pong"
16352
+ ],
16353
+ "cell": "cell4"
16354
+ },
14013
16355
  {
14014
16356
  "paramId": "cell4_midiIsolate",
14015
16357
  "name": "Cell4MIDI Isolate",
@@ -14364,6 +16706,22 @@
14364
16706
  ],
14365
16707
  "cell": "cell5"
14366
16708
  },
16709
+ {
16710
+ "paramId": "cell5_loopTraversal",
16711
+ "name": "Cell5 Loop Direction",
16712
+ "displayName": "Loop Dir",
16713
+ "min": 0,
16714
+ "max": 2,
16715
+ "step": 1,
16716
+ "skew": 1,
16717
+ "defaultValue": 0,
16718
+ "strRepr": [
16719
+ "Forward",
16720
+ "Reverse",
16721
+ "Ping-Pong"
16722
+ ],
16723
+ "cell": "cell5"
16724
+ },
14367
16725
  {
14368
16726
  "paramId": "cell5_midiIsolate",
14369
16727
  "name": "Cell5MIDI Isolate",
@@ -14718,6 +17076,22 @@
14718
17076
  ],
14719
17077
  "cell": "cell6"
14720
17078
  },
17079
+ {
17080
+ "paramId": "cell6_loopTraversal",
17081
+ "name": "Cell6 Loop Direction",
17082
+ "displayName": "Loop Dir",
17083
+ "min": 0,
17084
+ "max": 2,
17085
+ "step": 1,
17086
+ "skew": 1,
17087
+ "defaultValue": 0,
17088
+ "strRepr": [
17089
+ "Forward",
17090
+ "Reverse",
17091
+ "Ping-Pong"
17092
+ ],
17093
+ "cell": "cell6"
17094
+ },
14721
17095
  {
14722
17096
  "paramId": "cell6_midiIsolate",
14723
17097
  "name": "Cell6MIDI Isolate",
@@ -15072,6 +17446,22 @@
15072
17446
  ],
15073
17447
  "cell": "cell7"
15074
17448
  },
17449
+ {
17450
+ "paramId": "cell7_loopTraversal",
17451
+ "name": "Cell7 Loop Direction",
17452
+ "displayName": "Loop Dir",
17453
+ "min": 0,
17454
+ "max": 2,
17455
+ "step": 1,
17456
+ "skew": 1,
17457
+ "defaultValue": 0,
17458
+ "strRepr": [
17459
+ "Forward",
17460
+ "Reverse",
17461
+ "Ping-Pong"
17462
+ ],
17463
+ "cell": "cell7"
17464
+ },
15075
17465
  {
15076
17466
  "paramId": "cell7_midiIsolate",
15077
17467
  "name": "Cell7MIDI Isolate",
@@ -15426,6 +17816,22 @@
15426
17816
  ],
15427
17817
  "cell": "cell8"
15428
17818
  },
17819
+ {
17820
+ "paramId": "cell8_loopTraversal",
17821
+ "name": "Cell8 Loop Direction",
17822
+ "displayName": "Loop Dir",
17823
+ "min": 0,
17824
+ "max": 2,
17825
+ "step": 1,
17826
+ "skew": 1,
17827
+ "defaultValue": 0,
17828
+ "strRepr": [
17829
+ "Forward",
17830
+ "Reverse",
17831
+ "Ping-Pong"
17832
+ ],
17833
+ "cell": "cell8"
17834
+ },
15429
17835
  {
15430
17836
  "paramId": "cell8_midiIsolate",
15431
17837
  "name": "Cell8MIDI Isolate",
@@ -15696,6 +18102,41 @@
15696
18102
  "tooltip": "Enable LFO 1",
15697
18103
  "cell": "lfo1"
15698
18104
  },
18105
+ {
18106
+ "paramId": "lfo1_customCurve",
18107
+ "name": "LFO 1 Custom Curve",
18108
+ "displayName": "Custom Curve",
18109
+ "defaultValue": [
18110
+ {
18111
+ "t": 0,
18112
+ "v": 0,
18113
+ "tension": 0
18114
+ },
18115
+ {
18116
+ "t": 1,
18117
+ "v": 1,
18118
+ "tension": 0
18119
+ }
18120
+ ],
18121
+ "tooltip": "Custom waveform breakpoints for LFO 1 (used when shape is Custom)",
18122
+ "cell": "lfo1"
18123
+ },
18124
+ {
18125
+ "paramId": "lfo1_hostSyncEnabled",
18126
+ "name": "LFO 1 Host Sync",
18127
+ "displayName": "Sync",
18128
+ "min": 0,
18129
+ "max": 1,
18130
+ "step": 1,
18131
+ "skew": 1,
18132
+ "defaultValue": 1,
18133
+ "strRepr": [
18134
+ "Free",
18135
+ "Sync"
18136
+ ],
18137
+ "tooltip": "Anchor LFO 1 phase to host transport while playing",
18138
+ "cell": "lfo1"
18139
+ },
15699
18140
  {
15700
18141
  "paramId": "lfo2_enabled",
15701
18142
  "name": "LFO 2 Enabled",
@@ -15711,6 +18152,41 @@
15711
18152
  "tooltip": "Enable LFO 2",
15712
18153
  "cell": "lfo2"
15713
18154
  },
18155
+ {
18156
+ "paramId": "lfo2_customCurve",
18157
+ "name": "LFO 2 Custom Curve",
18158
+ "displayName": "Custom Curve",
18159
+ "defaultValue": [
18160
+ {
18161
+ "t": 0,
18162
+ "v": 0,
18163
+ "tension": 0
18164
+ },
18165
+ {
18166
+ "t": 1,
18167
+ "v": 1,
18168
+ "tension": 0
18169
+ }
18170
+ ],
18171
+ "tooltip": "Custom waveform breakpoints for LFO 2 (used when shape is Custom)",
18172
+ "cell": "lfo2"
18173
+ },
18174
+ {
18175
+ "paramId": "lfo2_hostSyncEnabled",
18176
+ "name": "LFO 2 Host Sync",
18177
+ "displayName": "Sync",
18178
+ "min": 0,
18179
+ "max": 1,
18180
+ "step": 1,
18181
+ "skew": 1,
18182
+ "defaultValue": 1,
18183
+ "strRepr": [
18184
+ "Free",
18185
+ "Sync"
18186
+ ],
18187
+ "tooltip": "Anchor LFO 2 phase to host transport while playing",
18188
+ "cell": "lfo2"
18189
+ },
15714
18190
  {
15715
18191
  "paramId": "lfo3_enabled",
15716
18192
  "name": "LFO 3 Enabled",
@@ -15726,6 +18202,41 @@
15726
18202
  "tooltip": "Enable LFO 3",
15727
18203
  "cell": "lfo3"
15728
18204
  },
18205
+ {
18206
+ "paramId": "lfo3_customCurve",
18207
+ "name": "LFO 3 Custom Curve",
18208
+ "displayName": "Custom Curve",
18209
+ "defaultValue": [
18210
+ {
18211
+ "t": 0,
18212
+ "v": 0,
18213
+ "tension": 0
18214
+ },
18215
+ {
18216
+ "t": 1,
18217
+ "v": 1,
18218
+ "tension": 0
18219
+ }
18220
+ ],
18221
+ "tooltip": "Custom waveform breakpoints for LFO 3 (used when shape is Custom)",
18222
+ "cell": "lfo3"
18223
+ },
18224
+ {
18225
+ "paramId": "lfo3_hostSyncEnabled",
18226
+ "name": "LFO 3 Host Sync",
18227
+ "displayName": "Sync",
18228
+ "min": 0,
18229
+ "max": 1,
18230
+ "step": 1,
18231
+ "skew": 1,
18232
+ "defaultValue": 1,
18233
+ "strRepr": [
18234
+ "Free",
18235
+ "Sync"
18236
+ ],
18237
+ "tooltip": "Anchor LFO 3 phase to host transport while playing",
18238
+ "cell": "lfo3"
18239
+ },
15729
18240
  {
15730
18241
  "paramId": "lfo4_enabled",
15731
18242
  "name": "LFO 4 Enabled",
@@ -15741,6 +18252,41 @@
15741
18252
  "tooltip": "Enable LFO 4",
15742
18253
  "cell": "lfo4"
15743
18254
  },
18255
+ {
18256
+ "paramId": "lfo4_customCurve",
18257
+ "name": "LFO 4 Custom Curve",
18258
+ "displayName": "Custom Curve",
18259
+ "defaultValue": [
18260
+ {
18261
+ "t": 0,
18262
+ "v": 0,
18263
+ "tension": 0
18264
+ },
18265
+ {
18266
+ "t": 1,
18267
+ "v": 1,
18268
+ "tension": 0
18269
+ }
18270
+ ],
18271
+ "tooltip": "Custom waveform breakpoints for LFO 4 (used when shape is Custom)",
18272
+ "cell": "lfo4"
18273
+ },
18274
+ {
18275
+ "paramId": "lfo4_hostSyncEnabled",
18276
+ "name": "LFO 4 Host Sync",
18277
+ "displayName": "Sync",
18278
+ "min": 0,
18279
+ "max": 1,
18280
+ "step": 1,
18281
+ "skew": 1,
18282
+ "defaultValue": 1,
18283
+ "strRepr": [
18284
+ "Free",
18285
+ "Sync"
18286
+ ],
18287
+ "tooltip": "Anchor LFO 4 phase to host transport while playing",
18288
+ "cell": "lfo4"
18289
+ },
15744
18290
  {
15745
18291
  "paramId": "lfo5_enabled",
15746
18292
  "name": "LFO 5 Enabled",
@@ -15756,6 +18302,41 @@
15756
18302
  "tooltip": "Enable LFO 5",
15757
18303
  "cell": "lfo5"
15758
18304
  },
18305
+ {
18306
+ "paramId": "lfo5_customCurve",
18307
+ "name": "LFO 5 Custom Curve",
18308
+ "displayName": "Custom Curve",
18309
+ "defaultValue": [
18310
+ {
18311
+ "t": 0,
18312
+ "v": 0,
18313
+ "tension": 0
18314
+ },
18315
+ {
18316
+ "t": 1,
18317
+ "v": 1,
18318
+ "tension": 0
18319
+ }
18320
+ ],
18321
+ "tooltip": "Custom waveform breakpoints for LFO 5 (used when shape is Custom)",
18322
+ "cell": "lfo5"
18323
+ },
18324
+ {
18325
+ "paramId": "lfo5_hostSyncEnabled",
18326
+ "name": "LFO 5 Host Sync",
18327
+ "displayName": "Sync",
18328
+ "min": 0,
18329
+ "max": 1,
18330
+ "step": 1,
18331
+ "skew": 1,
18332
+ "defaultValue": 1,
18333
+ "strRepr": [
18334
+ "Free",
18335
+ "Sync"
18336
+ ],
18337
+ "tooltip": "Anchor LFO 5 phase to host transport while playing",
18338
+ "cell": "lfo5"
18339
+ },
15759
18340
  {
15760
18341
  "paramId": "lfo6_enabled",
15761
18342
  "name": "LFO 6 Enabled",
@@ -15771,6 +18352,41 @@
15771
18352
  "tooltip": "Enable LFO 6",
15772
18353
  "cell": "lfo6"
15773
18354
  },
18355
+ {
18356
+ "paramId": "lfo6_customCurve",
18357
+ "name": "LFO 6 Custom Curve",
18358
+ "displayName": "Custom Curve",
18359
+ "defaultValue": [
18360
+ {
18361
+ "t": 0,
18362
+ "v": 0,
18363
+ "tension": 0
18364
+ },
18365
+ {
18366
+ "t": 1,
18367
+ "v": 1,
18368
+ "tension": 0
18369
+ }
18370
+ ],
18371
+ "tooltip": "Custom waveform breakpoints for LFO 6 (used when shape is Custom)",
18372
+ "cell": "lfo6"
18373
+ },
18374
+ {
18375
+ "paramId": "lfo6_hostSyncEnabled",
18376
+ "name": "LFO 6 Host Sync",
18377
+ "displayName": "Sync",
18378
+ "min": 0,
18379
+ "max": 1,
18380
+ "step": 1,
18381
+ "skew": 1,
18382
+ "defaultValue": 1,
18383
+ "strRepr": [
18384
+ "Free",
18385
+ "Sync"
18386
+ ],
18387
+ "tooltip": "Anchor LFO 6 phase to host transport while playing",
18388
+ "cell": "lfo6"
18389
+ },
15774
18390
  {
15775
18391
  "paramId": "masterLimiterEnabled",
15776
18392
  "name": "Master Limiter Enabled",