-
Notifications
You must be signed in to change notification settings - Fork 53
/
index.xml
5275 lines (5150 loc) · 634 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<index version="1" name="ReaTeam JSFX" commit="eeb087b70ffc2d19b41e379e41bb5b56b8c9092b">
<category name="Distortion">
<reapack name="Loudener.jsfx" type="effect" desc="Loudener">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Loudener\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 A Sonnox Oxford Inflator-inspired distortion plugin that increases loudness without sacrificing dynamic range\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Author: Samuele Pizzi\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Many thanks to:\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Edoardo "TheEdoRan" Ranghieri\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "tviler" from GearSpace\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "chmaha" from Cockos Forums\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "RCJacH" from Cockos Forums\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "sai'ke" from Cockos Forums\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "Zeno" from Cockos Forums\sa180\par}
}
]]></description>
<link rel="screenshot" href="https://imgur.com/a/hM4leza">GUI Example</link>
<link rel="donation" href="https://www.paypal.com/paypalme/samuelepizzi">Donate via PayPal</link>
</metadata>
<version name="1.0" author="Samuele Pizzi" time="2021-08-11T03:11:36Z">
<source>https://github.com/ReaTeam/JSFX/raw/c3f3b2f63228c427948278da6fb4bad25a9e509f/Distortion/Loudener.jsfx</source>
<source file="loudener_gfx/bg.png">https://github.com/ReaTeam/JSFX/raw/c3f3b2f63228c427948278da6fb4bad25a9e509f/Distortion/loudener_gfx/bg.png</source>
<source file="loudener_gfx/handle.png">https://github.com/ReaTeam/JSFX/raw/c3f3b2f63228c427948278da6fb4bad25a9e509f/Distortion/loudener_gfx/handle.png</source>
<source file="loudener_gfx/button_off.png">https://github.com/ReaTeam/JSFX/raw/c3f3b2f63228c427948278da6fb4bad25a9e509f/Distortion/loudener_gfx/button_off.png</source>
<source file="loudener_gfx/button_on.png">https://github.com/ReaTeam/JSFX/raw/c3f3b2f63228c427948278da6fb4bad25a9e509f/Distortion/loudener_gfx/button_on.png</source>
</version>
<version name="1.1" author="Samuele Pizzi" time="2021-08-28T15:10:35Z">
<changelog><![CDATA[Fixed issue by which Clip 0 dB would reset on transport start or on window minimize
Clip 0 dB is now ON by default
Re-added meters on the side
Minor code cleanup]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/bd44f8ce1b04d0141f2fdd078e5cf1ccff6e0866/Distortion/Loudener.jsfx</source>
<source file="Loudener_gfx/bg.png">https://github.com/ReaTeam/JSFX/raw/bd44f8ce1b04d0141f2fdd078e5cf1ccff6e0866/Distortion/Loudener_gfx/bg.png</source>
<source file="Loudener_gfx/handle.png">https://github.com/ReaTeam/JSFX/raw/bd44f8ce1b04d0141f2fdd078e5cf1ccff6e0866/Distortion/Loudener_gfx/handle.png</source>
<source file="Loudener_gfx/button_off.png">https://github.com/ReaTeam/JSFX/raw/bd44f8ce1b04d0141f2fdd078e5cf1ccff6e0866/Distortion/Loudener_gfx/button_off.png</source>
<source file="Loudener_gfx/button_on.png">https://github.com/ReaTeam/JSFX/raw/bd44f8ce1b04d0141f2fdd078e5cf1ccff6e0866/Distortion/Loudener_gfx/button_on.png</source>
</version>
<version name="1.2" author="Samuele Pizzi" time="2021-10-09T00:13:19Z">
<changelog><![CDATA[Changed waveshaping function with the updated version from the folks at Cockos Forums, super accurate
Minor optimizations]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/Loudener.jsfx</source>
<source file="Loudener_gfx/bg.png">https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/Loudener_gfx/bg.png</source>
<source file="Loudener_gfx/handle.png">https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/Loudener_gfx/handle.png</source>
<source file="Loudener_gfx/button_off.png">https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/Loudener_gfx/button_off.png</source>
<source file="Loudener_gfx/button_on.png">https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/Loudener_gfx/button_on.png</source>
</version>
</reapack>
<reapack name="RCInflator2_Ideal.jsfx" type="effect" desc="RCInflator 2 (Ideal Edition)">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 This edition improves the behavior further by omitting the odd quirks found in the original Sonnox plug-in. Inspired by Sonnox Oxford Inflator and RCInflator (Oxford Edition) by RCJacH with additions by sai'ke and chmaha.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 For discussion see https://forum.cockos.com/showthread.php?t=256286.\par}
}
]]></description>
</metadata>
<version name="1.0" author="lewloiwc" time="2022-09-07T08:49:28Z">
<source>https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/RCInflator2_Ideal.jsfx</source>
</version>
</reapack>
<reapack name="RCInflator2_Oxford.jsfx" type="effect" desc="RCInflator 2 (Oxford Edition)">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 This edition clones the behavior of the Sonnox Oxford Inflator in every aspect including "bandsplit" mode. It improves upon the original RCInflator (Oxford Edition) by RCJacH with additions by sai'ke and chmaha.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 For discussion see https://forum.cockos.com/showthread.php?t=256286.\par}
}
]]></description>
</metadata>
<version name="1.0" author="lewloiwc" time="2022-09-07T08:49:28Z">
<source>https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/RCInflator2_Oxford.jsfx</source>
</version>
</reapack>
<reapack name="rcjach_RCInflator.jsfx" type="effect" desc="RCInflator (Oxford Edition)">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 With additions by users sai'ke and chmaha.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This edition clones the behavior of the Sonnox Oxford Inflator in every aspect except "bandsplit" mode. For discussion see https://forum.cockos.com/showthread.php?t=256286.\par}
}
]]></description>
</metadata>
<version name="1.0" author="RCJacH" time="2021-09-21T19:54:58Z">
<source>https://github.com/ReaTeam/JSFX/raw/2ab83011ebb4e10130c5614e864b46235e0680d3/Distortion/rcjach_RCInflator.jsfx</source>
</version>
</reapack>
<reapack name="TiaR_Ze Morpho Dist.jsfx" type="effect" desc="Ze Morpho Dist">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 This is a LFO controlled Stereo Distortion Effect\par}
}
]]></description>
<link rel="website">http://forum.cockos.com/showthread.php?t=173611</link>
</metadata>
<version name="1.0" author="T.Rochebois" time="2016-08-08T20:52:46Z">
<changelog><![CDATA[Initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/4a33bbe6110bf1c5f37430bf245bbd058512148e/Distortion/TiaR_Ze%20Morpho%20Dist.jsfx</source>
<source file="TiaR_Ze Morpho Dist/ZeMorphoDistIII.RPL">https://github.com/ReaTeam/JSFX/raw/4a33bbe6110bf1c5f37430bf245bbd058512148e/Distortion/TiaR_Ze%20Morpho%20Dist/ZeMorphoDistIII.RPL</source>
</version>
</reapack>
</category>
<category name="Dynamic">
<reapack name="ersh_Transient Controller 2.jsfx" type="effect" desc="Transient Controller 2">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Transient Controller 2\par}
{\pard \ql \f0 \sa180 \li0 \fi0 A basic improvement of the standard TransientController supplied with Reaper64.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Unhides internal parameters for finer adjustment.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Adds graphical visualisation: {\field{\*\fldinst{HYPERLINK "https://i.imgur.com/UMMDxQI.png"}}{\fldrslt{\ul
screenshot
}}}
.\sa180\par}
}
]]></description>
<link rel="screenshot" href="https://i.imgur.com/UMMDxQI.png">Screenshot</link>
</metadata>
<version name="2.0" author="Ersh" time="2021-11-20T23:21:59Z">
<source>https://github.com/ReaTeam/JSFX/raw/4c623ee381675c5d754d54264d35644bc2a02e33/Dynamic/ersh_Transient%20Controller%202.jsfx</source>
</version>
<version name="2.1.1" author="Ersh" time="2022-01-08T04:22:06Z">
<changelog><![CDATA[Add gain smoothness parameter.
Increased internal frame rate to 1500 for finer peak resolution.
Performance optimization.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/ab7cc219407c03b318b8b1924d0d8fcee61aaa9e/Dynamic/ersh_Transient%20Controller%202.jsfx</source>
</version>
</reapack>
<reapack name="mrelwood_BandbAss.jsfx" type="effect" desc="BandbAss">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 BandbAss - Sidechain low end compressor.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 An early but functional preview version of a sidechain bass compressor, which is a great tool for reducing low frequency build-up in a stereo mix.\u8203?\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Insert to a bass guitar track, and insert kick drum in the sidechain. The compressor will compress the lowest frequencies of the bass guitar through a shelving low-pass filter whenever the kick drum hits. The frequencies above the crossover frequency remain untouched.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Without sidechain input it functions as a stand-alone LP shelving compressor.\par}
}
]]></description>
<link rel="screenshot">https://static.wixstatic.com/media/0bf8fa_44c32be7a70441ecb74bd731451d8bfd~mv2.png/v1/fill/w_970,h_736,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/0bf8fa_44c32be7a70441ecb74bd731451d8bfd~mv2.png</link>
</metadata>
<version name="0.02" author="mrelwood" time="2023-10-03T17:54:05Z">
<source>https://github.com/ReaTeam/JSFX/raw/4b3c36d9e2ec19f04a9029c01266a9c5700d5a1f/Dynamic/mrelwood_BandbAss.jsfx</source>
</version>
</reapack>
<reapack name="sinefabula_Hard Clipper.jsfx" type="effect" desc="Hard Clipper">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Hard Clipper\par}
{\pard \ql \f0 \sa180 \li0 \fi0 A simple hard clipper which clips the incoming signal at 0 dB. It is useful for reducing the dynamic range of the signal without audibly affecting its timbre, as opposed to soft saturators which colour the audio. Used for the CTZ (Clip to Zero) mixing method as taught by Baphometrix (https://www.youtube.com/@baphometrix). Inspired by Kazrog KClip3.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Features\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Simple one-knob control.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Automatic gain compensation so that the signal doesn't get louder with more gain.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Extra makeup for those cases when you push the clipper too hard and it gets quieter.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Waveform display with gain reduction visualised as a folded-back wave.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Maximum clipped dB display.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Two modes of waveform visualisation: either Scan (draws the entire screen then starts over, like an oscilloscope scanline) or Scroll (continuously scrolls the waveform, like an ECG printout).\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Linear or logarithmic level display.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Usage\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Simply increase the Gain slider until:\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab You get some gain reduction.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab You still don't hear any clipping artifacts.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This way, you'll have your dynamic range reduced while preserving the timbre. This way, your tracks get louder without any audible saturation. This is especially useful on high dynamic range sounds like drums, bells etc.\par}
}
]]></description>
<link rel="screenshot">https://i.imgur.com/nJDwzYq.png</link>
</metadata>
<version name="0.1" author="sinefabula" time="2023-01-20T16:55:44Z">
<source>https://github.com/ReaTeam/JSFX/raw/4fc0cd87b046cbee6c7a5d916fb8207b276cb01f/Dynamic/sinefabula_Hard%20Clipper.jsfx</source>
</version>
</reapack>
</category>
<category name="Filter">
<reapack name="bellesondes_eq1979.jsfx" type="effect" desc="EQ1979">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 #EQ1979\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Frequency accurate modeling of a Neve 1073 filter stage combined with an input gain-compensated saturation.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Designed by cascading ~30 peq/butterworth filters to reproduce frequency response, bumps and drops of the original console strip. Input saturation based on "arctan" modeling, which is gain-compensated. Includes additional independant gain trimming.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Controls :\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Left mouse button to change knob value, right mouse button resets control.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Frequency bands for Mid and Low and gain trimming is done using mouse wheel.\sa180\par}
}
]]></description>
<link rel="screenshot" href="https://github.com/D4p0up/eq1979/raw/main/eq1979.png">GUI</link>
</metadata>
<version name="0.9" author="Belles Ondes" time="2022-11-05T11:21:03Z">
<changelog><![CDATA[Inital release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/a81a54773a9c24066eea10d6b8b1af2dc7a8871a/Filter/bellesondes_eq1979.jsfx</source>
</version>
<version name="0.92" author="Belles Ondes" time="2022-11-11T01:09:40Z">
<changelog><![CDATA[- Beta 0.92 :
- GUI : Added mousex lock on control change, no more control swapping when adjusting parameter
- Lowered low and high shelf EQ max gain down to 16dB as per original 1073 design
- Added EQ On/Off and Phase buttons as per original 1073 design
- minor tweaks
- Beta 0.91 :
- Low Shelf GUI Fix and Sat mouse speed increase by 25%]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/f1105ff08e915260ac414e5ab33e4346c87f75d7/Filter/bellesondes_eq1979.jsfx</source>
</version>
<version name="0.95" author="Belles Ondes" time="2022-11-16T14:16:23Z">
<changelog><![CDATA[- Improved modeling of HPF and Low Shelf filter responses
- 10Hz parameter smoothing on Low, Mid and High frequency gain parameters for automation-safe operation]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/a4f947bacae231a01ff6229fb1df3411fdfeef5f/Filter/bellesondes_eq1979.jsfx</source>
</version>
</reapack>
<reapack name="TiaR_Lattice Filter.jsfx" type="effect" desc="Lattice Filter">
<version name="1.0" author="T.Rochebois" time="2016-08-08T20:46:50Z">
<changelog><![CDATA[Initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/4a33bbe6110bf1c5f37430bf245bbd058512148e/Filter/TiaR_Lattice%20Filter.jsfx</source>
<source file="TiaR_Lattice Filter/TiaR_LFX_01.jsfx-inc">https://github.com/ReaTeam/JSFX/raw/4a33bbe6110bf1c5f37430bf245bbd058512148e/Filter/TiaR_Lattice%20Filter/TiaR_LFX_01.jsfx-inc</source>
</version>
</reapack>
<reapack name="tilr_QuickFilter.jsfx" type="effect" desc="QuickFilter">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 QuickFilter\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Simple filter with 9 modes and smooth interpolation.\par}
}
]]></description>
</metadata>
<version name="1.0" author="tilr" time="2023-11-25T18:12:09Z">
<source>https://github.com/ReaTeam/JSFX/raw/72270f4963a7ba07cbce46f012eb68a837ce0f5d/Filter/tilr_QuickFilter.jsfx</source>
<source file="tilr_QuickFilter/qf.svf_filter.jsfx-inc">https://github.com/ReaTeam/JSFX/raw/72270f4963a7ba07cbce46f012eb68a837ce0f5d/Filter/tilr_QuickFilter/qf.svf_filter.jsfx-inc</source>
</version>
</reapack>
<reapack name="tilr_SKFilter.jsfx" type="effect" desc="SKFilter">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 SKFilter\par}
{\pard \ql \f0 \sa180 \li0 \fi0 SKFilter (or Saikes filters) is a set of unique filters extracted from {\field{\*\fldinst{HYPERLINK "https://github.com/JoepVanlier/JSFX/tree/master/Yutani"}}{\fldrslt{\ul
Yutani Bass
}}}
\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs24 Features\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab 29 filter types\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Non-linear analog modelled filters\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Filter drive\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Filter modes and morphing\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Oversampling up to 8x\sa180\par}
}
]]></description>
</metadata>
<version name="1.0" author="tilr" time="2023-12-24T10:54:12Z">
<source>https://github.com/ReaTeam/JSFX/raw/e784f0c66e5c1e8ee26741987135687ca8a8a7df/Filter/tilr_SKFilter.jsfx</source>
<source file="tilr_SKFilter/skf.Saike_Yutani_Filters.jsfx-inc">https://github.com/ReaTeam/JSFX/raw/e784f0c66e5c1e8ee26741987135687ca8a8a7df/Filter/tilr_SKFilter/skf.Saike_Yutani_Filters.jsfx-inc</source>
<source file="tilr_SKFilter/skf.Saike_Yutani_oversampling.jsfx-inc">https://github.com/ReaTeam/JSFX/raw/e784f0c66e5c1e8ee26741987135687ca8a8a7df/Filter/tilr_SKFilter/skf.Saike_Yutani_oversampling.jsfx-inc</source>
<source file="tilr_SKFilter/skf.Saike_Yutani_upsamplers">https://github.com/ReaTeam/JSFX/raw/e784f0c66e5c1e8ee26741987135687ca8a8a7df/Filter/tilr_SKFilter/skf.Saike_Yutani_upsamplers</source>
</version>
</reapack>
</category>
<category name="MIDI">
<reapack name="bertbouwhuis_MIDI controller for S8 looper with fade in and out.jsfx" type="effect" desc="MIDI controller for S8 looper with fade in and out">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 To be used together with Reaper's Super8 looper plugin, one or more external foot pedals or foot switches and an optional external midi controller.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Features:\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab arm looper slots\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab start and stop looper slots\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab start and stop recording into slots with a foot pedal\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab fade in and fade out of slot playback\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 See also https://youtu.be/ZFwtxXYLkZI\par}
}
]]></description>
<link rel="website">https://github.com/EarlyBert/S8-midi-controller</link>
</metadata>
<version name="1.0" author="Bert Bouwhuis" time="2019-03-18T16:31:00Z">
<source>https://github.com/ReaTeam/JSFX/raw/dfa967305ea712ecef76ef4030937eb46971d802/MIDI/bertbouwhuis_MIDI%20controller%20for%20S8%20looper%20with%20fade%20in%20and%20out.jsfx</source>
</version>
</reapack>
<reapack name="bor-T_MIDI_XY_Pad_Controller.jsfx" type="effect" desc="MIDI XY Pad Controller (bor-T)">
<version name="0.1" author="bor-T" time="2023-01-31T12:00:50Z">
<source>https://github.com/ReaTeam/JSFX/raw/64569a74fcd2806342a8d8eaaa6c26569f00ce89/MIDI/bor-T_MIDI_XY_Pad_Controller.jsfx</source>
</version>
</reapack>
<reapack name="boreg_MIDI routing matrix.jsfx" type="effect" desc="MIDI routing matrix">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 Handy little utility.\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Freely route any input MIDI channel to any output MIDI channel\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Possible to send a single input to multiple outputs, or vice versa\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Channel activity indicator\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Hanging note prevention (keep track of notes playing, send note-off when a connection is removed)\sa180\par}
}
]]></description>
<link rel="website" href="https://stash.reaper.fm/v/7304/midi_routing_matrix">Stash website</link>
<link rel="website" href="https://forum.cockos.com/showthread.php?t=67115">Forum thread</link>
</metadata>
<version name="1.0" author="boreg" time="2022-02-11T03:04:39Z">
<source>https://github.com/ReaTeam/JSFX/raw/761437a19ffb621af3404658151efd16ade63173/MIDI/boreg_MIDI%20routing%20matrix.jsfx</source>
</version>
</reapack>
<reapack name="cfillion_MIDI note length control.jsfx" type="effect" desc="MIDI note length control">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Note Length Control\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Set a minimum length in beats and/or a maximum length to incoming MIDI notes. This plugin supports input channel selection and choosing a range of notes on which to apply the processing on.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Putting the minimum or maximum length sliders to 0 will disable that specific feature.\par}
}
]]></description>
</metadata>
<version name="1.0.2" author="cfillion" time="2019-03-31T05:31:20Z">
<changelog><![CDATA[Decrease maximum visible range of beats sliders to 8 beats (was 255)
Fix embarrassingly wrong calculation of beats to seconds
Improve behavior when the minimum beats slider > maximum beats and vice versa]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/e64ae7ea6fad4806b5921083f52762271eeff5fd/MIDI/cfillion_MIDI%20note%20length%20control.jsfx</source>
</version>
<version name="1.0.3" author="cfillion" time="2019-04-11T23:30:24Z">
<changelog><![CDATA[Fix handling of notes active on more than one channel simultaneously]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/61b62b58ce6f666baf8dcfd93c85d0f2730c37a4/MIDI/cfillion_MIDI%20note%20length%20control.jsfx</source>
</version>
<version name="1.0.4" author="cfillion" time="2019-04-14T14:21:54Z">
<changelog><![CDATA[Hotfix]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/0670142f975df983edc3b6f66a95cf5e9722bc42/MIDI/cfillion_MIDI%20note%20length%20control.jsfx</source>
</version>
</reapack>
<reapack name="cfillion_MIDI Taps Repeater.jsfx" type="effect" desc="MIDI Taps Repeater">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Taps Repeater\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Repeat MIDI notes {\i n} times after a delay set in beats until released.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 If the "Taps" parameter is set to 0 the note is repeated forever (or until velocity reaches zero).\par}
}
]]></description>
</metadata>
<version name="1.0" author="cfillion" time="2018-03-18T17:04:24Z">
<source>https://github.com/ReaTeam/JSFX/raw/6c28b721dcd622b0aa7421dfc18678b9392c51bd/MIDI/cfillion_MIDI%20Taps%20Repeater.jsfx</source>
</version>
</reapack>
<reapack name="cfillion_Note Duplicator.jsfx" type="effect" desc="Note Duplicator">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Note Duplicator\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This effect repeats the previous MIDI notes when they are released, preserving the original duration. Useful for playing 16th notes while actually only playing 8th on the keyboard.\par}
}
]]></description>
</metadata>
<version name="1.0" author="cfillion" time="2017-03-22T21:49:14Z">
<source>https://github.com/ReaTeam/JSFX/raw/f5af11d7b40782c8078ef8ba468732e8b1872dde/MIDI/cfillion_Note%20Duplicator.jsfx</source>
</version>
</reapack>
<reapack name="cfillion_Sustain pedal to note length.jsfx" type="effect" desc="Sustain pedal to note length">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 This effect delays note off message when a pedal is down until it is released. The (customizable) pedal CC events can either be eaten or let through the MIDI stream.\par}
}
]]></description>
<link rel="screenshot">https://i.imgur.com/nzzbF20.gif</link>
</metadata>
<version name="1.0" author="cfillion" time="2019-03-01T14:57:23Z">
<source>https://github.com/ReaTeam/JSFX/raw/7619ef24c53218875baaf2213727a77be7b1f4fd/MIDI/cfillion_Sustain%20pedal%20to%20note%20length.jsfx</source>
</version>
<version name="1.0.1" author="cfillion" time="2019-04-11T23:35:22Z">
<changelog><![CDATA[Fix handling of MIDI note #128
Fix note off events always being sent to channel 1]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/ca7c02c4a274b0b15d2aa972c8e747bad69cfbe1/MIDI/cfillion_Sustain%20pedal%20to%20note%20length.jsfx</source>
</version>
</reapack>
<reapack name="ee33_Triggered Random Modal Riffer.jsfx" type="effect" desc="Triggered Random Modal Riffer">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 JS plugin that populates and repeats riffs from modal scales when triggered by a MIDI message.\par}
}
]]></description>
</metadata>
<version name="1" author="ee33" time="2021-04-18T16:54:58Z">
<source>https://github.com/ReaTeam/JSFX/raw/5cdadb30d3dc33d8401313a217ec3c0c4dd8ac19/MIDI/ee33_Triggered%20Random%20Modal%20Riffer.jsfx</source>
</version>
</reapack>
<reapack name="eralumin_MIDI Channel Toggle.jsfx" type="effect" desc="MIDI Channel Toggle">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Channel Toggle\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Disable/Enable each MIDI Channel\par}
}
]]></description>
</metadata>
<version name="0.0.1" author="eralumin" time="2024-05-05T01:39:33Z">
<source>https://github.com/ReaTeam/JSFX/raw/e3488ad87e1653827abb8d118aa688e71091d393/MIDI/eralumin_MIDI%20Channel%20Toggle.jsfx</source>
</version>
</reapack>
<reapack name="erantalmor_MIDI Rhythm Trainer.jsfx" type="effect" desc="MIDI Rhythm Trainer">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Rhythm Trainer\par}
{\pard \ql \f0 \sa180 \li0 \fi0 A tool for improving your sense of rhythm.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Key features:\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Define a rhythmic pattern, and play along to hit the pattern. Only accurate notes will be heard!\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Get visual and audio feedback on your performance:\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Controllable target accuracy ("error bound")\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Only accurate notes are heard\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab Colors for early/late notes\par}
{\pard \ql \f0 \sa0 \li720 \fi-360 \endash \tx360\tab "Probability Density" curves shows where you are usually hitting over time.\sa180\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Error bound: control the level of accuracy you wish to achieve.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Auto error bound shrink: let the tool challenge you as you improve.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Support complex polyrhythms, e.g: 4 beat pattern, divided to 5 in the right hand, 7 in the left hand.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Set up complex splits - up to 4 "lanes", receiving separate key ranges and input channels.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Set "click' sounds for each lane (like a metronome).\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab "Swing" and "Phase" parameters.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab See you progress on a "10 minute training graph"\sa180\par}
}
]]></description>
<link rel="website" href="https://youtu.be/cifj6eh_LF0">Youtube tutorial</link>
<link rel="website" href="https://forum.cockos.com/showthread.php?t=250891">Forum Thread</link>
<link rel="screenshot" href="https://forum.cockos.com/attachment.php?attachmentid=53575&d=1691777240">Midi Rhythm Trainer 1.22</link>
</metadata>
<version name="1.01" author="Eran Talmor" time="2021-03-16T14:08:03Z">
<source>https://github.com/ReaTeam/JSFX/raw/da21627cf6f3bb421417fbb68bfd7f8c23489340/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.02" author="Eran Talmor" time="2021-03-17T20:10:16Z">
<changelog><![CDATA[>> Improved Swing and Phase handling:
* Double click to reset
* Added "angle" value alongside decimal fraction
* Control-drag in jumps of 30 degrees (==1/12 == 0.08333)
* Swing range expanded to -0.92 => +0.92 (-330 => 330 degress)
>> Fixed a glitch playing double clicks when enabling the click.
>> Mouse wheel also control click on/off.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/a5adf091fdbbcf9b45d81d0e631bfb4ed654e52b/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.03" author="Eran Talmor" time="2021-03-19T01:19:01Z">
<changelog><![CDATA[* Fixed an critical bug preventing changing swing/phase on Lanes 2/3/4
* Renamed slider "Number of Lanes" to "Lanes"]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/d0d6ec41195b63314fb26bed1573d73f8b37c30c/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.10" author="Eran Talmor" time="2021-03-24T20:26:22Z">
<changelog><![CDATA[Added per-lane "probability density" curves!
These show you where you have been hitting the pattern, and gives a picture of how accurate you are on specific locations (early, late, variance,...).
Fixes:
Issues with click and looping.
Fixed some minor graphical issues.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/e28c6baba14c800363b7fddb0ddb6b5610734269/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.11" author="Eran Talmor" time="2021-03-24T22:49:36Z">
<changelog><![CDATA[Added per-lane "probability density" curves (1.10)!
These show you where you have been hitting the pattern, and gives a picture of how accurate you are on specific locations (early, late, variance,...).
Fixes:
Issues with click and looping.
Fixed some minor graphical issues.
Junk character when printing phase/swing angle (fix of 1.11)]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/3e5cebc9a78da79ca5b4464aa068f169e24ceaf6/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.12" author="Eran Talmor" time="2021-03-26T15:24:35Z">
<changelog><![CDATA[Fixed no sound on first click after pressing play]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/bba375a85255cb07891bd82d556456a58987fabb/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.13" author="Eran Talmor" time="2021-04-02T18:47:22Z">
<changelog><![CDATA[Save state of training graph and probability curves between "Play"s.
Easier setting of mask by right mouse button drag over grid lines.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/3316c62fb0f590a9848ba94dd04d3b7d45111c44/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.14" author="Eran Talmor" time="2021-06-05T12:12:06Z">
<changelog><![CDATA[Added error bound display in milliseconds.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/3d899ba844cb040cd144858f7d22060a96914756/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.15" author="Eran Talmor" time="2021-07-25T23:24:52Z">
<changelog><![CDATA[Fixed bug masking / unmasking the 32nd division]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/b58605d9295dccc5269b41e8c34603f1b6a62cbd/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.21" author="Eran Talmor" time="2023-10-03T17:36:33Z">
<changelog><![CDATA[* Adjustable latency compensation for working with upstream audio-to-midi plugins (e.g. guitar / drums).
* Error bound is set in absolute time (ms) instead of relative time, promoting better tracking across different tempos and divisions.
* Current beat is highlighted, shrinking towards next beat.
* Fixed minor memory overwrite.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/9507e2b86c3617f9aacf5af437e77817e11e9557/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
<version name="1.22" author="Eran Talmor" time="2024-02-01T07:30:54Z">
<changelog><![CDATA[* Added margins on the left and right of the grid to improve the cyclic presentation of the data around the edges
(event, histograms, grid lines).
* Improved beat visibility by adding a beat ruler with alternating colors, and making the beat lines more pronounced.
* Now the phase can be dragged negatively, up to -360 degress. This is useful with working with the "copied" 1st grid line
at the right margin.
* Mellowed down error rate update to be less jumpy.
* Minor color updates.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/8721149a29eb51f03b7066cd626826f9629bc8f6/MIDI/erantalmor_MIDI%20Rhythm%20Trainer.jsfx</source>
</version>
</reapack>
<reapack name="juan_r_Keyboard MirrorInvert (Juan_R).jsfx" type="effect" desc="Keyboard Mirror/Invert">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Keyboard Mirror/Invert (Juan_R)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Mirror the keyboard around a user-selectable pivot point (e.g., C4) so that playing e.g. B3 yields C#4, playing E4 yields G#3 etc. This trick was made popular by Joe Zawinul.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Juan_R" time="2022-05-14T18:33:16Z">
<changelog><![CDATA[Initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/5f69f81737210bd2057467274b56efa068dc7ff0/MIDI/juan_r_Keyboard%20MirrorInvert%20(Juan_R).jsfx</source>
</version>
</reapack>
<reapack name="juan_r_MIDI Floating Split.jsfx" type="effect" desc="MIDI Floating Split">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Floating Split\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Move the splitpoint along, tracking both hands.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This is alpha. No hurry to actually see it committed before it goes out of alpha.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Hoping to improve it. More sophisticated heuristics anyone? The plug's collecting some data that isn't used yet.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 I'm submitting this as the snapshot of a working version: Something to get back to if experiments go astray. Todo - Manage one hand left alone corner case more gracefully.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Presets would be helpful. Switching presets = change to a slightly different FA. Some automated switching? Expose switching parameters?\par}
}
]]></description>
</metadata>
<version name="0.02a" author="Juan_R" time="2022-05-19T01:57:28Z">
<changelog><![CDATA[it works but still needs some knowing it.]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/9b15e7d94c275f6d89c8098edc09ac3bd4e8d4e4/MIDI/juan_r_MIDI%20Floating%20Split.jsfx</source>
</version>
</reapack>
<reapack name="juan_r_MIDI Fret and Pick.jsfx" type="effect" desc="MIDI Fret and Pick">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MIDI Fret and pick (Juan_R)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Create two ranges on the keyboard: The fretting range and the picking range. Keys in the fretting range produce no note by themselves. Keys in the picking range trigger the fretting notes, one by one, in their respective low-high order. Triggering may happen for all picking keys, only white keys, or only black keys. Keys in the picking range that would go beyond the highest fretted note ("idle"): option to discard, recycle through the same fretted notes, recycle at ascending octaves, or mixed recycle+octaves.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This plugin is left-right hand agnostic: picking and fretting range can be on either side, and even overlap, although in this case the results might not make too much sense.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The fretting range can be arbitrarily transposed, so that any range of notes can be reached, no matter where the range actually is on the keyboard.\par}
}
]]></description>
</metadata>
<version name="1.02" author="Juan_R" time="2022-05-19T01:56:17Z">
<changelog><![CDATA[improved "about" docs]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/d7090b18c7843a19e5a9508fd3622890a01346fd/MIDI/juan_r_MIDI%20Fret%20and%20Pick.jsfx</source>
</version>
<version name="1.03" author="Juan_R" time="2022-05-19T03:59:49Z">
<changelog><![CDATA[added options to make fretting notes play immediately]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/b4dc208414e2a944ca55f7aba7edb761f9ce2620/MIDI/juan_r_MIDI%20Fret%20and%20Pick.jsfx</source>
</version>
</reapack>
<reapack name="mathphreak_Learningbaby.jsfx" type="effect" desc="Learningbaby">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 Learningbaby\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The Learningbaby is a Sequencer Baby v2 that learns. It will add incoming MIDI notes to the pattern.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Video demonstration/tutorial {\field{\*\fldinst{HYPERLINK "https://youtu.be/dMTiWafJFmg"}}{\fldrslt{\ul
here
}}}
.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 {\b NOTE:} If you use automation to change the selected pattern, you will get incorrect results. Change the "Next Pattern" during a loop and you'll get a correct transition.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Features added to Sequencer Baby v2:\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Select between retriggering notes if sequenced on adjacent ticks and extending (retriggering makes sense for drums, extending for everything else)\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Clear current pattern by just moving a slider\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Better automated pattern switching\sa180\par}
}
]]></description>
<link rel="website" href="http://forum.cockos.com/showthread.php?p=1845408">Forum Thread</link>
<link rel="website" href="https://youtu.be/dMTiWafJFmg">Video demonstration/tutorial</link>
</metadata>
<version name="1.0" author="Matt Horn" time="2017-05-17T06:09:39Z">
<changelog><![CDATA[- Released Learningbaby]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/6fee80c6f700aac85ae85bbfb1fde81ee8b5d639/MIDI/mathphreak_Learningbaby.jsfx</source>
</version>
<version name="2.0" author="Matt Horn" time="2017-06-14T00:59:38Z">
<changelog><![CDATA[- Added "Next Pattern" for better automation of pattern switching]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/c007e71f7caeed0d85a3bb665fd092540e228798/MIDI/mathphreak_Learningbaby.jsfx</source>
</version>
</reapack>
<reapack name="MB_MIDI Event Filter.jsfx" type="effect" desc="MB MIDI Event Filter">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MB MIDI Event Filter\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Simple but flexible MIDI plugin that allows filtering out (suppressing) specific MIDI events in the FX chain on which it is added.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 It can be used to prevent recording unwanted MIDI messages by using the \u8220"record (output)\u8221" REAPER track recording mode (if in track FX chain) or to discard them right at the source (if in Input FX chain).\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Additionally, event \u8220"rechannelization\u8221" option is available, to route to a specified MIDI channel all events that aren't filtered out.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Different filter settings are available per MIDI message category (pitch bend, poly aftertouch, channel aftertouch and up to 4 control changes).\par}
}
]]></description>
</metadata>
<version name="2.0" author="mabian" time="2020-05-14T20:42:11Z">
<changelog><![CDATA[- First version (same as classic MB_Filter2) added to Reapack]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/0d26f30c50af08b8a4182a06224d9d551972fad0/MIDI/MB_MIDI%20Event%20Filter.jsfx</source>
</version>
</reapack>
<reapack name="MB_ReautoMate.jsfx" type="effect" desc="MB ReautoMate">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs36 MB Reautomate\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 The idea\par}
{\pard \ql \f0 \sa180 \li0 \fi0 This plugin was made to rescale full automation envelopes to a restricted interval for the target output MIDI parameter, allowing to achieve finer precision over settings like filter cutoff, resonance, and wherever narrow sweet spots or limited ranges are relevant or useful.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 How it works\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The full 0-1 automation envelope input range is remapped to a user-defined output range. Additional options are available to alter the transformation shape (exponential, logarithmic, quadratic bezier types are selectable) and to perform X/Y grid value quantizing (example: quantize pitch-bend envelopes to semitones or whole tones). The output result can be sent to various MIDI message types (7 bit CC, 14 bit CC, pitch bend, channel aftertouch).\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Usage\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 1)\tx360\tab Add the FX to a track\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 2)\tx360\tab Set an automation envelope for the "input value" parameter\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 3)\tx360\tab set "min" and "max" output parameters to the actual minimum and maximum values desired in output.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 4)\tx360\tab Set quantization and curve options as desired.\par}
{\pard \ql \f0 \sa0 \li360 \fi-360 5)\tx360\tab Set parameter linking from "output value" to the desired plugin parameter\line OR\line Set MIDI output as wanted and have the desired plugin parameter respond to the matching MIDI message type\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 For additional information refer here: https://forum.cockos.com/showthread.php?t=251684\par}
}
]]></description>
<link rel="website" href="https://forum.cockos.com/showthread.php?t=251684">Forum thread</link>
</metadata>
<version name="1.0" author="mabian" time="2022-01-08T04:14:55Z">
<changelog><![CDATA[First official ReaPack release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/bd309de2616e145e29ba583b3964f829b8613047/MIDI/MB_ReautoMate.jsfx</source>
</version>
</reapack>
<reapack name="mbncp_Legato Control.jsfx" type="effect" desc="Legato control">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa0 \li360 \fi-360 \bullet \tx360\tab Holds each note until next note is pressed.\sa180\par}
}
]]></description>
<link rel="website">http://forum.cockos.com/showthread.php?p=176566</link>
</metadata>
<version name="0.3" author="mbncp" time="2017-10-01T00:56:44Z">
<changelog><![CDATA[April 18 2008
+ initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/82ceb72da14753dcb3ce9be5722c07ff7a1aedad/MIDI/mbncp_Legato%20Control.jsfx</source>
</version>
</reapack>
<reapack name="mbncp_PitchWheel.jsfx" type="effect" desc="PitchWheel Control Center">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 can convert pitch ranges (see linked forum thread)\par}
}
]]></description>
<link rel="website">http://forum.cockos.com/showthread.php?p=181581</link>
</metadata>
<version name="0.2" author="mbncp" time="2017-10-01T00:56:44Z">
<changelog><![CDATA[May 02 2008
+ initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/82ceb72da14753dcb3ce9be5722c07ff7a1aedad/MIDI/mbncp_PitchWheel.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_MIDI CC fluctuation.jsfx" type="effect" desc="MIDI CC fluctuation">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 MIDI CC fluctuation generates a randomly fluctuating 14 bit (high resolution) CC Midi data stream. Normal 7 Bit CC numbers also can be selected.\line
\line
The fluctuation is generated by randomly increasing / decreasing the current CC value. The way this is done, can be "humanized" by several parameters.\line
\line
"Midi Channel" selects the Midi channel to output the CC messages\line
\line
"CC" selects the CC number. CC#s 0..31 with "HR" notification are selectable for high resolution CCs, 0...127 are selectable for standard resolution CCs\line
\line
"Delta wide (~ ^1)" controls the amount the delta increasing / decreasing the output as a equally distributed random value\line
\line
"Delta mid (~ ^3)" controls the amount the delta increasing / decreasing the output as a random value controls the that covers the extreme ends less often\line
\line
"Delta narrow (~ ^5)" controls the amount the delta increasing / decreasing the output as a random value controls the that covers the extreme ends even less often\line
\line
"Hold speed": for humanizing, a directivity of the fluctuation is implemented. This parameter defines how often then the preferred direction and migrating speed is supposed to change\line
\line
"Hold mix" defines the intensity of the directivity vs a purely random walk \line
\line
"Speed (Roughness, exponential scale)" controls the total amount of the random value that is added to the current output value. The actual factor is calculated using an exponential curve regarding the value set here.\line
\line
"Fade (~ ^1)" defines the force to pull back the output to the center in a linear (proportional to the displacement) way.\line
\line
"Fade if wide (~ ^3)" defines the force to pull back the output to the center in a way increasing with the displacement\line
\line
"Fade if even wider (~ ^5)" defines the force to pull back the output to the center in a way increasing with the displacement even more.\line
\line
"maximum step" defines the step size (per audio block) to the raw output is allowed to fluctuate\line
\line
"gain" and "bias": values to multiply the output with and to add to the output\line
\line
The other sliders show the generate signals in realtime: \line
\line
"Delta": the current raw random delta value\line
\line
"Hold": the current hold / directivity value\line
\line
"Delta with Hold": value to be added to the raw result\line
\line
"Result raw": Result before applying gain and bias\line
\line
"Result -1 ... 1": Normalized output value\line
\line
"Result Midi (0 ... 16383)": High resolution Midi CC output value\line
\line
A graphics shows the history of the "Delta with Hold" value in blue and the history of the output value in yellow. The gray line defines the center (Zero / CC value = 8191), the purple line shows the average of the output during the shown range of time.\line
\line
Using the "+" button, the user interface can be selected to be simple, medium or complex, making a different count of parameters visible and adjustable.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2019-11-16T09:21:00Z">
<changelog><![CDATA[initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/f2a163f0ac7a928d4c4857593aa36d872132e73a/MIDI/mschnell_MIDI%20CC%20fluctuation.jsfx</source>
</version>
<version name="1.1" author="Michael Schnell ([email protected])" time="2019-11-22T21:41:19Z">
<changelog><![CDATA[Improved Graphics
Add FX chain file for voice doubling]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/fc7a60513f126529567ca6677e1097f918b03d43/MIDI/mschnell_MIDI%20CC%20fluctuation.jsfx</source>
<source type="data" file="mschnell_MIDI CC fluctuation/Voice Doubling.RfxChain">https://github.com/ReaTeam/JSFX/raw/fc7a60513f126529567ca6677e1097f918b03d43/MIDI/mschnell_MIDI%20CC%20fluctuation/Voice%20Doubling.RfxChain</source>
</version>
<version name="2.0" author="Michael Schnell ([email protected])" time="2020-05-04T21:07:11Z">
<changelog><![CDATA[Added option for standard resolution CCs
Some bug fixes]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/dc6755b0f46a6538a04d27ae01045fe3079d5bd1/MIDI/mschnell_MIDI%20CC%20fluctuation.jsfx</source>
<source type="data" file="mschnell_MIDI CC fluctuation/Voice Doubling.RfxChain">https://github.com/ReaTeam/JSFX/raw/dc6755b0f46a6538a04d27ae01045fe3079d5bd1/MIDI/mschnell_MIDI%20CC%20fluctuation/Voice%20Doubling.RfxChain</source>
</version>
<version name="3.0" author="Michael Schnell ([email protected])" time="2024-08-03T09:03:41Z">
<changelog><![CDATA[user interface can be selected to be simple, medium or complex]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/f0777040996436e43ea185e7197d31935ffb66a5/MIDI/mschnell_MIDI%20CC%20fluctuation.jsfx</source>
<source type="data" file="mschnell_MIDI CC fluctuation/Voice Doubling.RfxChain">https://github.com/ReaTeam/JSFX/raw/f0777040996436e43ea185e7197d31935ffb66a5/MIDI/mschnell_MIDI%20CC%20fluctuation/Voice%20Doubling.RfxChain</source>
</version>
</reapack>
<reapack name="mschnell_MIDI glissando.jsfx" type="effect" desc="MIDI glissando">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 MIDI glissando provides a means to make use of the velocity of legato played notes to define a glide pattern in semitone steps.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Some monophonic VST instruments use the velocity of the second legato played note to determine the portamento time to be applied when doing the transition between the previous and the latest note: the lower the velocity the last note, the slower the portamento will be. Such instruments use an additional CC as "expression" to define the volume of each note instead of deriving it from the Note on velocity. As with wide moves such portamento might not be the most appropriate style for a given instrument, this JSFX converts certain legato transitions to a series of halftone steps creating a glissando.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The semitone glide run is created as a sequence of legato notes, so that the VST instruments can perform the appropriate note transitions. Currently the velocity of the generated semitones is fixed to 127.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The plugin works on Note on/off events in any Midi channel.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Setable Parameters:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Velocity -> Glissando time (msec)": Speed of the Glissando depending on the velocity of the second legato note.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "lowest note": Lowest note to be recognized (to allow for e.g. keyswitches to pass through)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "highest note": Highest note to be recognized (to allow for e.g. keyswitches to pass through)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "minimum legato interval": Minimum interval to convert to a glide (to allow the VST instrument do the legato transition e.g. by imposing a portamento)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "maximum legato interval": Maximum interval to convert to a glide (to allow the VST instrument do the legato transition e.g. by performing an overblowing jump to the second note)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "minimum glissando velocity": Minimum velocity of the second legato note to initialize a glide (to allow the VST instrument do the legato transition)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "maximum glissando velocity": Maximum velocity of the second legato note to initialize a glide (to allow the VST instrument do the legato transition e.g. by performing an direct stepping to the second note)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "minimum Glissando step (msec)": Maximum step speed to do a glide, avoiding an unrealistically fast run. If a higher speed would be necessary, the second note is just passed though, having the VST instrument handle the legato transition.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Bypass": switch the semitone glide effect on or off\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Graphics:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Several states are shown in the graphics window:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Running Notes": count of notes currently held down at the keyboard\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Glide Width": width of the legato transition (in semitones), whenever a legato is detected\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Glide Timing (mSec per semitone)": Milliseconds between the semitone in a glide run (i.e. the glide speed)\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Last Note Played Glide Start -> End : Current": start note of the legato transition, note currently played in the glide run , start note number of the legato transition, target note number of the legato transition, currently played note number in a glide run\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Remaining Semitones (+ up / - down)"\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Glide Progress (%)"\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2019-11-16T09:21:16Z">
<changelog><![CDATA[Initial Release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/4da3eba9052d281145433c4e0bed04c98f2deb21/MIDI/mschnell_MIDI%20glissando.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_MIDI MPE to single channel.jsfx" type="effect" desc="MIDI MPE to single channel">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 This plugin combines the multiple channels in an MPE Midi stream to a single channel to allow for feeding a single polyphonic or monophonic instrument.\line
\line
All incoming midi messages are routed to a single channel.\line
\line
Up to three realtime control messages are modified on the fly. All other messages are not modified. Each of the three message types can be chosen to be either of a CC message with a defined number, Pitch Wheel, or Channel Pressure.\line
For each of the three, the incoming values are monitored and the current state is stored according to the input channel, i.e. for any keys simultaneously pressed on an MPE aware keyboard. \line
In order to create a consistent value for the non-MPE-aware instrument to be played, appropriate modified messages for these control values are generated any time either such a control value change message is received or a Note-On or Note-Off message is received. \line
This message will denote either the last received value ("current", which in effect provides no change to that value), or a combination of the just received message and current values of all channels that currently hold a running sound, according to the previous Note-On and Note-Off messages. \line
\line
In "Polyphonic" mode, this combination will be computed as either of the minimum, the average, the maximum, the sum or the value of the latest key pressed. Hence the played polyphonic sound will be provided with more reasonable control values than just adhering to the latest value present on any of the MPE channels. \line
\line
In "Monophonic" mode, the three selected realtime control messages are never modified, but blocked while two or more channels provide a running sound. This allows for rather normal behavior of instruments that detect legato note transitions and trills. \line
\line
Optionally the modes can be set to handle all channels equally or to use channel 1 as a global channel. In global mode, note on/off events on channel 1 are ignored and blocked, and all other events are passed thiought to the otput channel. \line
\line
The "Smoothing" fader defines the time span a new value will need to be reached in case multiple keys are running. If the current value had been the result of at max one pressed key, the new value is sent out immediately. \line
\line
The "Bypass" option does the obvious.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Graph\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 A graph shows the currently "running" channels and the saved values of the three managed realtime controls. The last burt one line shows the values to be sent out when smoothiong is finished. The last line shows the last value sent out, proceeded by a star as long as smoothing is running on that value.\line
Moreover the first number in the last but one line denotes that one of the following states has been encountered since the last start: 1: a Note On has been detected on an already running channel. 2: a Note Off has been detected on a not running channel. 4: two running channel at the same time in "Monophonic" mode, resulting in blocking realtime messages. The second number shows the number of currently "running" channels.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2018-12-06T23:08:44Z">
<changelog><![CDATA[Initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/25e68b184909f2b84453f7a0c08c0efbc0196156/MIDI/mschnell_MIDI%20MPE%20to%20single%20channel.jsfx</source>
</version>
<version name="2.0" author="Michael Schnell ([email protected])" time="2019-03-23T00:23:43Z">
<changelog><![CDATA[rework, add smoothing]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/c9ba84936f6b78857fcd2e4031798697c418bc7a/MIDI/mschnell_MIDI%20MPE%20to%20single%20channel.jsfx</source>
</version>
<version name="2.1" author="Michael Schnell ([email protected])" time="2019-04-07T09:49:20Z">
<changelog><![CDATA[improved handling of Midi offset, "latest key" mode, bugfixes]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/2b624a9c3c1d9e899e351623576f88ad99063ecf/MIDI/mschnell_MIDI%20MPE%20to%20single%20channel.jsfx</source>
</version>
<version name="2.2" author="Michael Schnell ([email protected])" time="2019-04-09T23:05:29Z">
<changelog><![CDATA[bugfixes, improved Display]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/0b93282c24df9e45aeba1f43b308c6cf7af7c647/MIDI/mschnell_MIDI%20MPE%20to%20single%20channel.jsfx</source>
</version>
<version name="2.3" author="Michael Schnell ([email protected])" time="2019-04-14T11:01:07Z">
<changelog><![CDATA[removed the @sample section, improved Display]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/e8fee33891ed1ac3b4fca1b6643959eff0d1aaaa/MIDI/mschnell_MIDI%20MPE%20to%20single%20channel.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_MIDI PB x X.jsfx" type="effect" desc="MIDI Pitch Bend Factor">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 The Midi Pitch Bend messages in the selected Midi channel are multiplied by the factor.\line
The result is limited to the maximum possible Pitch Bend range of +/- 8191.\line
The "Factor" slider can be moved in steps of one between 1 and 16, but of course you can type in any value, which even can be lower than one or negative.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Purpose\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 A major usage case of "MIDI Pitch Bend Factor" is adapting the "Glide" function of a fretless keyboard such as a Seaboard Rise to a synth plugin.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2019-04-09T22:51:18Z">
<source>https://github.com/ReaTeam/JSFX/raw/f14cf7c0a33c50bd40c7645c5ac5d0b7c66bf53a/MIDI/mschnell_MIDI%20PB%20x%20X.jsfx</source>
</version>
<version name="1.1" author="Michael Schnell ([email protected])" time="2019-04-14T11:01:26Z">
<changelog><![CDATA[Bugfix, add Bypass]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/ab319c74a46f2e4f724b21d9de6fb14843100732/MIDI/mschnell_MIDI%20PB%20x%20X.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_MIDI route via GMEM.jsfx" type="effect" desc="MIDI route via GMEM">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The MIDI route via GMEM JSFX is mostly used to route MIDI events to the Monitor FX chain or between project tabs, as Reaper naively can't do that.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The JSFX in "Sender" mode sends MIDI events to MIDI route via GMEM instances in "Receiver" mode.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Multiple instances in Sender mode are allowed. The MIDI messages are combined to be received.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Multiple instances in Receiver mode are allowed, as long as they don't share the same transfer bus. If two Receivers work on the same Transfer Bus, the behavior is undefined.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The slider "Mode" sets the Sender or Receiver mode.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The slider "MIDI Bus" determines which MIDI bus is use to take the messages from or to send midi messages to. MIDI Buses can be used to allow for up to 16 independent MIDI streams in an FX chain.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 The slider "Transfer Bus" selects one of 16 transfer buses. A receiver will get only the messages from a sender set to the same Transfer Bus.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 All MIDI Messages are passed through unchanged by a the plugin.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs28 Beware:\par}
{\pard \ql \f0 \sa180 \li0 \fi0 As the FX chains of different tracks at the same computing time can be handling audio/MIDI blocks associated with different positions in the virtual audio time, the MIDI Transfer JSFXes can induce decent timing issues when used for (virtual) "real time" messages. They should only be used for not time critical control information. A change of a slider in any instance will asynchronously clean all transfer bus queues. So be very careful with automating this plugin.\par}
}
]]></description>
</metadata>
<version name="1.3" author="mschnell" time="2022-12-30T08:34:30Z">
<changelog><![CDATA[renamed to MIDI route via GMEM]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/a2e7dcd6474d37271c6929edf38abeae05288e76/MIDI/mschnell_MIDI%20route%20via%20GMEM.jsfx</source>
</version>
<version name="1.4" author="mschnell" time="2023-01-04T13:13:17Z">
<changelog><![CDATA[improve documentation]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/420b50bd897bb66957604932f9ff49dcdb6fd669/MIDI/mschnell_MIDI%20route%20via%20GMEM.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_MIDI Slider and MIDI CC.jsfx" type="effect" desc="Slider and MIDI CC">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 One or both of the following functions can be selected:\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab Sends a CC or Pitchbend message according to the channel and CC # setting whenever the value slider (Slider 1) is modified manually or by automation\par}
{\pard \ql \f0 \sa180 \li360 \fi-360 \bullet \tx360\tab moves the slider according to the the value of an appropriate MIDI CC or Pitchbend message received. The Slider value can be written in an automation lane.\sa180\par}
{\pard \ql \f0 \sa180 \li0 \fi0 Slider 1 can be used to read or write track envelopes.\par}
{\pard \ql \f0 \sa180 \li0 \fi0 "Resolution" selects normal or high resolution CC messages as well for receiving as for sending. The low significant CC# is 32 steps higher than the normal (most significant) CC#.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2020-04-25T16:42:42Z">
<changelog><![CDATA[initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/cd889d12d109ff2885e4ab4edd1951417d2ec664/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
<version name="1.1" author="Michael Schnell ([email protected])" time="2020-05-31T02:32:59Z">
<changelog><![CDATA[v 1.0. had wrong file content]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/72921661cd3a4d03b880bde1b1c44e7d22e8175e/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
<version name="1.2" author="Michael Schnell ([email protected])" time="2020-06-05T00:01:29Z">
<changelog><![CDATA[add Pitchbend handling
bugfix]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/e48b95eadd8085ada7bc40c8279fba170d47da03/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
<version name="1.3" author="Michael Schnell ([email protected])" time="2020-06-06T02:14:30Z">
<changelog><![CDATA[correctly auto set High Res for Pitchbend]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/27f0f1d2a578e5a992f6ea52f928f983090a7d1b/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
<version name="1.4" author="Michael Schnell ([email protected])" time="2020-06-30T19:00:55Z">
<changelog><![CDATA[bugfix]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/dd1b433e61f10919d9c9d897a63415f417ba75a0/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
<version name="1.5" author="Michael Schnell ([email protected])" time="2023-10-21T23:11:58Z">
<changelog><![CDATA[bugfix: pass through events with erroneous offset]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/cd154af80f9e7e1458bb5f1745ff76fbb6379d4c/MIDI/mschnell_MIDI%20Slider%20and%20MIDI%20CC.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_Note On under X velocity to Note Off and send All Notes Off.jsfx" type="effect" desc="Note On under X velocity to Note Off and send All Notes Off">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 \b \fs32 Description\par}
{\pard \ql \f0 \sa180 \li0 \fi0 \f1 Based on "X-Raym_Note On under X velocity to Note Off"\line
Kills all notes below a selectable velocity threshold and sends an "All Notes Off" message when a Note-On with velocity below this threshold is found, or when a selectable CC control drops below another selectable threshold\line
"Input Channel select a dedicated channel to work on or "All"\line
"Velocity Threshold" sets the Note-on Velocity below that all notes are killed\line
"Controller" selects the CC controller # to work on\line
"Controller Threshold" sets the CC value below that an "All sound Off" message is sent.\par}
}
]]></description>
</metadata>
<version name="1.0" author="Michael Schnell ([email protected])" time="2019-05-26T22:40:10Z">
<changelog><![CDATA[initial release]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/b0b4600014aee9e8751b3fef1c21b8d79adebe7d/MIDI/mschnell_Note%20On%20under%20X%20velocity%20to%20Note%20Off%20and%20send%20All%20Notes%20Off.jsfx</source>
</version>
<version name="1.1" author="Michael Schnell ([email protected])" time="2019-05-26T23:06:04Z">
<changelog><![CDATA[allow for setting vel = 0 -> pass through]]></changelog>
<source>https://github.com/ReaTeam/JSFX/raw/8df4d36e6338cfda5684790552f0c71530504e63/MIDI/mschnell_Note%20On%20under%20X%20velocity%20to%20Note%20Off%20and%20send%20All%20Notes%20Off.jsfx</source>
</version>
</reapack>
<reapack name="mschnell_Send All Notes Off.jsfx" type="effect" desc="Send All Notes Off">
<metadata>
<description><![CDATA[{\rtf1\ansi\deff0{\fonttbl{\f0 \fswiss Helvetica;}{\f1 Courier;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\widowctrl\hyphauto
{\pard \ql \f0 \sa180 \li0 \fi0 Send Hold Pedal Off and All Notes Off on all Midi Channels to a selectable Midi Bus, when a selectable CC message is detected on a selectable Channel in a selectable Midi Bus\par}
}
]]></description>
</metadata>