Thread: [Qtractor-devel] It's me again :)
An Audio/MIDI multi-track sequencer
Brought to you by:
rncbc
From: Will G. <wil...@mu...> - 2015-04-25 10:48:40
|
I'm curious as to how qtractor handles LV2 synths. When trying to use yoshimi as a plugin I again don't seem to have NRPNs responding, although they now behave quite correctly in standalone form. Surely there should be no difference. As far as I can tell (in yoshimi) the same code is used for both. -- Will J Godfrey http://www.musically.me.uk Say you have a poem and I have a tune. Exchange them and we can both have a poem, a tune, and a song. |
From: Rui N. C. <rn...@rn...> - 2015-04-25 12:35:36
|
On 04/25/2015 11:49 AM, Will Godfrey wrote: > I'm curious as to how qtractor handles LV2 synths. When trying to use yoshimi > as a plugin I again don't seem to have NRPNs responding, although they now > behave quite correctly in standalone form. Surely there should be no > difference. As far as I can tell (in yoshimi) the same code is used for both. > afaict. there might be a difference: LV2 (and VSTi) plugins get the (N)RPNs always as a de-composited sequence of the regular 4 MIDI CC events, instead of a single ALSA-sequencer composite event (SND_SEQ_EVENT_REGPARAM, SND_SEQ_EVENT_NONREGPARAM). otoh. DSSI plugins get the later ALSA-seq single event form though. cheers -- rncbc aka. Rui Nuno Capela |
From: Will G. <wil...@mu...> - 2015-04-27 17:51:49
|
On Sat, 25 Apr 2015 13:34:59 +0100 Rui Nuno Capela <rn...@rn...> wrote: > On 04/25/2015 11:49 AM, Will Godfrey wrote: > > I'm curious as to how qtractor handles LV2 synths. When trying to use yoshimi > > as a plugin I again don't seem to have NRPNs responding, although they now > > behave quite correctly in standalone form. Surely there should be no > > difference. As far as I can tell (in yoshimi) the same code is used for both. > > > > afaict. there might be a difference: LV2 (and VSTi) plugins get the > (N)RPNs always as a de-composited sequence of the regular 4 MIDI CC > events, instead of a single ALSA-sequencer composite event > (SND_SEQ_EVENT_REGPARAM, SND_SEQ_EVENT_NONREGPARAM). otoh. DSSI plugins > get the later ALSA-seq single event form though. > > cheers Hmmm, I think I may have an idea what's causing the problem. When you unpack the NRPM what order do you send the bytes in? In yoshimi, as soon as we get an NRPN change, the data CCs are disabled, cleared, and only re-enabled once a valid command has been received. Also, we use the data MSB as a command sub level (other synths do this too), which then lets us send running bytes to LSB. We do this to simplify things for users, and to minimise MIDI traffic. P.S. while searching the 'net for MIDI info I came across the following comment :) New Book out! 101 ways to do NRPN - all of them wrong. -- Will J Godfrey http://www.musically.me.uk Say you have a poem and I have a tune. Exchange them and we can both have a poem, a tune, and a song. |
From: Ralf M. <ral...@al...> - 2015-04-27 18:32:07
|
On Mon, 27 Apr 2015 18:52:26 +0100, Will Godfrey wrote: >New Book out! 101 ways to do NRPN - all of them wrong. http://www.philrees.co.uk/nrpnq.htm Old hard real time sequencers with 4 individual MIDI outs and old synth usually controlled filters and things like this by SysEx (without checksum, IIRC it's around 7 bytes) in quasi real time. JFTR running status could be turned of by old sequencers, since it is another culprit causing issues. The only issue I already experienced in the 80's and 90's were master/slave sync incompatibilities, all other MIDI issues are new to me, an inventions of the post-Atari PC area. |
From: Rui N. C. <rn...@rn...> - 2015-04-27 21:24:12
|
On 04/27/2015 06:52 PM, Will Godfrey wrote: > On Sat, 25 Apr 2015 13:34:59 +0100 > Rui Nuno Capela <rn...@rn...> wrote: > >> On 04/25/2015 11:49 AM, Will Godfrey wrote: >>> I'm curious as to how qtractor handles LV2 synths. When trying to use yoshimi >>> as a plugin I again don't seem to have NRPNs responding, although they now >>> behave quite correctly in standalone form. Surely there should be no >>> difference. As far as I can tell (in yoshimi) the same code is used for both. >>> >> >> afaict. there might be a difference: LV2 (and VSTi) plugins get the >> (N)RPNs always as a de-composited sequence of the regular 4 MIDI CC >> events, instead of a single ALSA-sequencer composite event >> (SND_SEQ_EVENT_REGPARAM, SND_SEQ_EVENT_NONREGPARAM). otoh. DSSI plugins >> get the later ALSA-seq single event form though. >> >> cheers > > Hmmm, I think I may have an idea what's causing the problem. When you unpack > the NRPM what order do you send the bytes in? > a single composite ALSA-sequencer event, SND_SEQ_EVENT_REGPARAM, SND_SEQ_EVENT_NONREGPARAM, is decoded into byte stream via snd_midi_event_decode() which *always* turn into a sequence of 4 CCs. moreover both MSB and LSB parts are always present as for param number *and* data value, in that order. now, whether the MSB part comes first or after the LSB one might be an issue on your side (but isn't on qtractor's (N)RPN input parser though). > In yoshimi, as soon as we get an NRPN change, the data CCs are disabled, > cleared, and only re-enabled once a valid command has been received. > > Also, we use the data MSB as a command sub level (other synths do this too), > which then lets us send running bytes to LSB. We do this to simplify things for > users, and to minimise MIDI traffic. > > P.S. while searching the 'net for MIDI info I came across the following > comment :) > > New Book out! 101 ways to do NRPN - all of them wrong. > yes, historically there's no sane way to get this whole (N)RPN stuff right for everybody all the time--kind of the uncertainty principle applied to MIDI ;) cheers -- rncbc aka. Rui Nuno Capela |