git-moss / DrivenByMoss

Bitwig Studio extensions for many controllers: Ableton Push I/II, Akai APC40mkI/mkII/mini, Fire, Arturia Beatstep, Novation Launchpads / Remote SLs, NI Maschine / Komplete, Open Sound Control (OSC) and many more.
https://www.mossgrabers.de/Software/Bitwig/Bitwig.html
GNU Lesser General Public License v3.0
562 stars 142 forks source link

[REAPER] X-Touch MIDI name overlap/conflict preventing +2 extender support #361

Closed kmjbyrne closed 11 months ago

kmjbyrne commented 11 months ago

Hi Jürgen!

First off, big thank you for all the top notch effort getting Reaper support with the MCU protocol, it has brought a new lease of life to my Behringer X-Touch units that I have wished for a long time.

I have noticed that during the installation of the X-Touch with +2 extenders that there appears to be some issue with the Main X-Touch daisy chaining with any X-Touch extenders. Trial and error has concluded that each of the extenders work fine in isolation with the main unit. However, together with the main unit in a LEFT, MID, RIGHT (main) configuration that one of the units is just not syncing correctly.

I have attempted to use RTP to create a separate MIDI device that can be named anything. This is using the unit's LAN feature in slave mode in conjunction with RTP (https://www.tobias-erichsen.de/software/rtpmidi.html) with the PC being in master mode.

Adding this to the drivenbymoss control surface configuration appears to resolve the issue overall as there is the following in the 3 device arrangement:

  1. Main X-Touch universal (Standard MC -> USB)
  2. Middle X-Touch-E (Standard MC -> USB)
  3. Left X-Touch-E (MC -> LAN/Slave on port 5004) / named something other than X-Touch-Ext

image

The outcome of RTP here is that the MIDI device can be named something other than X-Touch-Ext. Both X-Touch extenders are named X-Touch-Ext so it seems that there is some kind of conflict between the names here.

image

That or the dropdown is re-ordering itself every time a device is updated causing both devices 2 and 3 in the configuration to be the same as each other but I can't quite qualify this.

Would you have any insights into what may be causing the 3rd extender to be ignored?

git-moss commented 11 months ago

Hi,

thanks for the detailed report! Someone mentioned it to me but only briefly and I only have 1 extender and cannot test it.

But I did look into it and the situation is as follow: 1) The current MIDI API on Windows allows only to identify MIDI ports by their name (there is no unique ID). 2) The Java API looks the same (also on Macos). Nevertheless, Behringer is to blame in this case for not creating unique names (but they are not the only company).

However, I tried to find a solution: if ports with the same name show up, I add an increasing number. Sadly, I cannot test it, therefore I am not sure if it will be (re-)stored correctly after restart. I built a test version for you:

DrivenByMoss4Reaper-20.3.1-Preview.zip

Replace the file in the drivenbymoss-libs sub-folder with that one.

kmjbyrne commented 11 months ago

Amazing response time!

Great news on this issue

image

After having the same-name increment fix, it appears now that all 3 control surfaces are linked correctly :)

MIDI device configuration:

image

Extender setup (with 2 extenders), this bit confused me at first compared to the native Reaper Mackie universal configuration + Mackie extender as you have to manually define the track offsets 0, 8, 16.

image

This however magically works you just have to define the MIDI device in the correct order L to R.

Love it !, I sank the guts of good day into this so it's really great to able to close the loop on it !

git-moss commented 11 months ago

Great to hear!