You are here

Qtractor 0.4.9 - The Final Dudette is out!

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, in 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...

Flattr this

Website:

http://qtractor.sourceforge.net

Project page:

http://sourceforge.net/projects/qtractor

Downloads:

  • source tarball:
    qtractor-0.4.9.tar.gz
  • source package (openSUSE 11.4):
    qtractor-0.4.9-2.rncbc.suse114.src.rpm
  • binary packages (openSUSE 11.4):
    qtractor-0.4.9-2.rncbc.suse114.i586.rpm
    qtractor-0.4.9-2.rncbc.suse114.x86_64.rpm
  • user manual (paleontological):
    qtractor-0.3.0-user-manual.pdf
  • Weblog (upstream support):

    http://www.rncbc.org

    License:

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

    Change-log:

    • 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 within 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@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 (View/Buses.../Update).
    • 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 (drag-select).
    • 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!)

Comments

Absolutely fantastic software.......have been trying to get comfortable with Linux music software and I keep coming back to Qtractor....there are now some great audio progs for Linux (I like LMMS, Ardour, Muse..etc) but for that modern take on audio/midi workstation qtractor is my favourite.....I´ve just introduced some very young students to hydrogen...next summer it will be time for Qtractor!! Keep up the good work!

Nadim

Egypt

rncbc's picture

thanks Nadim,

and summer is just less than a month away, already :)

woohoo!

I've been quite absent from all the music-FOSS-linux audio world for somem months, but it's great to be back and see this wonderful news. Thanks for all the reat work RUI!

rncbc's picture

welcome back && thanks :)

cheers

Very cool sequencer. I've been playing with it more and more lately and I'm very impressed with it. My question is, is there a way to duplicate my loops on a track, like a left click-drag or is copy and paste the only way currently?
I see the cool screen shots on the web site and cannot get mine to look like that. I downloaded the qtconfig and played with the color settings, but it looks nothing like the screenshot (which I like). How do I do this?

Again, excellent work.

Omar

rncbc's picture

hi, thanks :)

re. duplicating loops.
yeah, copy-paste is the way, yet there's this paste-repeat for the rescue ;) try it, menu Edit/Paste Repeat...

re. screen-shots.
well, it all boils down to the desktop theme you're using, mainly as settled by your distro; to replicate the exact aspect of those screen-shots, you would take kde as your desktop environment, then "plastique" as the widget style, and then "wonton soup" as your color scheme--all these readily available from kde settings--yeah that's it ;)

mind you, the whole main idea is that everything should blend nicely and well with your current desktop theme and color scheme, whichever desktop environment is in use; you could change each one of the palette colors via qtconfig but that would affect all qt applications, not only qtractor.

truth is, there's no specific theme or color scheme setting exclusive to qtractor. nope. sorry.

that said, the screen-shots just reflects my own preferences overall, again not specific to qtractor, it applies to all, even to gtk/gnome thingies, thanks to kde friendliness ;)

cheers

yPhil's picture

Wow, this is again amazing work, Bravo Rui Nuno.

Quick questions :

I just installed the 0.4.9 version (on a Mandriva 2010.2) and the "about" window says :

VeSTige header support enabled.
LV2 Plug-in GTK UI support disabled.
JACK Session support disabled.
JACK Latency support disabled.

-The *only* way to enable those again would be to recompile, right ?
-this "JACK Latency support " must be enabled for your new "Audio recording latency compensation" thingie, ok ?
-"LV2 Plug-in GTK UI support disabled" does that mean anything for a KDE user ? How can I test that I have "LV2 Plug-in QT UI support" enabled, any fancy interface plugin advice ?
-"VeSTige header support enabled." Is that enough to run VST plugins ? Not that I would want to, just asking.

rncbc's picture

and here the quick answers :)

-The *only* way to enable those again would be to recompile, right ?
yep.

- this "JACK Latency support " must be enabled for your new "Audio recording latency compensation" thingie, ok ?
not necessarily, you still get a fixed buffer-size in length of latency compensation as default.

- "LV2 Plug-in GTK UI support disabled" does that mean anything for a KDE user ? How can I test that I have "LV2 Plug-in QT UI support" enabled, any fancy interface plugin advice ?
you need to have libgtk2-dev(el) et al. packages installed at the time you configure/compile it again.

- "VeSTige header support enabled." Is that enough to run VST plugins ? Not that I would want to, just asking.
yes its enough, although you'll miss some VST plugin features only supported through the official Steinberg VST-SDK.

cheers

yPhil's picture

Thank you for your answer - boy that's one fast uber-procrastinator ;) - about that LV2 GUI thing, when I load such a plugin - I'm using qtractor 0.4.9 on a rt 2.6.33 kernel/KDE 4.4 with no xruns, everything is a-OK - say CALF compressor, a black window with some GUI appears, and then closes quickly, every time, and I'm left with the vanilla cursors interface, witch BTW works very good, thank you very much ; But i'd really like to see those nifty fancy interfaces, if only to sell GNU/Linux to my blind friends..?

It's been like this ever since I installed my first LV2 plugin. In fact I never saw any other interface than the cursor one, even for the other plugins... EDIT My bad, I tried the CALF Monosynth (DSSI) and got a nice interface via the "edit" button... Still got the black window that fades out... Eerie Oo
Also, I can't see any preset..? I'm sure some plugins ship with presets, I see the files pass by as I install some, I want to hear the presets, where are the presets ?! EDIT Well I can see the presets now, never mind. /:

I noticed that in the prefs, no paths are defined, yet when I "add plugin" in a track many are displayed... I only install mandriva packages...
So I tried adding the paths, it's all about /usr/lib/calf, /usr/lib/dssi, etc, but that did not change anything, still a long list of plugins that all work good for what I tested, but w/o any preset or GUI.

About that fading GUI thing, is this something that you guys experienced before, should I experiment with X settings, disable compositing, that sort of thing ? Obviously I have all the libs required to display those windows, but where could it vanishes ?

rncbc's picture

the default search path for LV2 plugins is (LV2_PATH), is in this order, on 32bit systems:

/usr/local/lib/lv2
/usr/lib/lv2

while on 64bit systems:

/usr/local/lib64/lv2
/usr/lib64/lv2

this applies as similar to other plugin specs (just substitute lv2 by ladspa, dssi or vst in the above).

if plugins are installed properly under any of the above file-system paths, then you don't need to set it again on the preferences dialog, unless you know for sure its not the case.

cheers

yPhil's picture

Thanks ; I solved this by installing the xxxx-devel packages of the required libs
I'm trying to compile the latest CVS version because I feel brave :)
The only errors I get on configure are those :

configure: WARNING: *** mad library not found.
configure: WARNING: *** MPEG Layer III audio file support will be disabled.
configure: WARNING: *** JACK latency support will be disabled.

So the only options flagged "no" are :

MPEG-1 Audio Layer 3 file support (libmad) . . . .: no
LV2 Plug-in support (liblilv) (NEW) . . . . . . .: no
LV2 Plug-in UI instantiation (libsuil) (NEW) . . .: no
LV2 Plug-in QT4 UI support (NEW) . . . . . . . . .: no
LV2 Plug-in Files support (EXPERIMENTAL) . . . . .: no
JACK Session support . . . . . . . . . . . . . . .: no
JACK Latency support (NEW) . . . . . . . . . . . .: no
X11 Unique/Single instance . . . . . . . . . . . .: no
XInitThreads() support (DANGEROUS) . . . . . . . .: no
Debugger stack-trace (gdb) . . . . . . . . . . . .: no

Questions :
-What do I need to do to enable Jack Session Support ?
-What do I need to do to enable JACK Latency support ?
-Where should I look for the list of possible build options ?
-I dont really care for mp3, do I really need this if I use flac as the clip format ?

rncbc's picture

-What do I need to do to enable Jack Session Support ?
a newer jack (>= 0.120.x)

-What do I need to do to enable JACK Latency support ?
ibidem

-Where should I look for the list of possible build options ?
./configure --help

-I dont really care for mp3, do I really need this if I use flac as the clip format ?
nope. mp3 support is playback-only anyway; you'll be more than fine sticking with flac :)

cheers

-What do I need to do to enable Jack Session Support ?
a newer jack (>= 0.120.x)

thanks this helped me ; -)

Thanks so much we are now sorted out. It is just working very well. Thumbs up

first of all i love qtractor.
now i want to install the new 0.4.9 under Linux Mint 11 (build on natty) but i get an qt error.
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether gcc needs -traditional... no
checking for Qt library version >= 4.2... no; Qt 4.2 or greater is required

maybe you could help me.
thanks

rncbc's picture

first of all i love qtractor.
thanks :)

but i get an qt error... checking for Qt library version >= 4.2... no; Qt 4.2 or greater is required
make sure you install libqt4-dev and all its dependencies.

hth.
cheers

freeze X system when show dialog add a new track on ArchLinux x86_64+KDE 4.5.4+nVidia proprietary driver

Hi,

I have been looking for a sequencer on Linux for some time, found a couple of them online, but I agree with some of you here Qtractor is the best I have used so far....great functionalities and usability

rncbc's picture

ok. thanks :) you should move on to a more recent version, like the "alpha zulu" or svn trunk.

yep, this "final" wasn't just that after all ;)

cheers

Great article, nice article for Qtractor 0.4.9 you give a detailed article. great job. Keep it up!

Cheers!

Love the new version.

Add new comment