You are here

The Flirty Ditz

Qtractor is an audio/MIDI multi-track sequencer application, written in C++ on top of Qt Software's Qt4 framework, having JACK and ALSA as its main infrastructures and Linux as native and exclusive platform. Specially suited to the lone-wolf composer, arranger and (re)creative music-maker personal home-studio, it still hopes to evolve as a fairly featured desktop audio/MIDI workstation or at least, a prototypical part of it ;)

Qtractor 0.2.2 (flirty ditz) is out!

Release highlights:

  • Stephen Doonan joined documentation team and revised the user manual.
  • Spurious MIDI events recording bug now fixed.
  • Audio track monitoring and plugin loop processing slightly improved if not fixed.
  • MIDI clip editor improved precision and correct snapping.
  • Multiple track mute and solo one-click toggling (NEW).
  • Better MIDI connection persistance across sessions.
  • Record-armed tracks aren't muted on playback anymore (NEW).
  • Optimized audio clip waveform caching and drawing.
  • Many more or less fixes (see change-log).


Project page:


Weblog (upstream support):


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


  • Multi-track audio and MIDI sequencing and recording.
  • Developed on pure Qt4 C++ application framework (no Qt3 nor KDE dependencies).
  • Uses JACK for audio and ALSA sequencer for MIDI as multimedia infrastructures.
  • Traditional multi-track tape recorder control paradigm.
  • Audio file formats support: OGG (via libvorbis), MP3 (via libmad, playback only), WAV, FLAC, AIFF and many, many more (via libsndfile).
  • 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).
  • LADSPA, DSSI and native VSTi plug-in 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), pitch-shifting (via librubberband) and seamless sample-rate conversion (via libsamplerate).
  • 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))
  • JACK transport sync master.
  • MMC control surface enabled.
  • Configurable keyboard shortcuts.


  • Slight optimization in audio and MIDI meters refresh rate.
  • Another ancient bug has been squashed: MIDI events were being recorded even though recording wasn't rolling; spurious event times were being recorded due to an absent started queue.
  • Major fix applied to audio track monitor metering, and most importantly to plugin processing, correcting tentatively all audio buffer offsetting and slicing due on loop turnarounds.
  • Fixed a potential crash and/or simple record dismissal when changing properties of a track already armed for recording; prevent record engaged tracks from editing or removal.
  • Lighten up the connections line and highlight colors, as seen to fit best on some darker background themes.
  • Several icons refined with slight transparent shadowing.
  • Send/reset all MIDI buses and track controllers (ie. volume and panning) only when main transport playback is started, avoiding the pouring on eg. loop, playhead or tempo changes.
  • Pressing the Escape key also clears current selection in the main track-view and MIDI clip editor; resizing multiple events at once doesn't need help from Shift or Ctrl modifiers anymore.
  • DSSI and VSTi plugins get all their default parameters values reset on MIDI program change.
  • Several major fixes have been applied to the MIDI clip editor, regarding snap precision and correctness, most specially due on clips which weren't located on exact bar boundaries.
  • Brand new usability feature introduced: mute, solo and monitor toggling may now be applied to all tracks in session at once, when issued with either the Shift or Ctrl keyboard modifiers, which will set or reverse respectively all other tracks state.
  • Audio buses plugin chain may be also accessed and edited from the extended bus management dialog (View/Buses...).
  • MIDI meter level default color is now set distinct from the old lime-green one as in audio level meters.
  • MIDI clip editor is now a genuine top-level window, fixing all keyboard shortcut ambiguities with main application window.
  • Mixer splitter panes are now collapsible and optionally hidden.
  • Make MIDI instrument patch management a little more sane, as for preventing the accidental insertion of blank instrument names and automatic default bank/program selection in track properties.
  • All connections are now based exclusively on the textual client and port names, effective in particular to match MIDI bus ports with disregard to their volatile numerical identification.
  • MIDI file (SMF) header endianess fix (PPC users rejoyce:))
  • Record armed tracks aren't muted for playback anymore, as this was a severe crippling nuisance regarding input monitoring and all mighty user experience after recording a simple take; for instance, as the bottom line goes, there's no need to un-arm a track from its record-enabled state anymore, for just recorded material get heard on immediate playback; kick on the jam!
  • Playhead position overflow fixed on negative MMC STEP commands.
  • Thumb-view width proportions now based on minimal slack session length instead of the auto-extending track-view contents width.
  • Optimize audio clip drawing, most specially on zoomed-out levels.
  • Bring the audio peak frames into some sort of cache, preventing recurrent peak frame buffer reallocation and trashing.

Cheers && Enjoy!