fractal-midi 0.5.0 → 0.6.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.
Files changed (90) hide show
  1. package/README.md +24 -14
  2. package/catalog/axe-fx-iii.json +104 -4
  3. package/catalog/fm3.json +953 -2
  4. package/catalog/fm9.json +2268 -1
  5. package/dist/am4/bodyChain.d.ts +94 -0
  6. package/dist/am4/bodyChain.d.ts.map +1 -0
  7. package/dist/am4/bodyChain.js +171 -0
  8. package/dist/am4/index.d.ts +6 -1
  9. package/dist/am4/index.d.ts.map +1 -1
  10. package/dist/am4/index.js +10 -1
  11. package/dist/am4/midiRegisters.d.ts +72 -0
  12. package/dist/am4/midiRegisters.d.ts.map +1 -0
  13. package/dist/am4/midiRegisters.js +120 -0
  14. package/dist/am4/params.d.ts +25 -0
  15. package/dist/am4/params.d.ts.map +1 -1
  16. package/dist/am4/params.js +38 -0
  17. package/dist/am4/presetBinary.d.ts +10 -4
  18. package/dist/am4/presetBinary.d.ts.map +1 -1
  19. package/dist/am4/presetBinary.js +10 -4
  20. package/dist/am4/presetContainer.d.ts +139 -0
  21. package/dist/am4/presetContainer.d.ts.map +1 -0
  22. package/dist/am4/presetContainer.js +241 -0
  23. package/dist/gen1/index.d.ts +1 -0
  24. package/dist/gen1/index.d.ts.map +1 -1
  25. package/dist/gen1/index.js +1 -0
  26. package/dist/gen1/patchDump.d.ts +82 -0
  27. package/dist/gen1/patchDump.d.ts.map +1 -0
  28. package/dist/gen1/patchDump.js +182 -0
  29. package/dist/gen2/axe-fx-ii/applicability.d.ts +22 -0
  30. package/dist/gen2/axe-fx-ii/applicability.d.ts.map +1 -1
  31. package/dist/gen2/axe-fx-ii/applicability.js +85 -0
  32. package/dist/gen3/axe-fx-iii/enumOverlay.d.ts.map +1 -1
  33. package/dist/gen3/axe-fx-iii/enumOverlay.js +2 -1
  34. package/dist/gen3/axe-fx-iii/gen3ReadRosters.d.ts +28 -8
  35. package/dist/gen3/axe-fx-iii/gen3ReadRosters.d.ts.map +1 -1
  36. package/dist/gen3/axe-fx-iii/gen3ReadRosters.js +133 -13
  37. package/dist/gen3/axe-fx-iii/gridLayout.d.ts +1 -1
  38. package/dist/gen3/axe-fx-iii/gridLayout.d.ts.map +1 -1
  39. package/dist/gen3/axe-fx-iii/gridLayout.js +49 -15
  40. package/dist/gen3/axe-fx-iii/index.d.ts +4 -1
  41. package/dist/gen3/axe-fx-iii/index.d.ts.map +1 -1
  42. package/dist/gen3/axe-fx-iii/index.js +9 -1
  43. package/dist/gen3/axe-fx-iii/liveMeters.d.ts +25 -0
  44. package/dist/gen3/axe-fx-iii/liveMeters.d.ts.map +1 -0
  45. package/dist/gen3/axe-fx-iii/liveMeters.js +101 -0
  46. package/dist/gen3/axe-fx-iii/roundtripDiscrete.generated.d.ts +2 -0
  47. package/dist/gen3/axe-fx-iii/roundtripDiscrete.generated.d.ts.map +1 -0
  48. package/dist/gen3/axe-fx-iii/roundtripDiscrete.generated.js +107 -0
  49. package/dist/gen3/axe-fx-iii/setParam.d.ts +77 -14
  50. package/dist/gen3/axe-fx-iii/setParam.d.ts.map +1 -1
  51. package/dist/gen3/axe-fx-iii/setParam.js +120 -21
  52. package/dist/gen3/fm3/familyJoinDiscrete.generated.d.ts +7 -0
  53. package/dist/gen3/fm3/familyJoinDiscrete.generated.d.ts.map +1 -0
  54. package/dist/gen3/fm3/familyJoinDiscrete.generated.js +980 -0
  55. package/dist/gen3/fm3/index.d.ts +1 -0
  56. package/dist/gen3/fm3/index.d.ts.map +1 -1
  57. package/dist/gen3/fm3/index.js +6 -0
  58. package/dist/gen3/fm9/cabResolve.d.ts +19 -0
  59. package/dist/gen3/fm9/cabResolve.d.ts.map +1 -0
  60. package/dist/gen3/fm9/cabResolve.js +56 -0
  61. package/dist/gen3/fm9/cabRosters.generated.d.ts +14 -0
  62. package/dist/gen3/fm9/cabRosters.generated.d.ts.map +1 -0
  63. package/dist/gen3/fm9/cabRosters.generated.js +2282 -0
  64. package/dist/gen3/fm9/enumOverrides.d.ts.map +1 -1
  65. package/dist/gen3/fm9/enumOverrides.js +17 -3
  66. package/dist/gen3/fm9/index.d.ts +3 -0
  67. package/dist/gen3/fm9/index.d.ts.map +1 -1
  68. package/dist/gen3/fm9/index.js +9 -0
  69. package/dist/gen3/fm9/roundtripDiscrete.generated.d.ts +2 -0
  70. package/dist/gen3/fm9/roundtripDiscrete.generated.d.ts.map +1 -0
  71. package/dist/gen3/fm9/roundtripDiscrete.generated.js +49 -0
  72. package/dist/gen3/vp4/index.d.ts +1 -0
  73. package/dist/gen3/vp4/index.d.ts.map +1 -1
  74. package/dist/gen3/vp4/index.js +1 -0
  75. package/dist/gen3/vp4/setParam.d.ts +5 -0
  76. package/dist/gen3/vp4/setParam.d.ts.map +1 -1
  77. package/dist/gen3/vp4/setParam.js +5 -1
  78. package/dist/gen3/vp4/structureBlob.d.ts +46 -0
  79. package/dist/gen3/vp4/structureBlob.d.ts.map +1 -0
  80. package/dist/gen3/vp4/structureBlob.js +171 -0
  81. package/dist/shared/displayScale.d.ts +31 -0
  82. package/dist/shared/displayScale.d.ts.map +1 -1
  83. package/dist/shared/displayScale.js +40 -0
  84. package/dist/shared/index.d.ts +2 -0
  85. package/dist/shared/index.d.ts.map +1 -1
  86. package/dist/shared/index.js +4 -0
  87. package/dist/shared/presetContainer.d.ts +106 -0
  88. package/dist/shared/presetContainer.d.ts.map +1 -0
  89. package/dist/shared/presetContainer.js +289 -0
  90. package/package.json +1 -1
package/README.md CHANGED
@@ -8,8 +8,10 @@ device speaks, without pulling in a MIDI transport library.
8
8
  > family (Axe-Fx III / FM3 / FM9 / VP4) at codec and calibration via
9
9
  > public-capture verification and editor-binary mining, and the Axe-Fx
10
10
  > Standard/Ultra (gen-1) as a set + parameter-read descriptor. The gen-3
11
- > family stays community-driven for hardware verification; see the
12
- > per-device notes in the coverage table.
11
+ > family stays community-driven for hardware verification, with owner
12
+ > confirmation now accumulating (the FM3's core surface field-confirmed,
13
+ > and Axe-Fx III + FM9 reads and continuous writes owner-confirmed in
14
+ > 2026-06); see the per-device notes in the coverage table.
13
15
 
14
16
  > **Unaffiliated community library.** "Fractal Audio", "AM4",
15
17
  > "Axe-Fx", "Axe-Fx II", "Axe-Fx III", "FM3", "FM9", and "VP4" are
@@ -60,7 +62,7 @@ import { buildSetParam, KNOWN_PARAMS } from 'fractal-midi/am4';
60
62
 
61
63
  // Build the SysEx bytes for "set amp gain to 7.5" (display value in)
62
64
  const bytes = buildSetParam('amp.gain', 7.5);
63
- // → number[] starting with 0xF0 ... ending 0xF7 send via your MIDI library
65
+ // → number[] starting with 0xF0 ... ending 0xF7. Send via your MIDI library
64
66
 
65
67
  // Inspect the dictionary directly
66
68
  console.log(KNOWN_PARAMS['amp.gain']);
@@ -76,20 +78,20 @@ import { buildSetBlockParameterValue, KNOWN_PARAMS } from 'fractal-midi/gen2/axe
76
78
  import { buildSetParameter, PARAMS_BY_FAMILY } from 'fractal-midi/gen3/axe-fx-iii';
77
79
  ```
78
80
 
79
- > **Breaking change in 0.4.0 generation-prefixed subpaths.** Device
81
+ > **Breaking change in 0.4.0: generation-prefixed subpaths.** Device
80
82
  > subpaths are now organized by Fractal codec generation:
81
83
  > `fractal-midi/gen1` (Axe-Fx Standard/Ultra, formerly `/axe-fx-gen1`),
82
84
  > `fractal-midi/gen2/axe-fx-ii` (formerly `/axe-fx-ii`), and
83
85
  > `fractal-midi/gen3/{axe-fx-iii,fm3,fm9,vp4}` (formerly `/axe-fx-iii`,
84
86
  > `/fm3`, `/fm9`, `/vp4`). `fractal-midi/am4` and `fractal-midi/shared`
85
87
  > are unchanged (the AM4 is its own codec, not one of the three
86
- > generations), and **`catalog/*.json` paths are unchanged** JSON
88
+ > generations), and **`catalog/*.json` paths are unchanged**, JSON
87
89
  > consumers are unaffected.
88
90
 
89
91
  ### Not using TypeScript? Use the JSON catalog
90
92
 
91
93
  `catalog/` ships a generated, language-agnostic export of every device's
92
- parameter dictionary, block tables, enum rosters, and ranges one JSON file
94
+ parameter dictionary, block tables, enum rosters, and ranges: one JSON file
93
95
  per device. Read it straight from the installed package
94
96
  (`node_modules/fractal-midi/catalog/<device>.json`) or from a pinned git tag.
95
97
  Pin a version rather than copying the files: calibration fixes and enum-roster
@@ -103,11 +105,11 @@ the TypeScript source on every change and CI-gated against drift.
103
105
  |---|---|---|---|---|
104
106
  | AM4 | ✅ | ✅ | ✅ | ✅ |
105
107
  | Axe-Fx II | ✅ | ✅ | ✅ | ✅ |
106
- | Axe-Fx III | ✅ (full catalog) | ✅ ([see note](#axe-fx-iii-codec-note)) | ✅ ([see note](#axe-fx-iii-calibration-note)) | 🟡 community beta ([see note](#axe-fx-iii-hardware-note)) |
107
- | FM3 | ✅ (device-true, mined from FM3-Edit) | ✅ (shared gen-3) | 🟡 (linear; some non-linear pending) | 🟡 community beta ([see note](#fm3--fm9) core surface field-confirmed 2026-06) |
108
- | FM9 | ✅ (device-true, mined from FM9-Edit) | ✅ (shared gen-3) | 🟡 (linear; some non-linear pending) | community beta |
108
+ | Axe-Fx III | ✅ (full catalog) | ✅ ([see note](#axe-fx-iii-codec-note)) | ✅ ([see note](#axe-fx-iii-calibration-note)) | 🟡 community beta ([see note](#axe-fx-iii-hardware-note), owner-confirmed reads + continuous writes 2026-06) |
109
+ | FM3 | ✅ (device-true, mined from FM3-Edit) | ✅ (shared gen-3) | 🟡 (linear; some non-linear pending) | 🟡 community beta ([see note](#fm3--fm9), core surface field-confirmed 2026-06) |
110
+ | FM9 | ✅ (device-true, mined from FM9-Edit) | ✅ (shared gen-3) | 🟡 (linear; some non-linear pending) | 🟡 community beta ([see note](#fm3--fm9), owner-confirmed reads + continuous writes 2026-06) |
109
111
  | VP4 | ✅ (device-true, mined from VP4-Edit) | ✅ (gen-3 envelope; own fn=0x01 write frame, decoded byte-exact from community captures, fw 4.03) | 🟡 (continuous writes take raw wire values; calibration pending) | 🟡 community beta (reads confirmed via community captures; decoded writes untested on hardware) |
110
- | Axe-Fx Standard/Ultra (gen-1) | ✅ (922 params) | ✅ (nibble-split, set + param read) | 🟡 (linear; 171 non-linear pending) | ❌ community beta (no gen-1 hardware) |
112
+ | Axe-Fx Standard/Ultra (gen-1) | ✅ (922 params) | ✅ (nibble-split; set, param read, patch-dump get_preset subset) | 🟡 (linear; 171 non-linear pending) | ❌ community beta (no gen-1 hardware) |
111
113
 
112
114
  ### Coverage notes
113
115
 
@@ -144,9 +146,13 @@ as display guidance the user can correct via GitHub issue.
144
146
  #### Axe-Fx III hardware note
145
147
 
146
148
  The 🟡 hardware-verified status means the maintainer does not own an
147
- Axe-Fx III for round-trip confirmation. Community users running the
148
- device are invited to file GitHub issues against any wire or label
149
- that disagrees with their hardware.
149
+ Axe-Fx III for round-trip confirmation. A 2026-06 owner test did confirm
150
+ `get_param` and continuous `set_param` on real III hardware (device echo
151
+ plus a read-back matching the front panel), the first on-device
152
+ confirmation of the III (the gen-3 byte-identity anchor); discrete
153
+ set-by-name, `save_preset`, `set_block`, and the live grid read stay
154
+ community beta. Community users running the device are invited to file
155
+ GitHub issues against any wire or label that disagrees with their hardware.
150
156
 
151
157
  #### FM3 / FM9
152
158
 
@@ -158,7 +164,11 @@ never reused from the III) on the shared gen-3 codec. Calibration
158
164
  covers the linear params; some non-linear display formulas are still
159
165
  pending. Neither has been hardware-verified by the maintainer, so they
160
166
  remain community beta. The FM9 has real community captures confirming
161
- the shared read and preset-dump paths. The FM3's core surface was
167
+ the shared read and preset-dump paths, plus a 2026-06 owner test that
168
+ round-tripped `get_param` and continuous `set_param` on the device
169
+ (acknowledged, values confirmed on the FM9-Editor display); discrete
170
+ set-by-name, `save_preset`, `set_block`, and the live grid read stay
171
+ community beta on the FM9. The FM3's core surface was
162
172
  hardware-confirmed end-to-end by a 2026-06-12 community field test over
163
173
  its USB-serial transport (discovery, framing, the whole read path,
164
174
  continuous SET, bypass, scene and preset switching, all through this
@@ -16379,6 +16379,7 @@
16379
16379
  "9": "Brit JM45",
16380
16380
  "10": "Plexi 50W Normal",
16381
16381
  "11": "Plexi 50W High 1",
16382
+ "12": "1987X Normal",
16382
16383
  "13": "1987X Treble",
16383
16384
  "14": "Brit 800 2204 High",
16384
16385
  "15": "Brit Super",
@@ -16387,6 +16388,7 @@
16387
16388
  "18": "USA MK IV Rhythm 1",
16388
16389
  "19": "USA Pre Clean",
16389
16390
  "20": "USA MK IV Rhythm 2",
16391
+ "21": "USA MK IIC+",
16390
16392
  "22": "USA MK IIC+ Bright",
16391
16393
  "23": "USA MK IV Lead",
16392
16394
  "24": "USA MK IV Lead Bright",
@@ -16411,6 +16413,7 @@
16411
16413
  "43": "Wrecker Rocket",
16412
16414
  "44": "Cornfed M50",
16413
16415
  "45": "Carol-Ann OD-2",
16416
+ "46": "Fryette D60 Less",
16414
16417
  "47": "Fryette D60 More",
16415
16418
  "48": "Brit Brown",
16416
16419
  "49": "Citrus RV50",
@@ -16429,7 +16432,9 @@
16429
16432
  "62": "Matchbox Chiefman 2",
16430
16433
  "63": "Cameron CCV 1A",
16431
16434
  "64": "Cameron CCV 2A",
16435
+ "65": "SV Bass 2",
16432
16436
  "66": "Tube Pre",
16437
+ "67": "FAS Brown",
16433
16438
  "68": "Big Hair",
16434
16439
  "69": "Solo 99 Lead",
16435
16440
  "70": "Supertweed",
@@ -16452,6 +16457,8 @@
16452
16457
  "87": "Herbie CH2+",
16453
16458
  "88": "Herbie CH3",
16454
16459
  "89": "Dirty Shirley 1",
16460
+ "90": "Dizzy V4 Blue 2",
16461
+ "91": "Dizzy V4 Blue 3",
16455
16462
  "92": "Dizzy V4 Blue 4",
16456
16463
  "93": "Suhr Badger 18",
16457
16464
  "94": "Suhr Badger 30",
@@ -16465,6 +16472,7 @@
16465
16472
  "102": "Spawn Q-Rod OD2-3",
16466
16473
  "103": "Brit Silver",
16467
16474
  "104": "Spawn Nitrous 2",
16475
+ "105": "FAS Crunch",
16468
16476
  "106": "Two Stone J35 PAB",
16469
16477
  "107": "Fox ODS",
16470
16478
  "108": "Hot Kitty",
@@ -16491,15 +16499,18 @@
16491
16499
  "129": "AC-20 EF86 Bass",
16492
16500
  "130": "Princetone Reverb",
16493
16501
  "131": "Comet Concourse",
16502
+ "132": "FAS Modern II",
16494
16503
  "133": "Carol-Ann Triptik Modern",
16495
16504
  "134": "Carol-Ann Triptik Classic",
16496
16505
  "135": "Carol-Ann Triptik Clean",
16497
16506
  "136": "Thordendal Vintage",
16507
+ "137": "Thordendal Modern",
16498
16508
  "138": "ODS-100 HRM Mid",
16499
16509
  "139": "Euro Blue Modern",
16500
16510
  "140": "Euro Red Modern",
16501
16511
  "141": "Plexi 50W Jumped",
16502
16512
  "142": "AC-20 EF86 Treble",
16513
+ "143": "Comet 60",
16503
16514
  "144": "Hipower Jumped",
16504
16515
  "145": "Plexi 100W Jumped",
16505
16516
  "146": "Brit JM45 Jumped",
@@ -16513,6 +16524,7 @@
16513
16524
  "154": "Wrecker Express",
16514
16525
  "155": "Two Stone J35",
16515
16526
  "156": "ODS-100 Ford",
16527
+ "157": "Mr Z MZ-8",
16516
16528
  "158": "Car Ambler",
16517
16529
  "159": "USA Metro Blues",
16518
16530
  "160": "Wrecker Liverpool",
@@ -16524,7 +16536,11 @@
16524
16536
  "166": "Matchbox D-30",
16525
16537
  "167": "FAS Class-A",
16526
16538
  "168": "USA Bass 400 1",
16539
+ "169": "USA Bass 400 2",
16540
+ "170": "Citrus Bass 200",
16541
+ "171": "FAS Bass",
16527
16542
  "172": "Tremolo Lux",
16543
+ "173": "FAS Brootalz",
16528
16544
  "174": "Recto1 Orange Modern",
16529
16545
  "175": "Angle Severe 1",
16530
16546
  "176": "Angle Severe 2",
@@ -16543,10 +16559,13 @@
16543
16559
  "189": "Dizzy V4 Silver 3",
16544
16560
  "190": "Dizzy V4 Silver 2",
16545
16561
  "191": "Dizzy V4 Silver 4",
16562
+ "192": "1959SLP Normal",
16546
16563
  "193": "1959SLP Treble",
16547
16564
  "194": "1959SLP Jumped",
16565
+ "195": "FAS Modern III",
16548
16566
  "196": "ODS-100 Ford PAB Mid",
16549
16567
  "197": "Mr Z Highway 66",
16568
+ "198": "6G4 Super",
16550
16569
  "199": "6G12 Concert",
16551
16570
  "200": "65 Bassguy Bass",
16552
16571
  "201": "Vibra-King Fat",
@@ -16563,11 +16582,13 @@
16563
16582
  "212": "Friedman Small Box",
16564
16583
  "213": "5153 50W Blue",
16565
16584
  "214": "Div/13 CJ Boost",
16585
+ "215": "USA MK IIC+ Deep",
16566
16586
  "216": "USA MK IIC+ Deep Bright",
16567
16587
  "217": "5F8 Tweed Bright",
16568
16588
  "218": "Double Verb Silverface",
16569
16589
  "219": "Vibrato Verb Custom",
16570
16590
  "220": "JMPre-1 OD1",
16591
+ "221": "JMPre-1 OD2",
16571
16592
  "222": "JMPre-1 OD1 Bass Shift",
16572
16593
  "223": "JMPre-1 OD2 Bass Shift",
16573
16594
  "224": "Deluxe Verb Normal",
@@ -16579,6 +16600,7 @@
16579
16600
  "230": "PVH 6160+ Crunch",
16580
16601
  "231": "PVH 6160+ Clean",
16581
16602
  "232": "Solo 88 Clean",
16603
+ "233": "Class-A 30W Bright",
16582
16604
  "234": "Plexi 50W High 2",
16583
16605
  "235": "Spawn Nitrous 1",
16584
16606
  "236": "Ruby Rocket",
@@ -16610,15 +16632,18 @@
16610
16632
  "262": "Friedman HBE C45",
16611
16633
  "263": "Porta-Bass",
16612
16634
  "264": "SV Bass 1",
16635
+ "265": "FAS Skull Crusher",
16613
16636
  "266": "USA JP IIC+ Red",
16614
16637
  "267": "USA JP IIC+ Yellow",
16615
16638
  "268": "USA JP IIC+ Green",
16616
16639
  "269": "Wrecker Express Bright",
16617
16640
  "270": "Wrecker Liverpool Bright",
16641
+ "271": "Matchbox D-30 EF86",
16618
16642
  "272": "FAS Express",
16619
16643
  "273": "Triple Crest 2",
16620
16644
  "274": "Triple Crest 3",
16621
16645
  "275": "PVH 6160+ Crunch Bright",
16646
+ "276": "PVH 6160+ Clean Bright",
16622
16647
  "277": "Plexi 50W 6CA7",
16623
16648
  "278": "Solo 99 Lead Bright",
16624
16649
  "279": "Archean",
@@ -16628,24 +16653,46 @@
16628
16653
  "283": "Deluxe Tweed",
16629
16654
  "284": "USA JP IIC+ Red Shred",
16630
16655
  "285": "USA JP IIC+ Yellow Shred",
16656
+ "286": "Friedman BE C45",
16657
+ "287": "Friedman BE 2010",
16658
+ "288": "Friedman HBE 2010",
16631
16659
  "289": "FAS Buttery",
16632
16660
  "290": "59 Bassguy Normal",
16633
16661
  "291": "5F8 Tweed Normal",
16634
16662
  "292": "5F8 Tweed Jumped",
16635
16663
  "293": "JMPre-1 Clean1",
16664
+ "294": "JMPre-1 Clean1 Bass Shift",
16665
+ "295": "JMPre-1 Clean2",
16666
+ "296": "JMPre-1 Clean2 Bass Shift",
16667
+ "297": "Diamante Fire",
16636
16668
  "298": "PVH 6160 Block Crunch",
16637
16669
  "299": "Plexi Studio 20",
16670
+ "300": "Plexi 50W 6CA7 Jumped",
16671
+ "301": "Herbie MK3",
16672
+ "302": "59 Bassguy RI Jumped",
16638
16673
  "303": "Revv Gen Purple 1",
16639
16674
  "304": "Revv Gen Purple 2",
16675
+ "305": "Revv Gen Purple 3",
16676
+ "306": "Revv Gen Red 1",
16640
16677
  "307": "Revv Gen Red 2",
16678
+ "308": "Revv Gen Red 3",
16679
+ "309": "Revv Gen Green 1",
16680
+ "310": "Revv Gen Green 2",
16681
+ "311": "Revv Gen Green 3",
16682
+ "312": "JS410 Lead Green",
16641
16683
  "313": "5153 100W Stealth Blue",
16642
16684
  "314": "Brit 800 2203 High",
16685
+ "315": "5153 100W Stealth Green",
16643
16686
  "316": "5153 100W Stealth Red",
16644
16687
  "317": "USA MK V Green",
16688
+ "318": "Brit 800 2204 Low",
16645
16689
  "319": "Brit 800 2203 Low",
16646
16690
  "320": "USA MK V Red IIC+",
16691
+ "321": "USA MK V Red IIC+ Bright",
16647
16692
  "322": "USA MK V Red MKIV",
16693
+ "323": "USA MK V Red MKIV Bright",
16648
16694
  "324": "USA MK V Red XT",
16695
+ "325": "USA MK V Red XT Bright",
16649
16696
  "326": "Class-A 30W Brilliant",
16650
16697
  "327": "FAS Stealth Blue",
16651
16698
  "328": "Brit 800 Studio 20",
@@ -16663,6 +16710,7 @@
16663
16710
  "7": "Fat Rat",
16664
16711
  "8": "T808 Mod",
16665
16712
  "9": "Octave Distortion",
16713
+ "10": "Plus Distortion",
16666
16714
  "11": "Hard Fuzz",
16667
16715
  "12": "FET Boost",
16668
16716
  "13": "Tape Distortion",
@@ -16674,6 +16722,7 @@
16674
16722
  "19": "BB Pre",
16675
16723
  "20": "Master Fuzz",
16676
16724
  "21": "Face Fuzz",
16725
+ "22": "Bit Crusher",
16677
16726
  "23": "Eternal Love",
16678
16727
  "24": "Esoteric ACB",
16679
16728
  "25": "Esoteric RCB",
@@ -16691,26 +16740,52 @@
16691
16740
  "37": "Suhr Riot LED (L)",
16692
16741
  "38": "Timothy Up",
16693
16742
  "39": "Tone of Kings",
16743
+ "40": "Heartpedal 11",
16694
16744
  "41": "Jam Ray",
16745
+ "42": "Suhr Riot LED/Si (M)",
16746
+ "43": "OD 250",
16695
16747
  "44": "Timothy Down",
16696
16748
  "45": "TS9DX +",
16697
16749
  "46": "Box o' Crunch",
16750
+ "47": "OD 250 Gray",
16698
16751
  "48": "Horizon Precision Drive",
16752
+ "49": "Compulsion Distortion LP",
16699
16753
  "50": "Hoodoo Drive",
16754
+ "51": "Compulsion Distortion HP",
16755
+ "52": "TS9DX Hot",
16756
+ "53": "DS1 Distortion",
16700
16757
  "54": "DS1 Distortion Mod",
16758
+ "55": "MCMLXXXI Drive",
16701
16759
  "56": "Sonic Drive",
16702
16760
  "57": "Valve Screamer VS9",
16703
16761
  "58": "Maxoff 808",
16704
16762
  "59": "Klone Chiron",
16763
+ "60": "Esoteric Bass RCB",
16764
+ "61": "BB Pre AT",
16765
+ "62": "Griddle Cake",
16766
+ "63": "Bosom Boost",
16767
+ "64": "OD-One Overdrive",
16705
16768
  "65": "Nobelium OVD-1",
16769
+ "66": "Sunrise Splendor Hi-Cut",
16770
+ "67": "Gauss Drive",
16706
16771
  "68": "Sunrise Splendor",
16772
+ "69": "Integral Pre",
16773
+ "70": "PI Fuzz - Triangle",
16707
16774
  "71": "PI Fuzz - Ram's Head",
16708
16775
  "72": "Colortone Booster",
16709
16776
  "73": "Colortone OD",
16777
+ "74": "MOSFET Distortion",
16710
16778
  "75": "PI Fuzz - Russian",
16711
16779
  "76": "Super Fuzz",
16712
16780
  "77": "Tube Drive 5-Knob",
16713
- "79": "Angry Chuck"
16781
+ "78": "77 Custom OD",
16782
+ "79": "Angry Chuck",
16783
+ "80": "Guardian Photon Speed",
16784
+ "81": "Paradigm Shifter",
16785
+ "82": "PI Fuzz - Bass",
16786
+ "83": "NoAmp Bass DI",
16787
+ "84": "NoAmp Bass Pre",
16788
+ "85": "Royal Bass DI"
16714
16789
  },
16715
16790
  "REVERB_TYPE": {
16716
16791
  "0": "Small Room",
@@ -16744,34 +16819,54 @@
16744
16819
  "28": "Sun Plate",
16745
16820
  "29": "Huge Room",
16746
16821
  "30": "Drum Room",
16822
+ "31": "Hallway",
16747
16823
  "32": "Tunnel",
16824
+ "33": "Deep Chamber",
16748
16825
  "34": "Large Wooden Room",
16826
+ "35": "Gymnasium",
16749
16827
  "36": "Asylum Hall",
16750
16828
  "37": "Deep Space",
16751
16829
  "38": "Recording Studio A",
16830
+ "39": "Large Tiled Room",
16752
16831
  "40": "Vocal Plate",
16753
16832
  "41": "Wide Hall",
16754
16833
  "42": "Mechanic's Hall",
16755
16834
  "43": "Chorus Hall",
16835
+ "44": "Ice Castle",
16756
16836
  "45": "Music Hall",
16837
+ "46": "Symphony Hall",
16757
16838
  "47": "Cirrocumulus",
16758
16839
  "48": "Cumulonimbus",
16759
16840
  "49": "Nimbostratus",
16760
16841
  "50": "Stratocumulus",
16761
16842
  "51": "Deluxe Spring",
16762
16843
  "52": "Opera House",
16844
+ "53": "Colosseum",
16763
16845
  "54": "Sagittarius",
16846
+ "55": "Gemini",
16847
+ "56": "Capricorn",
16848
+ "57": "Aquarius",
16764
16849
  "58": "Andromeda",
16850
+ "59": "Pegasus",
16851
+ "60": "Centaurus",
16765
16852
  "61": "Ursa Major",
16766
16853
  "62": "Pleiades",
16767
16854
  "63": "Echo Plate",
16855
+ "64": "Echo Hall",
16768
16856
  "65": "Echo Room",
16769
16857
  "66": "Tube Spring",
16770
16858
  "67": "Studio Spring",
16771
16859
  "68": "Vibrato-King Spring",
16772
16860
  "69": "British Spring",
16861
+ "70": "Fields of Pyrite",
16773
16862
  "71": "Gold Plate",
16774
- "75": "Nashville Church"
16863
+ "72": "Echo Pitch Plate",
16864
+ "73": "Marble Hall",
16865
+ "74": "Mausoleum",
16866
+ "75": "Nashville Church",
16867
+ "76": "Warehouse",
16868
+ "77": "Lush Spring",
16869
+ "78": "Vibrato-King Custom Spring"
16775
16870
  },
16776
16871
  "DELAY_TYPE": {
16777
16872
  "0": "Digital Mono",
@@ -16828,13 +16923,16 @@
16828
16923
  "6": "Analog Compressor",
16829
16924
  "7": "Dynami-Comp Classic",
16830
16925
  "8": "JFET Studio Compressor",
16926
+ "9": "VCA FF Sustainer",
16831
16927
  "10": "VCA Bus Compressor",
16928
+ "11": "VCA FB Sustainer",
16832
16929
  "12": "Compander",
16833
16930
  "13": "Classic VCA Compressor",
16834
16931
  "14": "Analog Sustainer",
16835
16932
  "15": "JFET Pedal Compressor",
16836
16933
  "16": "Rockguy Compressor",
16837
- "17": "Dynami-Comp Soft"
16934
+ "17": "Dynami-Comp Soft",
16935
+ "18": "Citrus Juicer"
16838
16936
  },
16839
16937
  "FLANGER_TYPE": {
16840
16938
  "0": "Digital Mono",
@@ -16889,8 +16987,10 @@
16889
16987
  "2": "Cry Babe",
16890
16988
  "3": "VX846",
16891
16989
  "4": "Color-Tone",
16990
+ "5": "Funk Wah",
16892
16991
  "6": "Mortal",
16893
- "7": "VX845"
16992
+ "7": "VX845",
16993
+ "8": "Paragon"
16894
16994
  },
16895
16995
  "FILTER_TYPE": {
16896
16996
  "0": "Null",