Qtractor takes non-revenge on LV2

Qtractor takes non-revenge on LV2

If you read one of our recent interviews, you probably remeber Rui's vitriol against LV2, a free API for audio/MIDI plug-ins. Well, guess what the newest release of his MIDI sequencer got.

Let us remind you the most interesting relevant bit from the interview:

This lv2_atom is a dang new incompatible MIDI data transport for hosts and plug-ins. Although internally similar to the old/current lv2_event infrastructure, it's more like a brand new lv3 interface, if you ask me.

The recent mda-lv2 release uses this lv2_atom(ized) thing. That said, all the MIDI instrument plug-ins in that new mda-lv2 suite will be just useless in Qtractor. They won't work and there will be no simple hack to work around that. So sorry. The audio effects ones will play nice though. I don't have much time to spare on doing the overhaul that the new lv2_atom(izing) interface requires.

He also added:

I've been interested in LV2 to cover all DSSI and VSTi features... It hasn't come close yet. But to be specific, MIDI bank / program addressable instrument presets (supported by both DSSI and VSTi) is a long whined one.

Two months later the newly released Qtractor 0.5.5 really focuses on updating to the new LV2 stack. This change will be most interesting to people who make a heavy use of LV2 synths. Here is why:

  • Qtractor now supports the very same Atom/MIDI extension that new plug-ins such as MDA require. So you will actually be able to hear MDA synths playing in the sequencer.
  • There have been no notion of MIDI banks/programs in LV2 until recently, and Qtractor now supports the newly added Programs/instrument extension.
  • The application also supports the Presets extension now, and that means, if you found an interesting sound while working in Qtractor, you'll be able to save it as a preset and load from some other host (such as Ardour 3).

This can be illustrated with a screenshot featuring MDA JX10 synth that makes use of both Atom/MIDI and Presets.

Qtractor reads and loads LV2 presets now

MDA JX10 with generic UI. Note that unlike some other plug-ins, such as the newer Calf series, the MDA ones dont' have fancy UIs yet.

Two other newly supported extensions are Worker/Schedule and Time/position. Adding support for the latter also triggered time/position fixes for VST.

Since this version Qtractor also has an official user guide in PDF, so far only in English. As usual the application is available as source code and RPM packages for openSUSE.

BTW, Rui started working on an LV2 synth of his own, and on a simple sampler. Check out his blog. If that's not “born again”, then what is? :)

Was it useful? There's more:

6 Responses. Comments closed for this entry.

  1. lilv, serd, sord, ... and bunch of other nuisances with zero documentation and donate for help button - boring nightmare, that’s how I remembered LV2

    Cheers to Qtractor devs

  2. Haha, well, OTOH they have tiny dependencies, and you only solve them like once in a half a year. Or not at all, if you use a PPA.

  3. two months is a LOT of time, always ;)

  4. ... all of which are small portable C libraries with extremely minimal dependencies (none at all except each other) which are each fully documented in a single tidy header which is also available online in an obvious link from the home page.

    One thing you learn after enough time in open software development is that people will complain about *anything* being a nightmare - while better people get things done.

    Luckily, things continue to improve despite people’s tendency to make noise exclusively about the bad things while ignoring positive progress entirely.

    tl;dr: Haters gonna hate.

  5. Alexandre Prokoudine 27 June 2012 at 11:12 pm

    @David Or that people can complain and then get things done anyway :)

  6. I don’t remember why I needed to compile it, it was half year ago or so and I wish to all, things now got better. I’m sure I wanted some “plugin” that had your code as dependency, maybe a convolver because I couldn’t find a convolver in Linux by any means (w/o using Jack or monster like Brutefir), but then maybe it was something else
    I was running Ubuntu 11.04 at the time and the thing wouldn’t compile in regular cycle. Don’t remember exact error just now, but could be GUI stuff or interconnection with your other minimal libs, and Google didn’t show anything related to problem, and your portal was useless too - there was zero documentation, or more precisely there was only documentation in form of man page which I already got in source and lots of donate buttons, like you see today even on blog posts.
    I didn’t dig in headers or analyzed your code to be able to compile, I wasn’t that desperate for compile, and it’s unrealistic to demand for it.

    People are going to complain about having bad time with your product, because people remember bad things for reason. Bad trigger happens, sometimes in faulty pattern, sometimes in correct, as no one is perfect, not even you
    If you don’t like people complaining then just code for yourself, and be happy. No one is gonna complain at you or hate you
    The more you listen to complains the less they’ll show in future, and providing loopback from the shell is smart thing to do