[LAD] How can a LV2 plugin know on what host's MIDI Channel it's on?

Rui Nuno Capela rncbc at rncbc.org
Sat Nov 15 09:56:20 UTC 2014

On 11/15/2014 05:55 AM, David Robillard wrote:
> On 2014-10-16 11:42, Phil CM wrote:
>> Is there a way to retrieve this info (and others, ideally) from the
>> host, thus removing the need for a "midi channel" control port?
> It would be simple for the host to send a message describing this or
> whatever other information, but I don't really see the point.

qtractor ensures that the plugin only receives MIDI messages that are 
"stamped" with the proper MIDI track assigned channel.

otoh. i guess the so called "MIDI channels control port" may only make 
sense to stand-alone cases or for plugin instances that may act like so 
(eg. when using jalv).

> If the host is doing specific channel filtering and such anyway, what's
> won by telling the plugin about it?
> Just play all channels, i.e. ignore the channel entirely (omni).
>> Also, is there a way to tie the "volume" controller of the host (in
>> Qtractor's case, the volume fader of the mixer strip) to one "volume"
>> control port of the plugin, thus removing the need for the "control
>> mode" control port ?
> You can designate a port as volume in the metadata, but AFAIK no hosts
> actually do anything with such information.  Particularly since...
> ... the fader in a DAW typically does its own thing with the signal at
> that point, and wouldn't be mapped to a plugin volume anyway.  Since
> there can be many plugins in a strip, this doesn't really make sense.
> It sounds like your plugins are post-fader, which is not what you want,
> but I don't know Qtractor.

the faders in qtractor MIDI tracks/buses strips are indeed special MIDI 
controls. eg. for MIDI tracks the volume fader/slider is tied to MIDI 
CC#7 (GM channel volume). these MIDI channel messages are indeed sent 
through the MIDI plugin chain. nb. that in qtractor you can have more 
than just one MIDI intrument plugin inserted in a MIDI track/bus.

in this MIDI control model, *it is* the plugin's resposability to comply 
with the GM spec (or not), either by implementation or its own 
configuration option. like it has been for all external or stand-alone 
MIDI equipment be that soft- or hard-synths, etc.

remember, plugins aren't the only form of MIDI instruments thatat exist, 
and qtractor still is a *sequencer* designed to drive all other forms.

also, in this sense, all MIDI strip plugin chains are regarded as if 
it's "pre-fader" if one looks at it as in the audio signal sense, but 
let me refrain that it is dealing with MIDI control flow and *not* with 
the audio one, so calling it pre- or post-fader isn't actually 
applicable to MIDI tracks/buses.

rncbc aka Rui Nuno Capela
rncbc at rncbc.org

More information about the Linux-audio-dev mailing list