You are here

Qtractor 0.4.7 - The Furious Desertrix is out!

It's TYOQA (The Year Of Qtractor Automation:) what else? But wait, there's still three months to go... Meanwhile the foundations have already been laid and one can now tell that a rocky milestone is ready to get bumped. Ouch!

Qtractor 0.4.7 (furious desertrix) is out!

Release highlights:

  • MIDI learn/controller mapping for all plugin parameters (NEW)
  • Extended Clip fade-in/out WYSIWYG curves (NEW)
  • MIDI resolution overflow (FIX)
  • MIDI tempo standard base on quarter-note (FIX)
  • Extended MIDI controller mapping for mixer/tracks (NEW)
  • Audio metronome gain control (NEW)
  • Mute/solo tracks while looping (FIX)
  • MIDI Clock support (NEW)
  • Audio clip import while looping (FIX)
  • MIDI track bank-select/program-change transparency (FIX)
  • VeSTige headers included for native VST plugin support (NEW)
  • JACK transport sync support (FIX)
  • Clip tempo-adjust tool (NEW)
  • Audio tracks auto-monitoring (FIX)
  • Transport back/forward stops on loop points (NEW)
  • MIDI tracks redundant mute/solo (FIX)


Project page:


  • source tarball:
  • source package (openSUSE 11.3):
  • binary packages (openSUSE 11.3):
  • user manual (nevermind outdated):
  • Weblog (upstream support):


    Qtractor is free, open-source software, distributed under the terms of the GNU General Public License (GPL) version 2 or later.


    • While moving multi-selected MIDI events around the clip editor (aka piano-roll), with help of keyboard arrow keys, that is, was not clear which one was the so-called "anchor" event, the one which positioning gets honored for snap-to-beat business. Not anymore: the anchor event now defaults to the earliest in time or the one the user's last point(-click)ed.
    • MIDI control observer pattern implementation has sneaked in, making it ready for the so-called and long-awaited "MIDI Learn" feature and arbitrary MIDI controller assignment, for plugin parameters in particular.
    • MMC DEFERRED PLAY doesn't cause transport state to stop if currently rolling (mitigating bug #3067264).
    • Audio clip merge processing might have been skipping a few initial frame blocks, now fixed.
    • Clip selection and plugin parameter hash optimization.
    • Anti-glitch audio clip macro fade-in/out fixed again.
    • New clip fade-in/out slopes (curves) are introduced, partially adapted and refactored from those easing equations of Robert Penner's fame.
    • Clip fade-in/out non-linear slopes are now shown as actual WYSIWYG curves.
    • Escape key now closes generic plugin widgets as ever found usual elsewhere.
    • Picking nits: unselect current track when clicking on any gray empty area, also accessible from a new menu item: Track/Navigate/None.
    • A nasty and deadly MIDI resolution overflow has been finally fixed, allowing for long MIDI sequences (1h+) to load correctly on 32bit machines from now on (was perfectly fine on 64bit though).
    • MIDI editor selection hash optimization in face of reasonably huge event sequences.
    • MIDI controller mapping finally refactored to support some other MIDI event types than just CC (0xBn) ones.
    • Nitpicking fix: corrected main track-list (left pane) display when no track is currently selected.
    • libX11 is now being added explicitly to the build link phase, as seen necessary on some bleeding-edge distros eg. Fedora 13, Debian 6. (fixing bug #3050944).
    • New audio metronome bar and beat sample gain options.
    • Progressively, the observer pattern is being finally introduced, targeting all potentially automation controls and widgets as plain ground-zero for the (ultra-)long overdue automation feature.
    • MIDI controller mapping of still non-existing tracks were being implicitly assigned to the last, highly numbered, existing track. Now fixed.
    • Moving from old deprecated Qt3'ish custom event post handling into regular asynchronous signal/slot strategy.
    • Muting/soloing tracks while playback is looping was leaving current audio clip out-of-sync whenever that same track is later un-muted on any other preceding clip. Now hopefully fixed.
    • MIDI Clock support makes its first appearance.
    • All tempo (BPM) calculations are now compliant to the MIDI conventional equivalence between beat and quarter note (1/4, crotchet) as common standard time division.
    • Automatic audio time-stretch option is not enabled by default anymore.
    • Standard warning Apply button is now only shown when dismissing dialog changes are actually valid.
    • Make sure non-dedicated metronome and player buses are properly reset and reopen when changing regular audio buses (hopefully fixing bug item #3021645 - Crash after changing audio bus).
    • Hopefully, an outrageously old bug got squashed away, which was causing random impromptu crashes, most often when importing audio clips while looping and play-head is any near the loop end point.
    • General standard dialog buttons layout is now in place.
    • Fixed main track view off-limits play-head positioning.
    • Main tool-bar Time and Tempo spin-boxes, may now have their colors correct, as for most non-Qt based theme engines (ie. Gnome). Green text on black background has been and still is the the intended aspect design ;)
    • MIDI file import and internal sequence representation has been changed to be inclusive on all bank-select (CC#0,32) and program-change events which were previously discarded while honoring MIDI track properties. Interleaved SysEx events are now also preserved on their original sequence positions instead of squashing a duplicate into the MIDI bus SysEx setup.
    • Attempt to include the VeSTige header by default, as for minimal VST plugin support.
    • JACK transport support has been slightly rewritten, in fact the sync callback is now in effect for repositioning.
    • The MIDI clip editor (piano roll) widget won't be flagged as a tool window anymore.
    • A tempo adjustment tool is making inroads from the menu, as Edit/Clip/Tempo... (factory shortcut: F7).
    • Audio tracks auto-monitoring is now effective on playback.
    • Make sure to ask whether a dirty MIDI clip should be saved, upon resizing or stretching its edges (fixes bug #3017723).
    • Backward and Forward transport commands are now taking additional stops on loop points.
    • Attempt to optimize track solo/mute redundant transactions, in special regard to MIDI track events which were being duplicated on soloing and temporarily muted on unsoloing.

    Cheers && Enjoy (be happy!)


AutoStatic's picture

Great job Rui! Amazing changelog, I already totally dig the extended MIDI controller mapping for mixer/tracks and this MIDI learn/controller mapping for all plugin parameters just sounds to good to be true. I'm expecting a little gnome appearing on my screen yelling "Did you really think this would work ha ha ha! Fooled you!" when I try to map plugin parameters.

On a serious note, packages for Ubuntu Lucid and Karmic are building in my PPA, should be ready any moment:

All the best,


rncbc's picture

I now realize that there's no single hint on how you can do this. No sweat. At this time, the way to access the MIDI learn/controller assignment stuff is about hovering the plugin's generic editor window. Right-click on a plugin parameter widget (slider or spin-box) and voilá! It shows this MIDI Controller... popup. While on it, move any knob on your, uh... hard-MIDI-controller, give it an OK and that's it.

Shameless me: do you need a video tutorial for just that? :)


This MIDI learn stuff sounds great -- I don't have my controller handy right now, but I just tried right-clicking on a plugin slider, and was very glad to see the MIDI Controller selection dialog come up!

Does this mean that we can now do some rudimentary automation on software synths by recording or entering CC data in to tracks?

rncbc's picture

can [we] now do some rudimentary automation on software synths by recording or entering CC data in to tracks?

Aha, sorry :) that's precisely the part of automation that isn't yet implemented, that is, to record and playback controller actions. Still, by this time you only get them undo/redo-able and record MIDI CC data as regular and usual part of a regular MIDI clip.

As said, automation foundations are already been laid, but it will take some time and a lot more hacking to get it implanted and usable.


Nice work, but I can't see the curves of fades. How do I get them?

rncbc's picture

Maybe your clips or/and fade lengths are shown way too small to notice there's a curved shadow?

I may telling you the obvious but only quadratic or cubic fades are curved, linear, of course, isn't :)

While oN the clip properties dialog you can select which curve you set for clip fade-in/out. There's now 3 distinct curve shapes that you may choose for quadratic or cubic slopes. Look at the tiny icons, that may help :)


Oh, okay - I can see it now. I was expecting fades to be created automatically when I partially overlay one clip with another. And then the only way to access clip properties dialog is to first open the clip (F4) and the access the clips' dialog (F4 again, for some reason). Is there a better way to open this dialog perhaps, without the intermediate step?

rncbc's picture

The clip properties dialog is directly accessible for audio clips, either via F4 our double-clicking on the clip. Your case is re. MIDI clips for which the clip editor (piano-roll) opens first and then F4 for the clip properties dialog. It's a nag, yes :) but you should not need to go so often there for MIDI clips anyway. Or so I think ;)


0.4.7... amazing Rui, immense work! It keeps getting better and better. The midi learn function is a gift from the gods!

Thanks for the great job

Can't wait to get my grubs on this. You're just dying to get me to quit Ar**** aren't you?


Add new comment