Polling Midi Interface

jd's picture

Hello gang! I have a whole interactive QC piece controlled thru a M-audio Trigger finger interface. It has a 16 pads, plus 4 faders and 8 rotary pots. My question is, when my QC comp is run for the first time, how can I get QC to "poll" the Trigger finger at launch for the existing location/result of each of the knobs and faders...

Example: fader 1 is master volume, on launch, UNTIL I move the fader, I get a 0 volume, even if the fader was @ 100% on launch

I realize this is simply a case of: the midi controller does not continuously "send" until something actually happens - duh... but, anybody got any ideas for a workaround?? I imagine I will just have to set default values that stick until that fader/pot is actually "sending" new numbers

thanks!!! jd

cwright's picture
Re: Polling Midi Interface

There aren't really any workaround for this -- as you note, MIDI doesn't continually send its state, so if you've missed it, it's gone.

usefuldesign.au's picture
Re: Polling Midi Interface

I've haven't worked with MIDI for over 20 years and even then was sketchy but I'm pretty sure there are System commands you can send to a device to trigger a dump of all the values, that's how you save to MIDI patch to a file for example.

Probably somebody on Kineme boards can tell you how to do this (hopefully). In mean time you could look for MIDI docs online, not sure if you can send the command from QC though (check out the MIDI sender patch ;) ), might need to use dusts AppleScript plugin to send a command from another app or use command line to run a little shell script.

Defaults is one way to do it, which is fine for non-zeroing-dials and touchpads but not faders, obviously. I'm going to be needing to do this soon. Hope somebody has a solution.

cwright's picture
Re: Polling Midi Interface

I don't know if there's a standard sysex command for state dumping -- As long as you record all the messages you receive along with timestamps, you can dump to a midi file.

anyway, if there is a command, it should be possible to send it at composition startup to get the freshest state.

gtoledo3's picture
Re: Polling Midi Interface

If the midi device has support for scenes, then you would be able to open your app, then call up a scene. That's the only real workaround to doing the "fader wiggle" dance when using midi control surfaces.

With most midi things that have faders that aren't automated, they have a mode where you call up the scene, then you can monitor your fader value without it being active, then punch over, so that you don't call up a scene and have a weird value jump as soon as you touch a fader that is at a "different place" than the scene value. With automated devices this usually isn't an issue.

Using a bunch of multiplexers to store presets in input 0 and midi going to input 1, then pushing the index to 1 after something happens with midi might be effective.

usefuldesign.au's picture
Re: Polling Midi Interface

Vaguely related: http://xmidi.com/docs/

Source for a MIDI control app (going the other way: Control App 2 Roland Juno): http://xmidi.com/juno.html

Shareware MIDI apps: http://xmidi.com/apps.html

jd's picture
Re: Polling Midi Interface

ahhhh! Good ideas gang! I will try the sysex route. I think I can get it to do a sysex dump on launch. Will have to dig out the (ugh) manual to get the proper code for this beasty...

It has "pages" but I don't think it sends the fader values on page change...will see

I had already set up a "here is the default to use til I wiggle fader x" widget to get around it...

Will post results here.

thanks!! jd

gtoledo3's picture
Re: Polling Midi Interface

I was always spoiled by having used digital mixers with capabilities for stuff like this, where they build in the kind of scene stuff I'm talking about to help the process of doing your automation/sequencing, and would usually put out midi data as well. Reading this is actually sort of making me wish I hadn't gotten rid of a Roland mixer I had that supported these kind of functions (though I have other devices that do this as well).

I remember looking at some midi device recently with the thought that I might set it up for someone for control, but I realized that without some modicum of support for sequencing or scenes, it would be sketchy on startup.

Please report back if the sysex dump thing ends up working somehow. This doesn't make sense to me, as I've used sysex dump for backup, not to initialize device values.

I'm looking at the manual -

You have a control/mute button for doing the "adjust without adjusting actual output" for bring fader to correct position. You also have a "note mute" for editing that parameters of the pads without triggering anything.

Look at the section at knob programming and fader programming, and the section on building memory presets. It looks like you can program values, and then write to a memory bank, which you can then call up, in addition to having some global parameters. So, I would be curious if when you call up a memory preset, QC then "gets" the values.

It would be nice to not have to do anything, but if you can get it down to just calling up a memory preset, that seems reasonable (?).