[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