simultaneous ArtNet and MIDI output using passthrough?
Posted: Mon Oct 24, 2022 7:13 pm
I'm trying to figure out how to get simultaneous ArtNet and MIDI output using a Universe configured as a passthrough. I think what I want to do is possible but I'm just not having much luck getting it set up.
First, the why:
Intro: I'm using QLC+ to develop sequences for some home-built animatronic Halloween props. I have built the props to receive ArtNet, but the best way I could figure out how to save sequences of a show to replay to them is to have QLC+ generate MIDI (to a port made with loopmidi which is then recorded with a midi editor program), then replay the MIDI once the prop is triggered and use midimonster to convert it back to ArtNet. Convoluted, yes, but it works pretty well. So, if QLC is controlling the prop in real time, it'll speak ArtNet to it directly, but if the prop is running based on motion sensor triggers and pre-recorded sequences, it'll play back a MIDI file (from a Raspberry PI) that gets converted back to ArtNet (while also playing back multitrack audio using ecasound).
Why I want simultaneous output: I'd like to be able to use the audio trigger widget to help with choreographing jaw movement on my skeleton (doing it manually is a pain). If I'm operating in "real-time" mode (ArtNet out), I can have the audio trigger control one of the servo fixtures and that works pretty well (still running an older QLC version, 4.12.2, so the issue with low level audio on the trigger widget is still there but I can make it do what I want). But now, I'd like to simultaneously put out ArtNet and MIDI so that I can record whatever sequence is being produced as part of the real time performance to a MIDI file, for future playback. If I operate just with ArtNet output, then I can't capture to a file. If I operate just with MIDI, I can't observe my skeleton as I talk to it in real time. So.....I'd like both outputs at the same time.
What I've tried:
I've tried setting up another Universe ("Passthrough Universe") with the Input being set to ArtNet (either the same IP my "ArtNet Out" Universe is using, or 127.0.0.1), and MIDI as the Output, and checking "passthrough". I don't seem to get get anything coming in via the ArtNet input to Passthrough Universe when I run the Virtual Console and move sliders in ArtNet Out universe around. If I make a slider widget for the Passthrough Universe and have it set to follow an input, that doesn't work, but manually moving the slider will put out values to the MIDI out, so I know the output side of Passthrough Universe is working. I just can't seem to get the output from my ArtNet Out Universe back as input into my Passthrough Universe. What am I missing? Is there a simple tutorial anywhere that would provide some info for how to have one universe output ArtNet and have a second universe take that ArtNet info as its input for further use?
Any help or guidance would be greatly appreciated, thanks!
First, the why:
Intro: I'm using QLC+ to develop sequences for some home-built animatronic Halloween props. I have built the props to receive ArtNet, but the best way I could figure out how to save sequences of a show to replay to them is to have QLC+ generate MIDI (to a port made with loopmidi which is then recorded with a midi editor program), then replay the MIDI once the prop is triggered and use midimonster to convert it back to ArtNet. Convoluted, yes, but it works pretty well. So, if QLC is controlling the prop in real time, it'll speak ArtNet to it directly, but if the prop is running based on motion sensor triggers and pre-recorded sequences, it'll play back a MIDI file (from a Raspberry PI) that gets converted back to ArtNet (while also playing back multitrack audio using ecasound).
Why I want simultaneous output: I'd like to be able to use the audio trigger widget to help with choreographing jaw movement on my skeleton (doing it manually is a pain). If I'm operating in "real-time" mode (ArtNet out), I can have the audio trigger control one of the servo fixtures and that works pretty well (still running an older QLC version, 4.12.2, so the issue with low level audio on the trigger widget is still there but I can make it do what I want). But now, I'd like to simultaneously put out ArtNet and MIDI so that I can record whatever sequence is being produced as part of the real time performance to a MIDI file, for future playback. If I operate just with ArtNet output, then I can't capture to a file. If I operate just with MIDI, I can't observe my skeleton as I talk to it in real time. So.....I'd like both outputs at the same time.
What I've tried:
I've tried setting up another Universe ("Passthrough Universe") with the Input being set to ArtNet (either the same IP my "ArtNet Out" Universe is using, or 127.0.0.1), and MIDI as the Output, and checking "passthrough". I don't seem to get get anything coming in via the ArtNet input to Passthrough Universe when I run the Virtual Console and move sliders in ArtNet Out universe around. If I make a slider widget for the Passthrough Universe and have it set to follow an input, that doesn't work, but manually moving the slider will put out values to the MIDI out, so I know the output side of Passthrough Universe is working. I just can't seem to get the output from my ArtNet Out Universe back as input into my Passthrough Universe. What am I missing? Is there a simple tutorial anywhere that would provide some info for how to have one universe output ArtNet and have a second universe take that ArtNet info as its input for further use?
Any help or guidance would be greatly appreciated, thanks!