View Single Post
Old 01-18-2019, 07:38 AM   #23
azslow3
Human being with feelings
 
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
Default

Quote:
Originally Posted by cutnpaste View Post
Just for learning purpose I created two tracks.

1. On each track I placed reacontrol midi.
2. I placed an instrument on track 2 after the reacontrol.
3. I set reacontrol on track 1 to port 1 for input and port 2 for output.
4. I set reacontrol on track 2 to port 2 for input and output to port 2.
Oh man...

ReaControlMidi can just inject some MIDI messages into the stream. It does not route anything, at least not directly.

* There are "MIDI streams". So a sequence of MIDI messages. Some of that messages have a field called "Channel" (f.e. Note, CC, PitchBend).
Not all MIDI messages have the channel field (f.e. SysEx).
"MIDI Channel" field is fixed size, you can specify 1-16 only. So you can not specify "17" there. Again, one MIDI stream support 16 channels. Not more. Technical not possible, by definition of "MIDI Channel"

* "MIDI streams" are named differently, depends from the software/hardware. For the hardware, a stream normally called a "MIDI Port". Hardware MIDI cable can transport only one MIDI stream. While high rate transports (USB, WiFi, Ethernet) have sufficient bandwidth to transfer several such streams. And they also have capability to extra mark information, so just one USB connected device can be seen as "several MIDI ports".

* In REAPER, hardware "MIDI streams" ("MIDI ports") are named "MIDI Input" and "MIDI Output" or "Hardware MIDI Output". One track can use either ALL (!) Hardware MIDI Inputs or just one (but not a subset of them). A track can also send MIDI to one (! and only one) Hardware MIDI output.

* In REAPER, each track has 16 MIDI streams, called "MIDI buses". While technically they are closer to Audio Channels, they are called "buses" since "MIDI channel" has different meaning. By default, only one stream, so the first Bus is used.

* REAPER has build-in MIDI routing, filtering and channel substitution. For example you can set MIDI Bus 1 as input for plug-in and MIDI Bus 2 as the output (what you have done), set that only messages with "MIDI Channel 5" should be passed, or convert all MIDI messages with a channel information to channel 3.

* REAPER has direct and indirect MIDI sends. If a track is in a folder, the folder track gets all MIDI (all MIDI buses) from leaf tracks. In direct send, you can configure to send (or not to send) MIDI, all or just one Bus/Channel and to which destination Bus/channel.

* only REAPER special scripts and special VST3 can work with several MIDI streams in parallel. Also "can" does not mean "do". I do not have any single VST3 which supports that. "Old" VSTs (VST2) are supporting one stream only (they do not call it MIDI but "Events").
azslow3 is offline   Reply With Quote