View Full Version : Midi Program Change mit Reaper Presets
windplayer
10-15-2019, 10:21 PM
Ich nutze relativ oft Midi Program Change, um mit einem externen Midi-Pedal verschiedene Presets eines Softsynths anzusteuern. Ich habe das Pedal so eingestellt, dass es immer in 8er-Schritten springt (also Program 1 dann 9, dann 17 bis 128). Bisher habe ich nur Softsynths dazu benutzt, die direkt auf Midi-Program Change-Befehle reagieren. Nun würde ich aber gern verschiedene Presets bei Synths nutzen, die keine Program-Change-Option haben.
Ich habe die Vermutung, dass man auch die Reaper-Presets für Midi-Program-Change nutzen könnte. Dazu habe ich auch z. T. Internethinweise gefunden, die ich aber nicht ganz verstanden habe bzw. nicht genau bei mir anwenden kann.
Ich würde die Einstellung meines Midi-Pedals (mit den 8er-Sprüngen) gern beibehalten. Wenn jemand weiß, wie ich die Vorstellung in Reaper vornehmen kann - und das auch noch gut erklärt :-) , wäre das super!
DarkStar
10-16-2019, 03:53 AM
Von Google Translate:
Am einfachsten ist es möglicherweise, Ihre erste Wahl in den ersten 8 Reaper-Voreinstellungen, Ihre zweite Wahl in den nächsten 8 Voreinstellungen, Ihre dritte Wahl in den dritten 8er-Satz usw. zu speichern.
Oder Sie können einen JS FX verwenden, um die Program Change-Nummern zu ändern und die Presets zu indizieren.
----------------------------------
The easiest way may be to save your first choice into the first 8 Reaper presets, your second choice into the next 8 presets, your third choice into the third set of 8 and so on.
Or could may be able to use a JS FX to change the Program Change numbers to index the presets.
DarkStar
10-16-2019, 04:29 AM
Probieren Sie den beigefügten JS FX. Nach der Installation es kurz vor dem Synthesizer-Plug-in einfügen. / Try the attached JS FX. After installation insert it just before the synth plug-in.
How to install a JS FX (in Post #4)
windplayer
10-16-2019, 06:38 AM
Could you explain how to use the js-fx when installed? Where do I have to place the presets I want to use by midi program change? Do I have to give them specific names?
DarkStar
10-16-2019, 07:10 AM
The JS FX just changes the Program Change number, in groups of 8, e.g from 01 to 00, 07 to 00, 08 to 01, 15 to 01, 16 to 02 etc.
You would create up to 16 Reaper presets for your soft synth. Yes, give them names so that you know which is which. Section 3.30 and 16.9 in the User Guide refer to Saving Presets.
Here is an example of the full range of PC message values selecting up to 15 presets in Reverbate.
https://i.imgur.com/o7f9OW1.png
https://i.imgur.com/05vRCBu.gif
windplayer
10-16-2019, 08:12 AM
Hallo! Ein Problem gelöst, dann kommt das nächste... ;-)
Erst einmal Danke für das JS-FX-Tool. Das klappt tatsächlich gut.
Vielleicht als Ergänzung: Ich habe beim JS-Tool bei Received 8 und bei Sent 1 eingestellt und diese Einstellung dann bei mir gespeichert. So klappt es bei mir mit den 8er-Schritten.
Bei den Synth-Presets habe ich noch folgende Einstellung vornehmen müssen:
+ -> Param. -> Midi Link Program Change
Doch nun meine Frage... Die Presets werden nun der Reihe nach mit Program Change abgerufen. Aber das macht natürlich nur dann Sinn, wenn ich die Preset-Reihenfolge auch flexibel ändern kann. Ich dachte, ich könnte einfach nur über "rename" und Nummerierung die Reihenfolge ändern, wie ich es will. Aber das klappt nicht. Die Reihenfolge der Presets scheint irgendwie fix zu sein. Gibt es da eine Möglichkeit, die ich übersehe?
Mit dem Problem scheine ich nicht der einzige zu sein...
https://forum.cockos.com/showthread.php?t=173528
PS: Ansonsten bin ich total von der Lösung mit JS-FX begeistert! :-)
DarkStar
10-16-2019, 08:37 AM
Vielleicht habe ich ein Missverständnis, aber Sie sollten nichts mit dem JS FX tun müssen. Die dortigen Schieberegler dienen zur Überwachung der Änderung und nicht zum Einstellen von Einstellungen.
Wenn der JS FX eine PC-Nachricht mit einem Wert von beispielsweise 42 empfängt, ändert er diese in eine PC-Nachricht mit einem Wert von 05.
Leider kann die voreingestellte Reihenfolge nicht einfach geändert werden. Wir haben die Auswahlmöglichkeiten "Nach oben" und "Nach unten" im Menü [+], aber das geht Schritt für Schritt und ist langsam. Gutes Preset-Management wurde angefordert. Möglicherweise ist es besser, die voreingestellte Datei zu finden und direkt zu bearbeiten. Es befindet sich hier unter:
C:\Users\DarkStar\AppData\Roaming\REAPER\presets.
Ich bin froh, dass das JSFX geholfen hat :) Wenn Sie die Programmierung verstehen, ist die wichtigste Zeile darin
new_PC = (msg_num / 8) | 0;
-----------------------------------------
Maybe I misunderstand, but you should not need to do anything with the JS FX. The sliders there are for monitoring the change, not for setting anything.
When the JS FX receives a PC message with a value of, say, 42, it changes it to a PC message with a value of 05.
Sadly, the preset order canot be changed easily. We do have "Move up" and "Move down" choices in the [+] menu but that it one step at a time and is slow. Good preset management has been requested. It might be better to find the preset file and edit it directly. It is in C:\Users\DarkStar\AppData\Roaming\REAPER\presets here.
I'm glad that the JSFX helped :) If you understand programming, the most important line in it is
new_PC = (msg_num / 8) | 0;
windplayer
10-16-2019, 08:46 AM
I found this one:
https://forum.cockos.com/showthread.php?t=198958
Post #24
This Preset Sorter is a great tool. Now, everything is fine!
windplayer
05-10-2020, 10:00 AM
Hello DarkStar. I have a question about your PC 8 Changer Tool.
When it works, it is absolutely great. I use it nearly on every track with synths/effects using several Reaper presets.
But sometimes, it does not work, and I really do not know why... :-(
Then, it seems as if the synth/effect is getting the Midi Program Change-command without being influenced by your PC8 Changer. So, I have a few questions...
- Do I have to insert the PC8 Changer first, then the effect/synth or do I have to insert the effect/synth and then the PC8 Changer?
- Is it necessary to do certain settings in Reaper (additionally to + -> Midi Link -> Program Change -> Midi Channel)? Or in your PC8 Changer?
- Is there a way to force the Midi Program Change through your pc8 changer before getting to the effect/synth with the Reaper presets?
Perhaps you have an idea...
There are some screenshots.
DarkStar
05-12-2020, 03:50 AM
Answers (as in my PM): Yes, no and no.
In "jumping to preset 9 instead of preset 2 by prg chg.jpg" what PC message value is being sent? Is it on the correct channel? Please use MIDI logger inserted before and after the PC8 Changer to see the details of the PC message.
windplayer
05-12-2020, 06:11 AM
I send you the midi-logger-messages as screenshot.
DarkStar
05-12-2020, 06:46 AM
Those results look OK to me. For example the second PC message, with a value of 32 (hexadecimal '20') is converted to 4. And the ninth one, value 88 (hex '58') is converted to 11 (hex "0b").
The screenshots here use your data, before and after the JS FX. The lower two use an improved data display to make the values clearer.
https://i.imgur.com/xmqjqAm.png
Please note that the PC messages are on channel 2 so may not be affecting the plug-in (I think I saw Channel 1 selected in the "Link to MIDI Program Change").
DarkStar
05-12-2020, 02:37 PM
Update (from a PM): the JS FX is working correctly.
It looks like the PC messages were on a different MIDI channel form that linked in "Link to MIDI Program Change" so no Reaper preset was selected. The PC message was then passed to the plug-in, which responded to the PC message, selecting one of its own presets.
DarkStar
05-27-2020, 08:30 AM
Here is an enhanced version which will convert
either PC numbers 0-127
or a selected CC's data values 0-127
to PC numbers 0-15
https://i.imgur.com/jEmOD5z.png
Attachment removed, v03 is below.
windplayer
05-27-2020, 10:33 AM
You are a nice guy. Thank you, very much! This is a great tool for me!
windplayer
05-27-2020, 11:02 AM
Hello DarkStar! Your tool reacts to Midi CC-messages and transforms them to Program Change, but not in the way, I want it to.
When pressing the controllers button, the program jumps to program number 16; when releasing the button, it jumps back to number 1.
I send you a screenshot. I used CC 31.
DarkStar
05-27-2020, 02:50 PM
Most CC controls use knobs not buttons.
It sounds like the button is sending value of 127 when pressed and 0 when released. So it is setting the correct PC number.
windplayer
05-27-2020, 06:13 PM
Now, I understand this problem. But unfortunately, I have to use the button. So, it would be great to change the PC Changer in the way, that it reacts in another way:
Midi button - CC X - One Click - Program Change: 1 to 2
Midi button - CC X - Second Click - Program Change: 2 to 3
,,,,,
Midi button - CC X - 15. Click - Program Change: 15 to 16
Midi button - CC X - 16. Click - Program Change: back to 1
Is it possible?
DarkStar
05-28-2020, 10:32 AM
-- v03
-- changes PC numbers from 0-127 to FIRST_PC to LAST_PC
-- or changes a selected CC's data values to PC messages FIRST_PC to LAST_PC
-- or sends the next PC (in the range FIRST_PC to LAST_PC) when the selected CC with a data value of 127 is received
Remove the .v03.txt from the filename.
windplayer
05-28-2020, 11:58 AM
Hello DarkStar, now this is near to perfect!
I see, I explained not exactly enough, sorry...
Now, the program change steps from the first to the last Reaper presets and goes back to the first.
I thought, it would go to the first after the 16th preset. I arrange my Reaper presets, so the first 16 are the important ones and then, there are several other Reaper presets, I do not use at the moment.
So, it is not that good, if the CC/Program Change steps also through these presets.
Is it possible to define the maximum number of Reaper presets (for exemple 16; it can also be another number) from which it goes back to the first?
This is my last wish in this thread, I promise! :-)
DarkStar
05-28-2020, 12:17 PM
Well, here, the output Program Change numbers go from 01 to 16, and round again. Did you select the "Selected CC-button mode" in the drop-down?
windplayer
05-28-2020, 01:04 PM
Yes, I did it; the setting is correct.
But I made some attempts with your JS FX and I think I know the problem...
I numbered the Reaper presets from 01 until 18.
Then, I started at preset 01 and used the midi CC button: Program change worked fine until preset 16, but then happens the problem:
After clicking the midi button once again, the preset goes to 17 and then back again not to preset 01, but to preset 02.
And so on... 03, 04... 17... 02.
01 is missing further on.
I tested another plugin with the JS FX and could reproduce this problem (missing the first Reaper preset from the second program-change-cycle on).
windplayer
05-28-2020, 09:47 PM
Update:
I found a problem to bypass the problem:
You have to duplicate the first preset of your Reaper-preset-list.
Then it works fine: You can start with your first preset and after one cycle (of 16 presets) Reaper skips your first preset, and uses the second one (which is the same).
-----------
Two further remarks:
This JS FX-version (version 3) also only works for ONE of the plugins with the CC- to program change command together. You have to place your plugin directly behind the PC Changer.(The earlier PC Changer worked for several plugins placed behind it at the same time). I controlled it with the Midi logger tool. It recognizes no more midi-commands after the PC changer-influenced plug-in.
I placed the JS-FX in another of my Reaper-projects. In this project, the CC command generates a two-program-change step in the Reaper presets (2 - 4 - 6 -...). I controlled the JS-FX, and there is also a two step-preset-rhythm (instead of a one step-rhythm) in the second line of the JS-FX. I do not know why this problem occurs.
DarkStar
05-29-2020, 05:48 AM
I did wonder, as you had asked for the Program Change number to be in the range 01 to 16; this was a change from the previous versions, which implemented a range of 00 to 15. so I implemented that in v03.
But, the "link to Reaper presets" starts from PC 00.
Edit the JS FX and change the FIRST_PC and LAST_PC values to 0 and 15 respectively. That should do it.
windplayer
05-29-2020, 06:26 AM
Sorry for this misunderstanding. I made the changing you proposed (see attachment). Thank you!
windplayer
05-29-2020, 06:32 AM
I still not understand the two step-rhythm by stepping through the Reaper presets in the other project.
I made two screenshots (Midi logger before/after the PC changer, when using the CC-controller). Perhaps, it is possible to see what is going on...
I could imagine, the preset interacts with another midi event.
DarkStar
05-29-2020, 06:54 AM
There are 2 "Button pressed" CC messages there, events 9 and 10, both received at the same time. Then there are 2 "Button released" CC messages there, events 11 and 12, both received, slightly later, at the same time.
The "after" log shows the 2 generated PC messages, events 9 and 10.
------------
PS You might try this modified logger:
https://forum.cockos.com/showthread.php?t=189126
https://i.imgur.com/4Yuoa4U.png
windplayer
05-29-2020, 07:05 AM
"There are 2 "Button pressed" CC messages there, events 9 and 10, both received at the same time"
That is interesting. It seems as if there is "something" which doubles the midi-signal from the midi-button.
But what could make this happen?
I made screenshots with the Midi Logger version 2.
DarkStar
05-29-2020, 08:21 AM
Your MIDI controller?
Weird routing in Reaper?
Multiple RecArmed tracks?
windplayer
05-29-2020, 08:59 AM
The midi controller, it is not (because, in the other project, it works).
I placed the midi logger at the beginning of the chain in the track. There are also two signals recognized.
So, it could be the several RecArmed tracks or the routing.
But I have no idea how they influence the signal flow in this strange way...
windplayer
05-29-2020, 12:31 PM
But nevertheless, your tool works fine. Thank you very much, also for your patience, DarkStar!
DarkStar
04-05-2022, 02:11 PM
Here's a new version, with a variable Step Size (between 2 and 32)
For example:
-- if the Step Size is 16, then
PC numbers 00 to 15 will generate 00
PC numbers 16 to 31 will generate 01
PC numbers 32 to 47 will generate 02
...
PC numbers 112 to 127 will generate 07
Edit: attachment removed, see later.
windplayer
04-06-2022, 09:20 AM
This is the older version (see attachment) to skip between the first 16 Reaper-presets (see screenshot: Reaper presets screenshot).
Another screenshot shows what the pedal does (Midi program change).
DarkStar
04-06-2022, 10:28 AM
Maybe I am misunderstanding what you are looking for, ...
https://i.imgur.com/J0tWLps.gif
With a step size of 4:
PC numbers 00-03 are converted to 00
PC numbers 04-07 are converted to 01
PC numbers 08-11 are converted to 02
PC numbers 12-15 are converted to 03
etc
Or, with a step size of 8:
PC numbers 25-31 are converted to 03
PC numbers 32-39 are converted to 04
PC numbers 40-47 are converted to 05
etc
windplayer
04-06-2022, 12:27 PM
Maybe, that is the problem/misunderstanding. I organize my Reaper presets so that they always should start at the first preset.
Until now, I have always selected 16 presets at the beginning (see screenshot of my last post), then, other following presets have the pre-number "0".
I have some plugins with more good presets, so I thought it could be a good idea to get 32 presets (1 preset1, 2 preset2, ... 32 preset 32...) (and then those one with "0")
(I thought, you could easily change the PC8 changer in a PC4 changer, so you had 32 instead of 16 presets)
P. S.:
Just had an idea... Another possibility - perhaps easier to do and even better - is to have a different PC8 changer which starts as Reaper preset 17 (and goes to 32 before than going back to 17). Perhaps another which starts at 33 (and goes to 48 before than going back to 33).
So I could use several instances of a plugin but which "banks" of reaper presets containing 16 presets. Your PC8 changer with different starting points would estimate from which bank it starts.
DarkStar
04-06-2022, 03:26 PM
Nope; I'm still not getting it.
Can you, for a step size of 4, list every possible received PC number (0 ... 127)
and, for each one, what PC number is to be generated?
Then do the same for a step size of 32.
Also, you could select different banks, by adding a "First PC" slider to the GUI and starting from that number.
windplayer
04-06-2022, 11:17 PM
Hello DarkStar, I am a fool. It was a wrong thinking because my pedal jumps 8 steps per touch, so it is not possible the way I described it.
These would be my wishes for two plugins…
First:
2 touches by the pedal 1 step within the Reaper presets:
Midi Pedal Program Change (PC) 0 Reaper Preset (RP) 1
PC8 RP1
PC16 RP2
PC24 RP2
PC32 RP3
PC40 RP3
PC48 RP4
PC56 RP4
PC64 RP5
PC72 RP5
PC80 RP6
PC88 RP7
PC96 RP7
PC104 RP8
PC112 RP8
PC120/0 RP1
PC8 RP1
…
Second: Same function like with the old PC8 changer, but starting with the 17th Reaper preset
(If there is another possibility, it would be fine, if you could describe it…):
PC0 RP17
PC8 RP18
PC16 RP19
PC24 RP20
PC32 RP21
PC40 RP22
PC48 RP23
PC56 RP24
PC64 RP25
PC72 RP26
PC80 RP27
PC88 RP28
PC96 RP29
PC104 R30
PC112 RP31
PC120 RP32
PC0 RP17
…
Thanks for helping and sorry form my brain damage ;-)
DarkStar
04-07-2022, 02:41 AM
No problem, we have all done something like that. :)
By the way, exactly which pedal are you using?
So, every time you press the pedal it sends a PC number 8 more than the previous one: 0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120 then back to 0 again. That gives 16 values. And you would like those values to generate PC 0 ... 15? Or, the next bank, 16 .. 31 Or, the third bank, 32 ... 47? Etc
If so, try the attached. I have also added a slider to select the first PC number to be sent (I did try a Bank number but that was not so good).
https://i.imgur.com/eOr84O0m.png Big pic >> https://i.imgur.com/eOr84O0.png
https://i.imgur.com/QNU1DtMm.png Big pic >> https://i.imgur.com/QNU1DtM.png
windplayer
04-07-2022, 03:10 AM
Yeah, you are genius. :-) It works like a charm!
Is there also a possibility for the other option:
Tapping two times (PC from 0 to 8 and 16) to go one Reaper preset further?
My pedal is a Line 6 FBV 3.
Thank you!!
DarkStar
04-07-2022, 04:04 AM
Yes, that is possible. The code would need to be modified to process every second PC message and drop the others. That is a bit more tricky.
windplayer
04-07-2022, 05:47 AM
No problem, if you do not get it. You helped me a lot with the other js fx plugin.
DarkStar
04-07-2022, 07:30 AM
... now is your chance to learn about JS FX programming. And you will be able to do a lot more with it, too.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.