[LAU] [ANN] Qtractor 0.2.1 (fainty diva) released!

Rui Nuno Capela rncbc at rncbc.org
Fri Aug 29 16:14:26 EDT 2008

Howdy! Vacation time is now gone and the rentrée is upon us, at least on
this hemisphere side of the globe ;) Silly season, beloved August,
summertime it is. And before it's too late, I'm proud
to announce that a new alpha has summoned to the challenge:

   Qtractor 0.2.1 (fainty diva) has been released!

Release highlights:

- Gradient eye-candy (NEW)
- DSSI multi-instance plug-in issue fixed
- Clip waveform/piano-roll rendered while recording (NEW)
- MIDI pitch-bend, omni-channel filtering and recording fixes
- Play-head positioning in the thumb-view (NEW)
- And many few more (see change-log below:)

For the clueless:

Qtractor is an audio/MIDI multi-track sequencer application written
in C++ with the Qt4 framework [1]. Target platform is Linux, where the
Jack Audio Connection Kit (JACK) for audio [2] and the Advanced Linux
Sound Architecture (ALSA) for MIDI [3] are the main infrastructures
to evolve as a fairly-featured Linux desktop audio workstation GUI,
specially dedicated to the personal home-studio.


    Rui Nuno Capela <rncbc at rncbc dot org>





Project page:



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


- Multi-track audio and MIDI sequencing and recording.
- Developed on pure Qt4 C++ application framework [1] (no Qt3 nor KDE
- Uses JACK [2] for audio and ALSA [3] sequencer for MIDI as multimedia
- Traditional multi-track tape recorder control paradigm.
- Audio file formats support: OGG (via libvorbis [6]), MP3 (via libmad
[7], playback only), WAV, FLAC, AIFF and many, many more (via linsndfile
- Standard MIDI files support (format 0 and 1).
- Non-destructive, non-linear editing.
- Unlimited number of tracks per session/project.
- Unlimited number of overlapping clips per track.
- XML encoded session/project description files (SDI).
- Point-and-click, multi-select, drag-and-drop interaction (drag, move,
drop, cut, copy, paste, delete, split)
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence (a-la QjackCtl [13]).
- LADSPA [5], DSSI [11] and native VSTi [12] plug-ins support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support.
- Audio/MIDI clip fade-in/out (linear, quadratic, cubic).
- Audio clip time-stretching (WSOLA-like or via librubberband [9]),
pitch-shifting (via librubberband [9]) and seemless sample-rate
conversion (via libsamplerate [8]).
- Audio/MIDI track export (mix-down, merge).
- Audio/MIDI metronome bar/beat clicks.
- MIDI clip editor (piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm) [15])
- JACK transport sync master.
- MMC control surface enabled.
- Configurable keyboard shortcuts.


- mandatory
   libqt4 [1]
   libjack [2]
   libasound [3]
   libsndfile [4]
   LADSPA [5]

- optional
   libvorbis [6]
   libmad [7]
   libsamplerate [8]
   librubberband [9]
   liblo [10]
   DSSI [11]
   VST-SDK [12]




0.2.1  2008-08-30  The Faint Diva

- Gradient eye-candy now featured for clips, tracks and mixer strips
   widget backgrounds, disabled on configure time (--disable-gradient).
- MIDI pitch-bend/wheel events are now captured/recorded properly;
   in fact, there was this ancient bug, now squashed, as all MIDI
   clips weren't being stored at all if there weren't a single note
   event captured.
- MIDI channel translation is finally in effect on monitored tracks,
   specially the ones set in omni-channel input mode.
- MIDI open files dialog gets a few more file filter types now.
- Playhead position is now shown, updated and can be also set on the
   main toolbar session thumb-view (shift-click to set the playhead).
- The floating selection, as shown for a clipboard pasting operation,
   has been corrected regarding time scale (horizontal zoom) changes,
   while in the main track-view. Also fixed final position snapping
   precision (spotted in bug #2055846).
- Current tempo and snap-per-beat setting now survive session cycling.
- DSSI plugins implementing run_multiple_synths (eg. fluidsynth-dssi)
   are now formally supported according to the DSSI spec (hopefully);
   note that previously one could only have one DSSI plugin instance
   loaded in session in any given time, otherwise a sudden crash was
   in sure demand when either plugin got activated (fixes bug #2048198).
- Audio plugin outputs now overrides each other when the number
   of output ports does not match the number of mix-down audio
   channels and thus fixing a nasty crash bug in the process.
- All custom font sizes are now set relative to default global font.
- Changing loop points by dragging on the time rulers is now mapped
   as undoable/redoable commands as it ought to be ever since.
- Drop-span option (View/Options.../Drop multiple audio files
   into the same track) now takes into effect the current session
   snap-per-beat setting when concatenating multiple audio clips.
- All plugins get their default bank/program selected on insertion.
- Make record armed tracks muted for playback, a needed regression
   to let both audio and MIDI tracks behave consistently regarding
   input monitor switching through output.
- Fixed a pretty old and shameless bug regarding MIDI clip recording,
   in which cases the queue start time offset was not taken into account,
   with captured events being recorded with erratic long delays.
- Almost complete refactoring of the clumsy audio peak file classes,
   possibly making it even clumsier but straight neverthless, with the
   noble and final aim to build it in-flight and draw the waveforms
   while recording is rolling.
- Recording clips get their initial name labels drawn while fade-in/out
   handles are dropped as found pretty useless while recording.
- Escape key now closes connections and mixer widgets as found usual.


Qtractor is (still) in some alpha stage of development, although already
functional it surely has a plenty of lurking bugs. It also lacks some
features that some might find critical in the application field. All is
(still) not lost, as the following are among the ones planned to be
worked on in the times to come (not in any particular order):

- Automation and MIDI controller mapping.
- Session/project templates.
- Puch-in/out and loop recording (takes).
- Audio clip cross-fading.
- Audio effect send/return aux. inserts.
- Clip locking, muting, normalize (gain).
- LV2 plug-in support.
- JACK MIDI support.
- Tempo and key signature map.
- Paste-repeat command.
- MIDI SysEx manager.
- MIDI event list editor.
- MIDI editor (piano roll) draw mode.
- MIDI groove/swing quantize.
- OSC interface.
- Scripting.
- Etc. etc.


[1]  Qt4 (core, gui, xml), C++ class library and tools
      for crossplatform development and internationalization

[2]  JACK Audio Connection Kit

[3]  ALSA, Advanced Linux Sound Architecture

[4]  libsndfile, C library for reading and writing
      files containing sampled sound

[5]  LADSPA, Linux Audio Developer's Simple Plugin API

[6]  libvorbis (enc, file), Ogg Vorbis audio compression

[7]  libmad, High-quality MPEG audio decoder

[8]  libsamplerate, The secret rabbit code, C library
      for audio sample rate conversion

[9]  librubberband, Rubber Band Audio Time Stretcher,
      an audio time-stretching and pitch-shifting library

[10] liblo, Lightweight OSC implementation
      (needed for DSSI GUI support)

[11] DSSI, an API for soft synth plugins with custom user interfaces

[12] VST SDK, Steinberg's Virtual Studio Technology (see README.VST)

[13] QjackCtl - JACK Qt GUI Interface

[14] GNU General Public License

[15] Cakewalk (by Roland), powerful and easy-to-use tools
      for Windows-based music and sound production

Cheers && Enjoy.
rncbc aka Rui Nuno Capela
rncbc at rncbc dot org

More information about the Linux-audio-user mailing list