rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
511 stars 89 forks source link

add JACK midi support #248

Open grammoboy2 opened 4 years ago

grammoboy2 commented 4 years ago

Please add Jack Midi support for better timing

From non-sequencer manual: "3.1.1. About Jack MIDI Connections

Since Jack MIDI is new and not all programs support it, many find themselves confused. This section attempts to explain Jack MIDI ports.

The ALSA sequencer interface has long been the standard MIDI routing subsystem on Linux. But many (all) of the programs we use for synthesis these days use Jack for their audio IO. It makes more sense for those MIDI related programs utilizing the Jack Transport for synchronization to also use Jack ports for MIDI delivery. Therefore, ALSA MIDI is quickly becoming obsolete.

Jack MIDI ports are not related to ALSA MIDI ports in any way. Jack MIDI ports are just like Jack audio ports, except that the data being transmitted in each buffer are raw, timestamped MIDI events instead of floating point audio samples. Jack MIDI is sample-accurate. This means that a MIDI Note On event can occur concurrently with a sound, and the two will never drift apart as often happens to some extent with ALSA.

In essence, Jack MIDI is a way of expressing a direct temporal correlation between audio and MIDI data. " http://non-sequencer.tuxfamily.org/MANUAL.html

rncbc commented 4 years ago

that's all true and applies mostly when dealing with several and different JACK client applications; rest assured that inside and internal to qtractor, all tracks, busses and respective plugins, all MIDI processing is sample-accurate, have no doubt about that.

grammoboy2 commented 4 years ago

On 20-02-2020 09:13, Rui Nuno Capela wrote:

that's all true and applies mostly when dealing with several and different JACK client applications; rest assured that inside and internal to qtractor, all tracks, busses and respective plugins, all MIDI processing is sample-accurate, have no doubt about that.

I think we should push our standards here. Midi applications on Linux should have JACK MIDI support. Especially those which are important for music composition like Qtractor. Timing is very important in music obviously and it seems also be important for JACK Transport to work as reliable as possible.

RarogCmex commented 4 years ago

Pleasepleaseplease add jack midi. The only lack feature that stops me using qtractor always.

grammoboy2 commented 4 years ago

On 3/7/20 3:27 PM, Reva Denis wrote:

Pleasepleaseplease add jack midi. The only lack feature that stops me using qtractor always.

Now you got me curious. Why is that so important for you?

rncbc commented 4 years ago

you can always run a2jmidid -e & and bang! :) qtractor won't ever be rewritten all over again just to tell it's now using jack-midi for x sake! not in my watch, sorry cheers

grammoboy2 commented 4 years ago

On 3/7/20 6:16 PM, Rui Nuno Capela wrote:

you can always run |a2jmidid -e &| and bang! Then you can connect JACK MIDI  to JACK MIDI indeed. But will it give JACK MIDI performance, that's the question.

RarogCmex commented 4 years ago

On 3/7/20 3:27 PM, Reva Denis wrote: Pleasepleaseplease add jack midi. The only lack feature that stops me using qtractor always. Now you got me curious. Why is that so important for you? Direct connection to synthesizers

rncbc commented 4 years ago

Pleasepleaseplease add jack midi. The only lack feature that stops me using qtractor always. Now you got me curious. Why is that so important for you? Direct connection to synthesizers

only if those synths are jack-midi only! if it's about hardware/outboard synths then you simply have no big advantage to sticking with jack-midi--often it is worse; if the synth has a plug-in implementation (eg. LV2) then please use it on qtractor instead.