You are here

Qtractor 0.4.6 - The Funky Deviless is here!

So much to tell, even more to do... then one could hardly shake, this long overdue. Lousy rhymes and no miserly times. And there it is: a bug-fix release, I'll mean to ease.

Oh crap! Let's get it through once and for all.

With huge compliments to all who got the nerve and report as many too much idiosyncrasies (nee bugs). Don't, never look back. There's plenty more ahead, no matter where you look, or hear, whether is up or down hill :)

Qtractor 0.4.6 (funky deviless) is here!

Release highlights:

  • MIDI Editor draw mode (aka paint mode) (NEW)
  • MIDI Swing-quantize (NEW)
  • LV2 UI Instance & Data-access extension support (NEW)
  • JACK Session support (EXPERIMENTAL) (NEW)
  • LV2 Save/Restore extension support (NEW)
  • MIDI Editor event list in-line editing (NEW)
  • MIDI Clip time-stretching (FIX)
  • MIDI Clip editor file salvage quietness (NEW)
  • MIDI Control bus switching crash (FIX)
  • MIDI Bank-selection backout (FIX)
  • Initial widget geometry extents (FIX)
  • Input-only bus playback crash (FIX)
  • Bus connection persistence crash (FIX)
  • Drag-and-drop cloning plugins (FIX)
  • MIDI Editor floating-selection persistence (NEW)
  • Audio inserts garbage signal (FIX)

A bit more or not so detailed change-log is found below.


Project page:


Weblog (upstream support; you're already reading it):

License (no kiddin'):

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


  • Introducing a non-painting edit sub-mode on the MIDI clip editor's piano-roll (see Edit/Select Mode/Edit Draw menu).
  • The MIDI clip editor (aka piano-roll) is now a lot more quiet about saving its own dirty content, delegating all
    salvage questions to main session control.
  • Don't show session restart message box when changing JACK transport mode option anymore.
  • Dedicated MIDI control bus switching fixed. Was closing the wrong bus eventually and crashing the whole show with it (fixes bug #2989590).
  • MIDI bank/program backout has been corrected on MIDI track properties dialog rejection (ie. user cancellation).
  • MIDI bank select method has been corrected for tracks with no instrument defined (probably fixing bug #2987071).
  • LV2 UI Instance and Data Access extension support added; reduce LV2 external UI parameter value update flickering.
  • JACK session infrastructure support. (EXPERIMENTAL)
  • Initial widget geometry and visibility persistence logic has been slightly revised as much to avoid crash failures
    due to wrong main widget hidden state.
  • Initial mixer widget extents are now set reasonably larger.
  • General source tree layout and build configuration change.
  • Ever since smooth-ramping introduction that having at least one input-only buses were causing immediate playback crashes, now hopefully fixed.
  • Refactored for common engine client nomenclature, primarily provided by JACK, then secondarily passed to ALSA Sequencer, getting rid of the JackUseExactName requirement and lifting the unique/single instance restriction in the process.
  • Current JACK Transport, MMC Device, and MIDI Song Position pointer (SPP) control modes are now saved/loaded as part of session option properties.
  • MIDI clip editor's context menu crash on Qt >= 4.6 has been fixed (resolving bug #2972603).
  • An ancient double-free corruption has been finally fixed at the audio/MIDI bus connection persistence logic.
  • Improved visibility of track state buttons text (R, M, S) when turned on dark colored themes.
  • LV2 Save/Restore extension support kicks off.
  • MIDI engine read-ahead period has been shortened to half than it was since inception--now it's a 500msec cycle.
  • MIDI clip editor event list gets its due inline editing, for time, note, value/velocity and duration columns, just
    one double-click away over the target cell ;)
  • Add-plugin selection dialog position and extent are now remembered across invocations and application sessions
    (tipping by Frank Neumann).
  • MIDI clip time-stretching is now made available through the same gestures as audio ones, by just shift+dragging
    either of the clip edges.
  • Drag-and-copying plug-in instances (cloning) is now fixed with regard to parameter value replication.
  • MIDI clip editor snap-per-beat setting is now independent from main multi-track view; File/Save As... dialog fixed;
    the current event selection is now kept floating as long as it's possible after editing command actions; finally,
    edit mode has been extended to free-hand event drawing, chalking off (piano roll) draw mode from the TODO list.
  • Swing-quantize has finally made its overdue debut as an additional MIDI clip editor tool (see Tools/Quantize...).
  • Almost since its inception, audio inserts were injecting garbage random noise when not being activated, now fixed.
  • Dedicated audio output ports for MIDI track plugins, now have their connection persistence back in business due on session load.

Cheers && Enjoy (what else?)


rncbc's picture

in fact, qtractor wasn't tried with that huge MIDI files... How many events are we expecdting to load? Any chance in having one of those files to test here? Do you think is recording bug or import/load one?


Thank you for fast responding!

> How many events are we expecdting to load?

If you think of midi events: files consist mostly of note-on/off. If this approaches 3 hours, file-size could be something below 600 kB, rough guess, starting from a file, I saw, a bit below that size.

If you think of items to import: Only one at once for my purpose, regarding those file-sizes.

Recording mainly is done with ALSA native tool 'amidirecord'.

Maybe one could regard this kind of handling oriented towards classical chamber music (or live jazz, which should be similar in such regards).

This is results from sessions, coming directly from the kitchen, so to say.

Afterward, it is hardly about merging items, but mostly about listening, analyzing, feedback.

If there should arrive need for editing or for adding tracks, files probably should be organized in smaller chunks.

> Do you think is recording bug or import/load one?

Quite sure, this happens while importing. It looks like a wrap-around: what does not fit in the end, continues at the beginning. So on one track, there are other parts merged from that same track.

Files will play with amidiplay, timidity, rosegarden, musescore (programs which I have around here; musescore sometimes introduces kinds of garbling of different kind - mainly it should be good for lay-outing, less for listening, but it is rather cpu efficient; rosegarden instead is quite hungry, with a small cpu I should not try to open editing windows in real time - either it takes forever or it crashes in this constellation, probably because of unexpected time-outs).

For files with size below about 320 kB, I appreciate that qtractor works: watching the piano roll, cpu use is about 10 percent, running with via USB to midi, back to the keyboard. This is on a laptop with celeron cpu (hp nc4200), maybe this is comparable to those atom-cpu's.

> Any chance in having one of those files to test here?

Hmm. For the time being, I feel a bit private about this point.
In fact, imported files come straight from keyboard, via midi and usb-interface, as stored with amidirecord.

Just took a look: A file of 518 kB in size will open for play-time 1:37 in qtractor. It looks like being wrapped-around, with a sudden stop at eof, continuation is at start of file. Without that problem, this file should open for 2:25. The difference to the play-time in qtractor has been merged into the same track.

That thing with recompilation maybe depended on qt or some similar layer in between - there has been an upgrade at some time in slackware.
So at some time, there must have been a fresh state on that layer.
When I recompiled at that time, the above problem was gone! Large files would play wihout any problem.

Suddenly the problem was back again, I think it was after the 3rd opening of a large file. I deleted all files which somehow looked like belonging to qtractor and I recompiled again. But the problem remained! So maybe this is not related to qtractor directly, but to some caching, or memorizing insufficient configuration data, been done somewhere else, maybe somewhere in qt.

Maybe you find out what happens here?
Regards & thanks again

rncbc's picture

what tempo? resolution? bpm, tpqn? please hand over all the details, enough for me to try understand what's going astray.

unfortunately I'm afraid I don't have the patience nor the musical skills to produce such extremely long MIDI sequences without being sure what will show up wrong at the end :)

ps. maybe you could register and start a new forum thread would be nice, where you can attach some sample files and/or screenshots ?

rncbc's picture

Today's SVN trunk might address the issue (Qtractor-

Incidentally and to my surprise, I could only reproduce the issue on 32bit machines. I used some random generated patterns written to some MIDI sequence files, providing an exceeding total duration of 1 hour, for example, with tempo=120bpm and resolution=960tpqn.

On 64bit machines all was/is fine still. That's why I took so long to find the trouble--I don't run on 32bit so often anymore :)

try && tell

> Today's SVN trunk might address the issue (Qtractor-

That's it!
Think of some happy guy sitting around somewhere, feeding stuff into his music machine.

Sorry I was not quite in time to pick-up that one directly, when you announced it.
Just now I fetched x.64, compiled, included some loong midi-file (2 hours on keyboard, 500 kB) ... it works!

> I don't run on 32bit so often anymore :)
some old laptops might tend to survive for quite some time.
->kernel: CPU: Intel(R) Pentium(R) M processor 1.73GHz<-

Thank you for working this out
& fine regards from Austria!

hola a todos, mi nombre es Lorenzo, soy de la ciudad de Luque a 20 km de Asuncion capital del Paraguay

probe el qtractor algunas cuantas veces y debo de admitir que me gusta mucho
con muchas cosas para seguir mejorandolo pero en buenos pasos

no soy nada de programador y cosas por el estilo, pero si pudiera dar un consejo de que creo que se tenga que mejorar o adaptar en el qtractor es el equalizador mejor aun si es por cada pista de musicas,

mis felicitaciones al o a los desarrolladores

rncbc's picture



many thanks for your kind words. sorry for not answering in castillano. hope you understand my english :).

re. equalizer per track: you can have it there whatever you find best. just use it in the form of a plugin; i`m sure there are good enough LADSPA plugins ou there hat you can apply to whichever track and/or bus.

why don`t you try that? it`s been available for some time now... :)


Hi Rui,

thanks for your great works,

is possible to have a vertual interface on Qtractor with faders or knobs for midi Controllers (Reverb-Chorus-Expression-Pan and................)

This will be very useful option,

even when is possible to record also moving the sliders and knobs on Qtractor/Qranger.


Hi Rui,

is this (knob or sliders) possible?

rncbc's picture

hi, sorry for overlooking this one.

I'm pretty sure you're not the first nor will you be the last to ask for this, IIUC :)

Unfortunately, there is no current plan to have this implemented (dedicated reverb & chorus send knobs or sliders on a MIDI track/channel strip) sorry.

Have in mind that those are just a couple of way too many controllers (MIDI CC#) knobs and or sliders that one would ask to include in there. Also, there's this not-supported-yet issue for MIDI filter/generator plugins, which I think it might be just a kind of flexible solution for your wishes.

Let's hear what time will tell :)


thanks Rui for your reply.


Add new comment