@effetune/dsp 0.0.0 → 0.4.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.
@@ -1,27 +1,28 @@
1
1
  // Generated by scripts/gen-dsp-params.mjs. Do not edit.
2
- export const AMRadioSimulatorPlugin_PARAMS_HASH = 0xcf924404;
2
+ export const AMRadioSimulatorPlugin_PARAMS_HASH = 0x70fa4967;
3
3
  export function packAMRadioSimulatorPluginParams(params = {}) {
4
- const packed = new Float32Array(20);
5
- packed[0] = (() => { const value = params["tb"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 2) return 2; if (value > 10) return 10; return value; })();
6
- packed[1] = (() => { const value = params["pe"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 0) return 0; if (value > 100) return 100; return value; })();
7
- packed[2] = (() => { const value = params["md"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 90; if (value < 10) return 10; if (value > 125) return 125; return value; })();
8
- packed[3] = (() => { const value = params["cp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 0) return 0; if (value > 20) return 20; return value; })();
9
- packed[4] = (() => { const index = ["Mono","C-QUAM"].indexOf(params["sm"]); return index < 0 ? 0 : index; })();
10
- packed[5] = (() => { const value = params["sg"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -12; if (value < -50) return -50; if (value > 0) return 0; return value; })();
11
- packed[6] = (() => { const value = params["sk"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1; if (value < 0) return 0; if (value > 100) return 100; return value; })();
12
- packed[7] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.15; if (value < 0.05) return 0.05; if (value > 2) return 2; return value; })();
13
- packed[8] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.3; if (value < 0) return 0; if (value > 100) return 100; return value; })();
14
- packed[9] = (() => { const value = params["in"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -65; if (value < -80) return -80; if (value > 0) return 0; return value; })();
15
- packed[10] = (() => { const value = params["io"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 9; if (value < 5) return 5; if (value > 10) return 10; return value; })();
16
- packed[11] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -30) return -30; if (value > 30) return 30; return value; })();
17
- packed[12] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 12; if (value < 2) return 2; if (value > 20) return 20; return value; })();
18
- packed[13] = (() => { const index = ["Slow","Mid","Fast"].indexOf(params["ag"]); return index < 0 ? 2 : index; })();
19
- packed[14] = (() => { const value = params["dt"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 20) return 20; if (value > 500) return 500; return value; })();
20
- packed[15] = (() => { const value = params["hm"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -70; if (value < -80) return -80; if (value > -20) return -20; return value; })();
21
- packed[16] = (() => { const index = ["50","60"].indexOf(params["hz"]); return index < 0 ? 0 : index; })();
22
- packed[17] = (() => { const index = ["Off","Small","Table"].indexOf(params["sp"]); return index < 0 ? 2 : index; })();
23
- packed[18] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
24
- packed[19] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
4
+ const packed = new Float32Array(21);
5
+ packed[0] = (params["rd"] === true || params["rd"] === 1 ? 1 : params["rd"] === false || params["rd"] === 0 ? 0 : 1);
6
+ packed[1] = (() => { const value = params["tb"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 2) return 2; if (value > 10) return 10; return value; })();
7
+ packed[2] = (() => { const value = params["pe"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 0) return 0; if (value > 100) return 100; return value; })();
8
+ packed[3] = (() => { const value = params["md"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 90; if (value < 10) return 10; if (value > 125) return 125; return value; })();
9
+ packed[4] = (() => { const value = params["cp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 0) return 0; if (value > 20) return 20; return value; })();
10
+ packed[5] = (() => { const index = ["Mono","C-QUAM"].indexOf(params["sm"]); return index < 0 ? 0 : index; })();
11
+ packed[6] = (() => { const value = params["sg"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -12; if (value < -50) return -50; if (value > 0) return 0; return value; })();
12
+ packed[7] = (() => { const value = params["sk"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1; if (value < 0) return 0; if (value > 100) return 100; return value; })();
13
+ packed[8] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.15; if (value < 0.05) return 0.05; if (value > 2) return 2; return value; })();
14
+ packed[9] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.3; if (value < 0) return 0; if (value > 100) return 100; return value; })();
15
+ packed[10] = (() => { const value = params["in"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -65; if (value < -80) return -80; if (value > 0) return 0; return value; })();
16
+ packed[11] = (() => { const value = params["io"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 9; if (value < 5) return 5; if (value > 10) return 10; return value; })();
17
+ packed[12] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -30) return -30; if (value > 30) return 30; return value; })();
18
+ packed[13] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 12; if (value < 2) return 2; if (value > 20) return 20; return value; })();
19
+ packed[14] = (() => { const index = ["Slow","Mid","Fast"].indexOf(params["ag"]); return index < 0 ? 2 : index; })();
20
+ packed[15] = (() => { const value = params["dt"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 20) return 20; if (value > 500) return 500; return value; })();
21
+ packed[16] = (() => { const value = params["hm"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -70; if (value < -80) return -80; if (value > -20) return -20; return value; })();
22
+ packed[17] = (() => { const index = ["50","60"].indexOf(params["hz"]); return index < 0 ? 0 : index; })();
23
+ packed[18] = (() => { const index = ["Off","Small","Table"].indexOf(params["sp"]); return index < 0 ? 2 : index; })();
24
+ packed[19] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
25
+ packed[20] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
25
26
  return packed;
26
27
  }
27
28
 
@@ -59,6 +60,18 @@ export function packBitCrusherPluginParams(params = {}) {
59
60
  return packed;
60
61
  }
61
62
 
63
+ export const BluetoothSBCSimulatorPlugin_PARAMS_HASH = 0xa0d7750b;
64
+ export function packBluetoothSBCSimulatorPluginParams(params = {}) {
65
+ const packed = new Float32Array(6);
66
+ packed[0] = (() => { const value = params["bp"]; if (!(Number.isSafeInteger(value))) return 35; if (value < 2) return 2; if (value > 53) return 53; return value; })();
67
+ packed[1] = (() => { const value = params["cm"]; if (value === undefined) return 0; const index = ["Joint Stereo","Stereo","Dual Channel"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for cm"); return index; })();
68
+ packed[2] = (() => { const value = params["bl"]; if (value === undefined) return 3; const index = ["4","8","12","16"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for bl"); return index; })();
69
+ packed[3] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 12) return 12; return value; })();
70
+ packed[4] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
71
+ packed[5] = (() => { const value = params["pl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 20) return 20; return value; })();
72
+ return packed;
73
+ }
74
+
62
75
  export const BrickwallLimiterPlugin_PARAMS_HASH = 0xb531a24a;
63
76
  export function packBrickwallLimiterPluginParams(params = {}) {
64
77
  const packed = new Float32Array(6);
@@ -71,6 +84,24 @@ export function packBrickwallLimiterPluginParams(params = {}) {
71
84
  return packed;
72
85
  }
73
86
 
87
+ export const CassetteArtifactsPlugin_PARAMS_HASH = 0xf65e7185;
88
+ export function packCassetteArtifactsPluginParams(params = {}) {
89
+ const packed = new Float32Array(12);
90
+ packed[0] = (() => { const index = ["Reference","Hi-Fi","Consumer","Portable"].indexOf(params["dg"]); return index < 0 ? 2 : index; })();
91
+ packed[1] = (() => { const index = ["Type I","Type II","Type IV"].indexOf(params["tp"]); return index < 0 ? 0 : index; })();
92
+ packed[2] = (() => { const index = ["Off","Dolby B","Dolby C"].indexOf(params["nr"]); return index < 0 ? 1 : index; })();
93
+ packed[3] = (() => { const value = params["bs"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -6) return -6; if (value > 6) return 6; return value; })();
94
+ packed[4] = (() => { const value = params["rl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 9; if (value < -12) return -12; if (value > 18) return 18; return value; })();
95
+ packed[5] = (() => { const value = params["wf"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.2; if (value < 0) return 0; if (value > 1) return 1; return value; })();
96
+ packed[6] = (() => { const value = params["hs"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -60.5; if (value < -92) return -92; if (value > -42) return -42; return value; })();
97
+ packed[7] = (() => { const value = params["dp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 2; if (value < 0) return 0; if (value > 20) return 20; return value; })();
98
+ packed[8] = (() => { const value = params["az"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 2; if (value < -6) return -6; if (value > 6) return 6; return value; })();
99
+ packed[9] = (() => { const value = params["dl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -3) return -3; if (value > 3) return 3; return value; })();
100
+ packed[10] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
101
+ packed[11] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
102
+ return packed;
103
+ }
104
+
74
105
  export const ChannelDividerPlugin_PARAMS_HASH = 0xea073d60;
75
106
  export function packChannelDividerPluginParams(params = {}) {
76
107
  const packed = new Float32Array(7);
@@ -495,20 +526,31 @@ export function packFiveBandPEQPluginParams(params = {}) {
495
526
  return packed;
496
527
  }
497
528
 
498
- export const FMRadioSimulatorPlugin_PARAMS_HASH = 0x752cfb73;
529
+ export const FMRadioSimulatorPlugin_PARAMS_HASH = 0x2014ee18;
499
530
  export function packFMRadioSimulatorPluginParams(params = {}) {
500
- const packed = new Float32Array(11);
501
- packed[0] = (() => { const index = ["50","75"].indexOf(params["em"]); return index < 0 ? 0 : index; })();
502
- packed[1] = (() => { const value = params["pr"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 18) return 18; return value; })();
503
- packed[2] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 35; if (value < 0) return 0; if (value > 70) return 70; return value; })();
504
- packed[3] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -200) return -200; if (value > 200) return 200; return value; })();
505
- packed[4] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 230; if (value < 80) return 80; if (value > 240) return 240; return value; })();
506
- packed[5] = (() => { const value = params["mp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 100) return 100; return value; })();
507
- packed[6] = (() => { const value = params["dl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 5; if (value < 0.5) return 0.5; if (value > 50) return 50; return value; })();
508
- packed[7] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 20) return 20; return value; })();
509
- packed[8] = (() => { const index = ["Auto","Stereo","Mono"].indexOf(params["sm"]); return index < 0 ? 0 : index; })();
510
- packed[9] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
511
- packed[10] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
531
+ const packed = new Float32Array(12);
532
+ packed[0] = (params["rd"] === true || params["rd"] === 1 ? 1 : params["rd"] === false || params["rd"] === 0 ? 0 : 1);
533
+ packed[1] = (() => { const index = ["50","75"].indexOf(params["em"]); return index < 0 ? 0 : index; })();
534
+ packed[2] = (() => { const value = params["pr"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 18) return 18; return value; })();
535
+ packed[3] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 35; if (value < 0) return 0; if (value > 70) return 70; return value; })();
536
+ packed[4] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -200) return -200; if (value > 200) return 200; return value; })();
537
+ packed[5] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 230; if (value < 80) return 80; if (value > 240) return 240; return value; })();
538
+ packed[6] = (() => { const value = params["mp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 100) return 100; return value; })();
539
+ packed[7] = (() => { const value = params["dl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 5; if (value < 0.5) return 0.5; if (value > 50) return 50; return value; })();
540
+ packed[8] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < 0) return 0; if (value > 20) return 20; return value; })();
541
+ packed[9] = (() => { const index = ["Auto","Stereo","Mono"].indexOf(params["sm"]); return index < 0 ? 0 : index; })();
542
+ packed[10] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
543
+ packed[11] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
544
+ return packed;
545
+ }
546
+
547
+ export const G726ADPCMSimulatorPlugin_PARAMS_HASH = 0xb4dc988d;
548
+ export function packG726ADPCMSimulatorPluginParams(params = {}) {
549
+ const packed = new Float32Array(4);
550
+ packed[0] = (() => { const index = ["16","24","32","40"].indexOf(params["br"]); return index < 0 ? 2 : index; })();
551
+ packed[1] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 12) return 12; return value; })();
552
+ packed[2] = (() => { const value = params["mx"]; if (!(Number.isSafeInteger(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
553
+ packed[3] = (() => { const value = params["re"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -6; if (value < -6) return -6; if (value > -2) return -2; return value; })();
512
554
  return packed;
513
555
  }
514
556
 
@@ -532,6 +574,16 @@ export function packGroupDelayEqPluginParams(params = {}) {
532
574
  return packed;
533
575
  }
534
576
 
577
+ export const GSMFullRateSimulatorPlugin_PARAMS_HASH = 0xb9a2741c;
578
+ export function packGSMFullRateSimulatorPluginParams(params = {}) {
579
+ const packed = new Float32Array(4);
580
+ packed[0] = (() => { const value = params["tc"]; if (!(Number.isSafeInteger(value))) return 1; if (value < 1) return 1; if (value > 3) return 3; return value; })();
581
+ packed[1] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 12) return 12; return value; })();
582
+ packed[2] = (() => { const value = params["mx"]; if (!(Number.isSafeInteger(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
583
+ packed[3] = (() => { const value = params["ci"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 30; if (value < 4) return 4; if (value > 30) return 30; return value; })();
584
+ return packed;
585
+ }
586
+
535
587
  export const HardClippingPlugin_PARAMS_HASH = 0x31e6082d;
536
588
  export function packHardClippingPluginParams(params = {}) {
537
589
  const packed = new Float32Array(2);
@@ -710,6 +762,18 @@ export function packModalResonatorPluginParams(params = {}) {
710
762
  return packed;
711
763
  }
712
764
 
765
+ export const MP3CodecSimulatorPlugin_PARAMS_HASH = 0xd1fed81b;
766
+ export function packMP3CodecSimulatorPluginParams(params = {}) {
767
+ const packed = new Float32Array(6);
768
+ packed[0] = (() => { const value = params["cr"]; if (value === undefined) return 1; const index = ["22.05 kHz (MPEG-2)","44.1 kHz (MPEG-1)"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for cr"); return index; })();
769
+ packed[1] = (() => { const value = params["br"]; if (value === undefined) return 2; const index = ["32","48","64","80","96","112","128","160","192","224","256","320"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for br"); return index; })();
770
+ packed[2] = (() => { const value = params["sm"]; if (value === undefined) return 0; const index = ["Joint Stereo","Stereo"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for sm"); return index; })();
771
+ packed[3] = (params["rv"] === true || params["rv"] === 1 ? 1 : params["rv"] === false || params["rv"] === 0 ? 0 : 1);
772
+ packed[4] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 12) return 12; return value; })();
773
+ packed[5] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
774
+ return packed;
775
+ }
776
+
713
777
  export const MSMatrixPlugin_PARAMS_HASH = 0x243848fc;
714
778
  export function packMSMatrixPluginParams(params = {}) {
715
779
  const packed = new Float32Array(4);
@@ -1079,30 +1143,47 @@ export function packSubSynthPluginParams(params = {}) {
1079
1143
  return packed;
1080
1144
  }
1081
1145
 
1082
- export const SWRadioSimulatorPlugin_PARAMS_HASH = 0x8bb5b8dd;
1146
+ export const SWRadioSimulatorPlugin_PARAMS_HASH = 0xf855afc7;
1083
1147
  export function packSWRadioSimulatorPluginParams(params = {}) {
1084
- const packed = new Float32Array(21);
1085
- packed[0] = (() => { const value = params["tb"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 4.5; if (value < 2) return 2; if (value > 10) return 10; return value; })();
1086
- packed[1] = (() => { const value = params["pe"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1087
- packed[2] = (() => { const value = params["md"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 90; if (value < 10) return 10; if (value > 125) return 125; return value; })();
1088
- packed[3] = (() => { const value = params["cp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 0) return 0; if (value > 20) return 20; return value; })();
1089
- packed[4] = (() => { const value = params["sg"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -15; if (value < -50) return -50; if (value > 0) return 0; return value; })();
1090
- packed[5] = (() => { const value = params["sk"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 55; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1091
- packed[6] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.5; if (value < 0.1) return 0.1; if (value > 10) return 10; return value; })();
1092
- packed[7] = (() => { const value = params["ds"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1.4; if (value < 0.2) return 0.2; if (value > 8) return 8; return value; })();
1093
- packed[8] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 2; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1094
- packed[9] = (() => { const value = params["in"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -47; if (value < -80) return -80; if (value > 0) return 0; return value; })();
1095
- packed[10] = (() => { const value = params["io"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1; if (value < 0.1) return 0.1; if (value > 10) return 10; return value; })();
1096
- packed[11] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -5) return -5; if (value > 5) return 5; return value; })();
1097
- packed[12] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 2) return 2; if (value > 10) return 10; return value; })();
1098
- packed[13] = (() => { const index = ["Envelope","Synchronous"].indexOf(params["de"]); return index < 0 ? 0 : index; })();
1099
- packed[14] = (() => { const index = ["Slow","Mid","Fast"].indexOf(params["ag"]); return index < 0 ? 2 : index; })();
1100
- packed[15] = (() => { const value = params["dt"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 20) return 20; if (value > 500) return 500; return value; })();
1101
- packed[16] = (() => { const value = params["hm"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -80; if (value < -80) return -80; if (value > -20) return -20; return value; })();
1102
- packed[17] = (() => { const index = ["50","60"].indexOf(params["hz"]); return index < 0 ? 0 : index; })();
1103
- packed[18] = (() => { const index = ["Off","Small","Table"].indexOf(params["sp"]); return index < 0 ? 1 : index; })();
1104
- packed[19] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
1105
- packed[20] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1148
+ const packed = new Float32Array(24);
1149
+ packed[0] = (params["rd"] === true || params["rd"] === 1 ? 1 : params["rd"] === false || params["rd"] === 0 ? 0 : 1);
1150
+ packed[1] = (() => { const value = params["tb"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 4.5; if (value < 2) return 2; if (value > 10) return 10; return value; })();
1151
+ packed[2] = (() => { const value = params["pe"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1152
+ packed[3] = (() => { const value = params["md"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 90; if (value < 10) return 10; if (value > 125) return 125; return value; })();
1153
+ packed[4] = (() => { const value = params["cp"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 0) return 0; if (value > 20) return 20; return value; })();
1154
+ packed[5] = (() => { const value = params["sg"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -15; if (value < -50) return -50; if (value > 0) return 0; return value; })();
1155
+ packed[6] = (() => { const value = params["sk"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 55; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1156
+ packed[7] = (() => { const value = params["fd"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.5; if (value < 0.1) return 0.1; if (value > 10) return 10; return value; })();
1157
+ packed[8] = (() => { const value = params["ds"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1.4; if (value < 0.2) return 0.2; if (value > 8) return 8; return value; })();
1158
+ packed[9] = (() => { const value = params["st"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 2; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1159
+ packed[10] = (() => { const value = params["in"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -47; if (value < -80) return -80; if (value > 0) return 0; return value; })();
1160
+ packed[11] = (() => { const value = params["io"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 1; if (value < 0.1) return 0.1; if (value > 10) return 10; return value; })();
1161
+ packed[12] = (() => { const value = params["tn"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -5) return -5; if (value > 5) return 5; return value; })();
1162
+ packed[13] = (() => { const value = params["bw"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < 2) return 2; if (value > 10) return 10; return value; })();
1163
+ packed[14] = (() => { const index = ["Envelope","Synchronous"].indexOf(params["de"]); return index < 0 ? 0 : index; })();
1164
+ packed[15] = (() => { const index = ["Slow","Mid","Fast"].indexOf(params["ag"]); return index < 0 ? 2 : index; })();
1165
+ packed[16] = (() => { const value = params["dt"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 50; if (value < 20) return 20; if (value > 500) return 500; return value; })();
1166
+ packed[17] = (() => { const value = params["hm"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -80; if (value < -80) return -80; if (value > -20) return -20; return value; })();
1167
+ packed[18] = (() => { const index = ["50","60"].indexOf(params["hz"]); return index < 0 ? 0 : index; })();
1168
+ packed[19] = (() => { const index = ["Off","Small","Table"].indexOf(params["sp"]); return index < 0 ? 1 : index; })();
1169
+ packed[20] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
1170
+ packed[21] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1171
+ packed[22] = (() => { const index = ["AM","USB","LSB"].indexOf(params["mo"]); return index < 0 ? 0 : index; })();
1172
+ packed[23] = (() => { const value = params["bf"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -1000) return -1000; if (value > 1000) return 1000; return value; })();
1173
+ return packed;
1174
+ }
1175
+
1176
+ export const TapeArtifactsPlugin_PARAMS_HASH = 0xbdeda9d5;
1177
+ export function packTapeArtifactsPluginParams(params = {}) {
1178
+ const packed = new Float32Array(8);
1179
+ packed[0] = (() => { const index = ["7.5","15","30"].indexOf(params["sp"]); return index < 0 ? 1 : index; })();
1180
+ packed[1] = (() => { const index = ["Standard","Master"].indexOf(params["tp"]); return index < 0 ? 0 : index; })();
1181
+ packed[2] = (() => { const value = params["bs"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -6) return -6; if (value > 6) return 6; return value; })();
1182
+ packed[3] = (() => { const value = params["rl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 6; if (value < -12) return -12; if (value > 18) return 18; return value; })();
1183
+ packed[4] = (() => { const value = params["wf"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0.16; if (value < 0) return 0; if (value > 1) return 1; return value; })();
1184
+ packed[5] = (() => { const value = params["hs"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -62.5; if (value < -89) return -89; if (value > -39) return -39; return value; })();
1185
+ packed[6] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -24) return -24; if (value > 24) return 24; return value; })();
1186
+ packed[7] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1106
1187
  return packed;
1107
1188
  }
1108
1189
 
@@ -1156,6 +1237,32 @@ export function packTremoloPluginParams(params = {}) {
1156
1237
  return packed;
1157
1238
  }
1158
1239
 
1240
+ export const TubeSimulatorPlugin_PARAMS_HASH = 0xe7aae286;
1241
+ export function packTubeSimulatorPluginParams(params = {}) {
1242
+ const packed = new Float32Array(20);
1243
+ packed[0] = (() => { const value = params["dr"]; if (!(typeof value === 'number' && Number.isFinite(value))) return -55.9648; if (value < -96) return -96; if (value > 0) return 0; return value; })();
1244
+ packed[1] = (() => { const index = ["12AX7","12AT7","12AU7"].indexOf(params["tp"]); return index < 0 ? 0 : index; })();
1245
+ packed[2] = (() => { const value = params["bi"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -50) return -50; if (value > 50) return 50; return value; })();
1246
+ packed[3] = (() => { const value = params["pv"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 250; if (value < 150) return 150; if (value > 300) return 300; return value; })();
1247
+ packed[4] = (() => { const value = params["sz"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 10; if (value < 0.6) return 0.6; if (value > 100) return 100; return value; })();
1248
+ packed[5] = (() => { const value = params["su"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 10; if (value < 0.1) return 0.1; if (value > 47) return 47; return value; })();
1249
+ packed[6] = (() => { const value = params["og"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 4.626; if (value < -48) return -48; if (value > 48) return 48; return value; })();
1250
+ packed[7] = (() => { const value = params["mx"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 100; if (value < 0) return 0; if (value > 100) return 100; return value; })();
1251
+ packed[8] = (() => { const value = params["iv"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 2.828; if (value < 0.1) return 0.1; if (value > 20) return 20; return value; })();
1252
+ packed[9] = (() => { const value = params["nf"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 3; if (value < 0) return 0; if (value > 30) return 30; return value; })();
1253
+ packed[10] = (() => { const value = params["os"]; if (value === undefined) return 1; const index = ["Line","Power"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for os"); return index; })();
1254
+ packed[11] = (() => { const value = params["pt"]; if (value === undefined) return 0; const index = ["EL84","EL34"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for pt"); return index; })();
1255
+ packed[12] = (() => { const value = params["pb"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 329.696; if (value < 300) return 300; if (value > 470) return 470; return value; })();
1256
+ packed[13] = (() => { const value = params["kr"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 270; if (value < 270) return 270; if (value > 500) return 500; return value; })();
1257
+ packed[14] = (() => { const value = params["st"]; if (value === undefined) return 0; const index = ["0","20","43"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for st"); return index; })();
1258
+ packed[15] = (() => { const value = params["zp"]; if (value === undefined) return 2; const index = ["6.0","6.6","8.0"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for zp"); return index; })();
1259
+ packed[16] = (() => { const value = params["sl"]; if (value === undefined) return 2; const index = ["4","8","15","16"].indexOf(value); if (index < 0) throw new TypeError("Invalid enum value for sl"); return index; })();
1260
+ packed[17] = (() => { const value = params["rl"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 15; if (value < 2) return 2; if (value > 32) return 32; return value; })();
1261
+ packed[18] = (() => { const value = params["sg"]; if (!(typeof value === 'number' && Number.isFinite(value))) return 0; if (value < -96) return -96; if (value > 0) return 0; return value; })();
1262
+ packed[19] = (params["ag"] === true || params["ag"] === 1 ? 1 : params["ag"] === false || params["ag"] === 0 ? 0 : 1);
1263
+ return packed;
1264
+ }
1265
+
1159
1266
  export const VinylArtifactsPlugin_PARAMS_HASH = 0x44439ea9;
1160
1267
  export function packVinylArtifactsPluginParams(params = {}) {
1161
1268
  const packed = new Float32Array(12);
@@ -1221,11 +1328,13 @@ export function packWowFlutterPluginParams(params = {}) {
1221
1328
  }
1222
1329
 
1223
1330
  export const DSP_PARAM_LAYOUTS = Object.freeze({
1224
- AMRadioSimulatorPlugin: Object.freeze({ hash: AMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 20 }),
1331
+ AMRadioSimulatorPlugin: Object.freeze({ hash: AMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 21 }),
1225
1332
  AutoLevelerPlugin: Object.freeze({ hash: AutoLevelerPlugin_PARAMS_HASH, floatCount: 7 }),
1226
1333
  BandPassFilterPlugin: Object.freeze({ hash: BandPassFilterPlugin_PARAMS_HASH, floatCount: 4 }),
1227
1334
  BitCrusherPlugin: Object.freeze({ hash: BitCrusherPlugin_PARAMS_HASH, floatCount: 5 }),
1335
+ BluetoothSBCSimulatorPlugin: Object.freeze({ hash: BluetoothSBCSimulatorPlugin_PARAMS_HASH, floatCount: 6 }),
1228
1336
  BrickwallLimiterPlugin: Object.freeze({ hash: BrickwallLimiterPlugin_PARAMS_HASH, floatCount: 6 }),
1337
+ CassetteArtifactsPlugin: Object.freeze({ hash: CassetteArtifactsPlugin_PARAMS_HASH, floatCount: 12 }),
1229
1338
  ChannelDividerPlugin: Object.freeze({ hash: ChannelDividerPlugin_PARAMS_HASH, floatCount: 7 }),
1230
1339
  CombFilterPlugin: Object.freeze({ hash: CombFilterPlugin_PARAMS_HASH, floatCount: 4 }),
1231
1340
  CompressorPlugin: Object.freeze({ hash: CompressorPlugin_PARAMS_HASH, floatCount: 6 }),
@@ -1247,9 +1356,11 @@ export const DSP_PARAM_LAYOUTS = Object.freeze({
1247
1356
  FiveBandDynamicEQ: Object.freeze({ hash: FiveBandDynamicEQ_PARAMS_HASH, floatCount: 60 }),
1248
1357
  FiveBandFIRPEQPlugin: Object.freeze({ hash: FiveBandFIRPEQPlugin_PARAMS_HASH, floatCount: 2 }),
1249
1358
  FiveBandPEQPlugin: Object.freeze({ hash: FiveBandPEQPlugin_PARAMS_HASH, floatCount: 25 }),
1250
- FMRadioSimulatorPlugin: Object.freeze({ hash: FMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 11 }),
1359
+ FMRadioSimulatorPlugin: Object.freeze({ hash: FMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 12 }),
1360
+ G726ADPCMSimulatorPlugin: Object.freeze({ hash: G726ADPCMSimulatorPlugin_PARAMS_HASH, floatCount: 4 }),
1251
1361
  GatePlugin: Object.freeze({ hash: GatePlugin_PARAMS_HASH, floatCount: 6 }),
1252
1362
  GroupDelayEqPlugin: Object.freeze({ hash: GroupDelayEqPlugin_PARAMS_HASH, floatCount: 2 }),
1363
+ GSMFullRateSimulatorPlugin: Object.freeze({ hash: GSMFullRateSimulatorPlugin_PARAMS_HASH, floatCount: 4 }),
1253
1364
  HardClippingPlugin: Object.freeze({ hash: HardClippingPlugin_PARAMS_HASH, floatCount: 2 }),
1254
1365
  HarmonicDistortionPlugin: Object.freeze({ hash: HarmonicDistortionPlugin_PARAMS_HASH, floatCount: 5 }),
1255
1366
  HiPassFilterPlugin: Object.freeze({ hash: HiPassFilterPlugin_PARAMS_HASH, floatCount: 2 }),
@@ -1262,6 +1373,7 @@ export const DSP_PARAM_LAYOUTS = Object.freeze({
1262
1373
  LoudnessEqualizerPlugin: Object.freeze({ hash: LoudnessEqualizerPlugin_PARAMS_HASH, floatCount: 8 }),
1263
1374
  MatrixPlugin: Object.freeze({ hash: MatrixPlugin_PARAMS_HASH, floatCount: 0, byteCapacity: 3076 }),
1264
1375
  ModalResonatorPlugin: Object.freeze({ hash: ModalResonatorPlugin_PARAMS_HASH, floatCount: 31 }),
1376
+ MP3CodecSimulatorPlugin: Object.freeze({ hash: MP3CodecSimulatorPlugin_PARAMS_HASH, floatCount: 6 }),
1265
1377
  MSMatrixPlugin: Object.freeze({ hash: MSMatrixPlugin_PARAMS_HASH, floatCount: 4 }),
1266
1378
  MultibandBalancePlugin: Object.freeze({ hash: MultibandBalancePlugin_PARAMS_HASH, floatCount: 9 }),
1267
1379
  MultibandCompressorPlugin: Object.freeze({ hash: MultibandCompressorPlugin_PARAMS_HASH, floatCount: 34 }),
@@ -1287,12 +1399,14 @@ export const DSP_PARAM_LAYOUTS = Object.freeze({
1287
1399
  StereoBlendPlugin: Object.freeze({ hash: StereoBlendPlugin_PARAMS_HASH, floatCount: 1 }),
1288
1400
  StereoMeterPlugin: Object.freeze({ hash: StereoMeterPlugin_PARAMS_HASH, floatCount: 1 }),
1289
1401
  SubSynthPlugin: Object.freeze({ hash: SubSynthPlugin_PARAMS_HASH, floatCount: 8 }),
1290
- SWRadioSimulatorPlugin: Object.freeze({ hash: SWRadioSimulatorPlugin_PARAMS_HASH, floatCount: 21 }),
1402
+ SWRadioSimulatorPlugin: Object.freeze({ hash: SWRadioSimulatorPlugin_PARAMS_HASH, floatCount: 24 }),
1403
+ TapeArtifactsPlugin: Object.freeze({ hash: TapeArtifactsPlugin_PARAMS_HASH, floatCount: 8 }),
1291
1404
  TiltEQPlugin: Object.freeze({ hash: TiltEQPlugin_PARAMS_HASH, floatCount: 2 }),
1292
1405
  TimeAlignmentPlugin: Object.freeze({ hash: TimeAlignmentPlugin_PARAMS_HASH, floatCount: 1 }),
1293
1406
  ToneControlPlugin: Object.freeze({ hash: ToneControlPlugin_PARAMS_HASH, floatCount: 3 }),
1294
1407
  TransientShaperPlugin: Object.freeze({ hash: TransientShaperPlugin_PARAMS_HASH, floatCount: 7 }),
1295
1408
  TremoloPlugin: Object.freeze({ hash: TremoloPlugin_PARAMS_HASH, floatCount: 7 }),
1409
+ TubeSimulatorPlugin: Object.freeze({ hash: TubeSimulatorPlugin_PARAMS_HASH, floatCount: 20 }),
1296
1410
  VinylArtifactsPlugin: Object.freeze({ hash: VinylArtifactsPlugin_PARAMS_HASH, floatCount: 12 }),
1297
1411
  VinylSimulatorPlugin: Object.freeze({ hash: VinylSimulatorPlugin_PARAMS_HASH, floatCount: 20 }),
1298
1412
  VolumePlugin: Object.freeze({ hash: VolumePlugin_PARAMS_HASH, floatCount: 1 }),
@@ -1300,11 +1414,13 @@ export const DSP_PARAM_LAYOUTS = Object.freeze({
1300
1414
  });
1301
1415
 
1302
1416
  export const DSP_PARAM_PACKERS = new Map([
1303
- ["AMRadioSimulatorPlugin", Object.freeze({ pack: packAMRadioSimulatorPluginParams, hash: AMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 20 })],
1417
+ ["AMRadioSimulatorPlugin", Object.freeze({ pack: packAMRadioSimulatorPluginParams, hash: AMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 21 })],
1304
1418
  ["AutoLevelerPlugin", Object.freeze({ pack: packAutoLevelerPluginParams, hash: AutoLevelerPlugin_PARAMS_HASH, floatCount: 7 })],
1305
1419
  ["BandPassFilterPlugin", Object.freeze({ pack: packBandPassFilterPluginParams, hash: BandPassFilterPlugin_PARAMS_HASH, floatCount: 4 })],
1306
1420
  ["BitCrusherPlugin", Object.freeze({ pack: packBitCrusherPluginParams, hash: BitCrusherPlugin_PARAMS_HASH, floatCount: 5 })],
1421
+ ["BluetoothSBCSimulatorPlugin", Object.freeze({ pack: packBluetoothSBCSimulatorPluginParams, hash: BluetoothSBCSimulatorPlugin_PARAMS_HASH, floatCount: 6 })],
1307
1422
  ["BrickwallLimiterPlugin", Object.freeze({ pack: packBrickwallLimiterPluginParams, hash: BrickwallLimiterPlugin_PARAMS_HASH, floatCount: 6 })],
1423
+ ["CassetteArtifactsPlugin", Object.freeze({ pack: packCassetteArtifactsPluginParams, hash: CassetteArtifactsPlugin_PARAMS_HASH, floatCount: 12 })],
1308
1424
  ["ChannelDividerPlugin", Object.freeze({ pack: packChannelDividerPluginParams, hash: ChannelDividerPlugin_PARAMS_HASH, floatCount: 7 })],
1309
1425
  ["CombFilterPlugin", Object.freeze({ pack: packCombFilterPluginParams, hash: CombFilterPlugin_PARAMS_HASH, floatCount: 4 })],
1310
1426
  ["CompressorPlugin", Object.freeze({ pack: packCompressorPluginParams, hash: CompressorPlugin_PARAMS_HASH, floatCount: 6 })],
@@ -1326,9 +1442,11 @@ export const DSP_PARAM_PACKERS = new Map([
1326
1442
  ["FiveBandDynamicEQ", Object.freeze({ pack: packFiveBandDynamicEQParams, hash: FiveBandDynamicEQ_PARAMS_HASH, floatCount: 60 })],
1327
1443
  ["FiveBandFIRPEQPlugin", Object.freeze({ pack: packFiveBandFIRPEQPluginParams, hash: FiveBandFIRPEQPlugin_PARAMS_HASH, floatCount: 2 })],
1328
1444
  ["FiveBandPEQPlugin", Object.freeze({ pack: packFiveBandPEQPluginParams, hash: FiveBandPEQPlugin_PARAMS_HASH, floatCount: 25 })],
1329
- ["FMRadioSimulatorPlugin", Object.freeze({ pack: packFMRadioSimulatorPluginParams, hash: FMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 11 })],
1445
+ ["FMRadioSimulatorPlugin", Object.freeze({ pack: packFMRadioSimulatorPluginParams, hash: FMRadioSimulatorPlugin_PARAMS_HASH, floatCount: 12 })],
1446
+ ["G726ADPCMSimulatorPlugin", Object.freeze({ pack: packG726ADPCMSimulatorPluginParams, hash: G726ADPCMSimulatorPlugin_PARAMS_HASH, floatCount: 4 })],
1330
1447
  ["GatePlugin", Object.freeze({ pack: packGatePluginParams, hash: GatePlugin_PARAMS_HASH, floatCount: 6 })],
1331
1448
  ["GroupDelayEqPlugin", Object.freeze({ pack: packGroupDelayEqPluginParams, hash: GroupDelayEqPlugin_PARAMS_HASH, floatCount: 2 })],
1449
+ ["GSMFullRateSimulatorPlugin", Object.freeze({ pack: packGSMFullRateSimulatorPluginParams, hash: GSMFullRateSimulatorPlugin_PARAMS_HASH, floatCount: 4 })],
1332
1450
  ["HardClippingPlugin", Object.freeze({ pack: packHardClippingPluginParams, hash: HardClippingPlugin_PARAMS_HASH, floatCount: 2 })],
1333
1451
  ["HarmonicDistortionPlugin", Object.freeze({ pack: packHarmonicDistortionPluginParams, hash: HarmonicDistortionPlugin_PARAMS_HASH, floatCount: 5 })],
1334
1452
  ["HiPassFilterPlugin", Object.freeze({ pack: packHiPassFilterPluginParams, hash: HiPassFilterPlugin_PARAMS_HASH, floatCount: 2 })],
@@ -1341,6 +1459,7 @@ export const DSP_PARAM_PACKERS = new Map([
1341
1459
  ["LoudnessEqualizerPlugin", Object.freeze({ pack: packLoudnessEqualizerPluginParams, hash: LoudnessEqualizerPlugin_PARAMS_HASH, floatCount: 8 })],
1342
1460
  ["MatrixPlugin", Object.freeze({ pack: packMatrixPluginParams, hash: MatrixPlugin_PARAMS_HASH, floatCount: 0, packBytes: packMatrixPluginParamBytes, byteCapacity: 3076 })],
1343
1461
  ["ModalResonatorPlugin", Object.freeze({ pack: packModalResonatorPluginParams, hash: ModalResonatorPlugin_PARAMS_HASH, floatCount: 31 })],
1462
+ ["MP3CodecSimulatorPlugin", Object.freeze({ pack: packMP3CodecSimulatorPluginParams, hash: MP3CodecSimulatorPlugin_PARAMS_HASH, floatCount: 6 })],
1344
1463
  ["MSMatrixPlugin", Object.freeze({ pack: packMSMatrixPluginParams, hash: MSMatrixPlugin_PARAMS_HASH, floatCount: 4 })],
1345
1464
  ["MultibandBalancePlugin", Object.freeze({ pack: packMultibandBalancePluginParams, hash: MultibandBalancePlugin_PARAMS_HASH, floatCount: 9 })],
1346
1465
  ["MultibandCompressorPlugin", Object.freeze({ pack: packMultibandCompressorPluginParams, hash: MultibandCompressorPlugin_PARAMS_HASH, floatCount: 34 })],
@@ -1366,12 +1485,14 @@ export const DSP_PARAM_PACKERS = new Map([
1366
1485
  ["StereoBlendPlugin", Object.freeze({ pack: packStereoBlendPluginParams, hash: StereoBlendPlugin_PARAMS_HASH, floatCount: 1 })],
1367
1486
  ["StereoMeterPlugin", Object.freeze({ pack: packStereoMeterPluginParams, hash: StereoMeterPlugin_PARAMS_HASH, floatCount: 1 })],
1368
1487
  ["SubSynthPlugin", Object.freeze({ pack: packSubSynthPluginParams, hash: SubSynthPlugin_PARAMS_HASH, floatCount: 8 })],
1369
- ["SWRadioSimulatorPlugin", Object.freeze({ pack: packSWRadioSimulatorPluginParams, hash: SWRadioSimulatorPlugin_PARAMS_HASH, floatCount: 21 })],
1488
+ ["SWRadioSimulatorPlugin", Object.freeze({ pack: packSWRadioSimulatorPluginParams, hash: SWRadioSimulatorPlugin_PARAMS_HASH, floatCount: 24 })],
1489
+ ["TapeArtifactsPlugin", Object.freeze({ pack: packTapeArtifactsPluginParams, hash: TapeArtifactsPlugin_PARAMS_HASH, floatCount: 8 })],
1370
1490
  ["TiltEQPlugin", Object.freeze({ pack: packTiltEQPluginParams, hash: TiltEQPlugin_PARAMS_HASH, floatCount: 2 })],
1371
1491
  ["TimeAlignmentPlugin", Object.freeze({ pack: packTimeAlignmentPluginParams, hash: TimeAlignmentPlugin_PARAMS_HASH, floatCount: 1 })],
1372
1492
  ["ToneControlPlugin", Object.freeze({ pack: packToneControlPluginParams, hash: ToneControlPlugin_PARAMS_HASH, floatCount: 3 })],
1373
1493
  ["TransientShaperPlugin", Object.freeze({ pack: packTransientShaperPluginParams, hash: TransientShaperPlugin_PARAMS_HASH, floatCount: 7 })],
1374
1494
  ["TremoloPlugin", Object.freeze({ pack: packTremoloPluginParams, hash: TremoloPlugin_PARAMS_HASH, floatCount: 7 })],
1495
+ ["TubeSimulatorPlugin", Object.freeze({ pack: packTubeSimulatorPluginParams, hash: TubeSimulatorPlugin_PARAMS_HASH, floatCount: 20 })],
1375
1496
  ["VinylArtifactsPlugin", Object.freeze({ pack: packVinylArtifactsPluginParams, hash: VinylArtifactsPlugin_PARAMS_HASH, floatCount: 12 })],
1376
1497
  ["VinylSimulatorPlugin", Object.freeze({ pack: packVinylSimulatorPluginParams, hash: VinylSimulatorPlugin_PARAMS_HASH, floatCount: 20 })],
1377
1498
  ["VolumePlugin", Object.freeze({ pack: packVolumePluginParams, hash: VolumePlugin_PARAMS_HASH, floatCount: 1 })],
@@ -174,6 +174,7 @@ export function createDspParamPackers(generatedModule, kernels = null, warning =
174
174
  const byteCapacity = Number.isInteger(value?.byteCapacity) ? value.byteCapacity : 0;
175
175
  const hash = Number.isInteger(value?.hash) ? value.hash >>> 0 : findHash(generatedModule, typeName);
176
176
  if (typeof pack !== 'function' || hash === null) continue;
177
+ if (kernelHashes && !kernelHashes.has(typeName)) continue;
177
178
  if (kernelHashes && (kernelHashes.get(typeName) !== hash ||
178
179
  kernelByteCapacities.get(typeName) !== byteCapacity)) {
179
180
  warn(warning, `${typeName} generated parameter layout does not match the loaded kernel`);
@@ -194,6 +195,7 @@ export function createDspParamPackers(generatedModule, kernels = null, warning =
194
195
  const typeName = match[1];
195
196
  const hash = findHash(generatedModule, typeName);
196
197
  if (hash === null) continue;
198
+ if (kernelHashes && !kernelHashes.has(typeName)) continue;
197
199
  if (kernelHashes && kernelHashes.get(typeName) !== hash) {
198
200
  warn(warning, `${typeName} generated parameter layout does not match the loaded kernel`);
199
201
  continue;