essej / sooperlooper

GNU General Public License v2.0
191 stars 47 forks source link

Sooperlooper's MIDI output #34

Closed c2v4 closed 2 years ago

c2v4 commented 2 years ago

Hi. I have a hard time working with SL MIDI output. Raspberry Pi 4 Installed from apt install SooperLooper 1.7.6 Basically, I am able to send commands to SL and teach it bindings. Those commands are executed when I inject a certain MIDI message. The problem is that SL does not send anything via MIDI. I would expect that when recording starts (or is waiting for high enough input) it should send a programmed MIDI message (i.e. ControlChange 5 127). I am using midisnoop to monitor and send messages, and it works with guitarix both ways. As for sooperlooper I am only able to get outputs for clock and MIDI Start.

Here's my JACK diagram (well, it's simple enough, but this question might be asked at some point): image

It's not written explicitly (or I have missed that), but SL does output MIDI? (at least it creates a MIDI output binding)

Basically what I am trying to achieve is setting the state of an LED that is attached to a specific MIDI command.

c2v4 commented 2 years ago

Checked with the newest version from sources (1.7.8) - same behavior.

essej commented 2 years ago

It doesn't send or echo any MIDI controls out right now, mostly because the feedback is usually more complex than any midi mapping might be. Most people who want their own UIs use the OSC interface to do it (that's how the main GUI itself does everything with the engine). For instance, the state of the looper can be quite dynamic, and include values that aren't necessarily bound as a command. Also, there are like 8 different commands that might cause a record or an overdub to start, so it's not at all clear what should happen....

c2v4 commented 2 years ago

Thanks for the answer. Yeah, I suspected that this might be not the feature that is ready right now. I am doing experiments with slregister and osc2midi but that is manual labor to do. I believe that it not that rare to do the same thing that I am doing right now - especially when you're using a pedal board with indicators but don't have access to SL GUI. That way you know if that's waiting/recording/playing. I wish that in future this could be simplified ;) Maybe that could work not via 2 way binding, but actually with input and output separated - sounds like that's more doable. This post gives an overview on how that could be mapped from the board perspective: https://sonosaurus.com/slforum/viewtopic.php?p=2767&sid=a2b2f43dea1ca105d0a82311df12e64f#p2767 Does the documentation mention that this is not possible? New uses would not bother you with such questions ;)

Thanks once again!