[LAD] [ANN] Qtractor 0.4.9 - The Final Dudette is out!

Rui Nuno Capela rncbc at rncbc.org
Thu May 26 17:34:31 UTC 2011

Yess :)

This is one hopeful attempt to be the very last one before officially 
entering the TYOQA age. Mainly a big fix and optimization release. Yes, 
you've read that right. Big. Some earthquake-bound changes have sneaked 
in and all under the hood. Most are bearable visible, if at all. Quite 
frankly, the most time-critical code paths have been subject to some 
kind of a deep overhaul, and to say the very least, might get only 
noticeable while loading hugely complex sessions. Whatever that means. 
In other words and put simply, there are gentle performance wins and 
nice resource savings.

Anyway, there's no breakage regarding the past. Everything should work 
smooth as ever. Nevertheless, there's a good chance it might enter beta 
phase or whatever you wish to call it. I guess most people had ditched 
any serious assessment on this piece of software just because I've been 
sticking with an infamous alpha label for so long. Well, inb my own 
opinion (what else?), if you care, it's just that. All software is 
always either in that so-called alpha or omega-there's no middle term, 
all else is marketing gibberish--all software is more or less in a 
broken state (ie. alpha) or just simply dead and gone (omega). There you 
have it :)

With nothing else to say (and then time being the worst of enemies),

   Qtractor 0.4.9 (final dudette) is out!

Release highlights:

* MIDI scale-quantize and snap-to-scale tools (NEW)
* Audio recording latency compensation (NEW)
* Mute/un-solo tracks shading (NEW)
* MIDI controller invert value and connects access (NEW)
* Tempo map dialog tap helper (NEW)
* Audio peak/waveform generation pipeline (NEW)
* Track-view clip invert selection (NEW)
* MIDI clip editor range selection (NEW)
* Major audio clip buffering/streaming thread optimization (FIX)
* Temporary JACK session extract directory (FIX)
* Red shade recording display (NEW) and looping (FIX)
* Audio clip over-extended ghost-playback (FIX)
* MIDI tempo map resolution import (FIX)
* Audio/MIDI time drift correction (FIX)
* Changed bus connections preservation (FIX)
* Simultaneous multi-track recording result extents (FIX)
* Track-view selection and redrawing optimization (FIX)
* LV2 instrument/synth on audio tracks crash (FIX)

Real juice follows, below...


Project page:

- source tarball:

- source package (openSUSE 11.4):


- binary packages (openSUSE 11.4):



- user manual (for paleontologists):

Weblog (upstream support):

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

- Session file format saved on JACK session has been reverted to 
archive/zip bundle one (.qtz) now using temporary extraction directory 
when loading an existing JACK session.
- Main toolbar time and tempo widgets get their visual extents a bit 
more theme-friendlier ;).
- Some current working directory trickery is now in place avoiding JACK 
session directories to ever be picked as default, as much as possible.
- Ghost-playbacks are now avoided on audio clips that are artificially 
extended beyond their own audio file lengths.
- Recording clips now shown in a reddish shade; also, it's all now shown 
a bit more correctly, regarding the lead and withing looping range.
- Custom tempo spin-box widgets now honoring the decimal point cursor 
positioning for integral up/down tempo value stepping.
- Audio recording latency is now compensated via automatic clip offsetting.
- Audio peak file generation is now pipelined on a single unique thread, 
instead of old one per audio clip file basis.
- MIDI tempo/time-signature map import problem has been hopefully fixed 
(bug #329791).
- Session and track names are now sanitized from slashes (bug# 
625798 at bugs.debian.org).
- Mouse wheel effect to sliders is now reversed.
- An appropriate export filename is now suggested as default 
(Track/export Tracks...).
- Follow-playhead automatism is now temporarily suspended while mouse 
cursor hovering prompts for any editing action (applies to main 
track-view and MIDI clip editor/piano-roll).
- Audio vs. MIDI time drift correction now takes jack_frame_time() as 
audio time reference.
- Audio buffering internal synchronization logic gets it bartered: three 
bools for a single byte flag.
- Connections are now preserved as possible when changing bus properties 
- A rare audio clip looping out-of-sync condition got squared, hopefully 
the last ;)
- Yet again, the audio clip buffer/disk-streaming optimization has been 
almost completely redrawn: now there's one thread per audio track.
- Not replacing a session directory that already exists on loading an 
archive file (.qtz) is now fixed with an usable brand new untitled session.
- The major thread optimization has been slightly improved: the audio 
clip buffer/disk-streaming thread is now served in a FIFO manner (was LIFO).
- Custom time/tempo spin-box widget change fixup.
- Audio clip filename change segfault/crash fixed.
- Make sure all clips in multiple recording tracks start and end at the 
very same position whenever recording is already engaged and rolling.
- Hopeful fix to a potential audio buffering race condition, which was a 
probable cause of random muted clips (maybe fixing bug #3290178).
- Avoid recursive observer widget value updates.
- Almost complete rewrite of the main track-view selection and redrawing 
logic, taking advantage of the fundamentally static graphical backstore.
- Autonomic resizing of mixer bus splitter sizes.
- Improved timing for monitored MIDI events being buffered though MIDI 
instrument plugins, while playback/transport is rolling.
- Audio peak/waveform is now slightly tweaked from the early 
optimization days (master C++ guru has always said that was root of all 
evil anyway :).
- MIDI controller mapping now with "Invert" value option. Also, new 
"Inputs" and "Outputs" buttons have been added as helpers for MIDI 
control port connections access.
- Main left pane vertical splitter resize hack, avoiding some track list 
update re-entrancy.
- Inserting a LV2 instrument/synth plugin on an audio track or bus were 
causing immediate crash, now fixed (give or take some event buffer stub).
- Plugin Activate All/Deactivate All menu fixing.
- Make sure given session directory has all the necessary access 
permission (read/write) while on session properties dialog.
- Dedicated audio outputs setting for instrument plugins inserted on the 
MIDI track properties dialog were not being honored, now fixed.
- Force update/close of all MIDI clips and their respective editors 
(piano-roll) if open, when changing the global session tempo (BPM).
- Removed the misleading "(Any)" special channel value while on MIDI 
controllers/learn dialog.
- Floating tool-tips now being shown also while on mouse rubber-banding 
- Audio clip pitch-shifting change fixing; also, tooltips now showing 
semitones units instead of a clueless percentage.
- Rendering audio wave-forms while recording is now a little bit 
smoother than before.
- New main track-view clip selection tool: invert current selection 
(Edit/Select/Invert). The MIDI clip editor (piano-roll) also gets proper 
range selection tool (Edit/Select/Range).
- More eye-candy: muted/non-soloed tracks are now slightly shaded on the 
main track-view.
- A major hidden optimization has been implanted: all audio clip 
buffer/disk-streaming threads are finally merged into a single 
multiplexing thread (was one thread per audio clip longer than 3 sec. 
which was quite wasteful and creepy;).
- All plugin list view changes are now properly signaled to track 
properties and bus manager dialogs and enable their respective acceptance.
- Two brand new MIDI tools make their appearance: Scale-Quantize and 
Snap-to-Scale. The later may be readily accessible from the MIDI clip 
editor toolbar and menu (check View/Toolbars/Scale and View/Scale).
- Mixer track strips are now completely redone whenever a track gets 
moved or re-ordered on main track list-view.
- Transport auto-backward option is now honored whenever a new session 
gets loaded.
- LV2 extension headers update.
- Got rid of recent QX11EmbedContainer bloating, while introducing 
gtk_init() as for LV2 GTK UI support stabilization.
- Tempo tap helper button was added to View/Tempo Map... dialog.
- Executable DSSI plug-in GUI detection fixed.
- Backout default session directory after cleaning up extracted 
archive/zip bundle session (.qtz).
- Files widget item selection feedback/focus fix.
- MIDI editor anchor event floating tool-tip fix.
- Probable fix for GtkStyle usage detection (might be gentoo specific).

Cheers && Enjoy (with lots of fun!)
rncbc aka Rui Nuno Capela
rncbc at rncbc.org

More information about the Linux-audio-dev mailing list