Depends on Qt 4.x
|Submitted: Apr 14 2007|
Updated: Jun 6 2013
Qtractor is an audio/MIDI multi-track sequencer application written in C++ with the Qt4 framework. Target platform is Linux, where the Jack Audio Connection Kit (JACK) for audio and the Advanced Linux Sound Architecture (ALSA) for MIDI are the main infrastructures to evolve as a fairly-featured Linux desktop audio workstation GUI, specially dedicated to the personal home-studio.
- 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, paste-repeat, delete, split, merge).
- Unlimited undo/redo.
- Built-in mixer and monitor controls.
- Built-in connection patchbay control and persistence
- LADSPA, DSSI, native VST and LV2 plug-ins support.
- Unlimited number of plug-ins per track or bus.
- Plug-in presets, programs and chunk/configurations support.
- Unlimited audio effect send/return inserts per track or bus.
- Audio/MIDI clip fade-in/out (linear, quadratic, cubic).
- Audio/MIDI clip gain/volume, normalize, export.
- Audio/MIDI track and plugin parameter automation (dynamic curves,
sample&hold, linear and spline modes).
- 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.
- Unlimited tempo/time-signature map.
- Unlimited location/bar markers.
- MIDI clip editor (matrix/piano roll).
- MIDI instrument definitions (a-la Cakewalk(tm) (*.ins));
SoundFont (*.sf2) and MIDI Names XML (*.midnam) files also supported..
- MIDI controller mapping/learn/assignment (mixer and plug-in parameters).
- MIDI system exclusive (SysEx) setups.
- JACK transport sync master/slave.
- JACK session support.
- NSM (Non Session Management) support.
- MMC control surface enabled.
- MIDI Song Position cueing support.
- Configurable keyboard shortcuts.
0.5.9 2013-06-06 The Juliet Quebec
- Auto-incremental version numbering of backup session files; brand new versioning mode option added.
- Fixed one long as ever MIDI file export bug, which was about washing all self-induced MIDI bank-select (CC#0, CC#32) and program-change (PC#) events into MIDI channel 1, regardless of the source track/channel.
- Fixed initial sample-rate settlement on plugin chains for all tracks and buses whenever a session file original sample-rate differs from the current audio device engine (ie. JACK).
- New German (de) translation added (by Guido Scholz, thanks).
- Now accepting JACK transport tempo and time-tignature changes while in slave transport mode.
- Fix ref-count and auto-removal of created files that result from clip merge/export when session is closed but not saved.
- MIDI track instrument bank/program selection, from plugin UIs that support it, is now effectively and complete.
- Custom connections for dedicated audio outputs from all plugin chains in MIDI tracks or buses are back in business, hopefully restored gain on session load (ticket by yuba, thanks).
- Track Properties dialog now dirty after any plugin related change (another head-up by yuba, thanks again).
- Tempo Map/Markers dialog is not set initially dirty anymore.
- Audio buses plugin state's persistence were found AWOL: while being properly saved as usual, were being restored to default on every session reload (as noticed by yuba, thanks).
- NSM (Non Session Management) support is being introduced.
- The MIDI clip editor (aka. piano-roll) gets a brand new rescale mode: ctrl+dragging the right edge of a note now rescales all times and duration of all the subsequent selected notes (after an interesting idea/ticket by Joel Leclerc, thanks).
- The new MIDI clip editor rescale mode also applicable to event values (eg. note velocities, pitch-bend), while ctrl+dragging the edges of an event vertical bar.
- VST plugin (GUI) idle timer makes a comeback.
- Hard-wired LV2 UI selection order for plugins which supply more than one option (lv2_external_ui gets always honored first then, as provided via libsuil, X11, GTK and last but not least, Qt4).
0.5.8 2013-03-19 The India Romeo
- Dropped old audio ramping spin-locks as its glitching reduction weren't that effective anymore.
- Audio bus and track gain may now be set for amplification again, from +0dB up to +6dB, while using the Mixer strip sliders/faders (an old function found missing ever since pre-TYOQA).
- Basic LV2 X11 UI support has been added through libSUIL but only really effective if plugins doesn't support the LV2 External UI extension in addition which takes precedence on any case.
- Improved precision tolerance on the Tempo Map / Markers dialog.
- Reinstated and fixed (old) warning and impending re-conversion on loading session files which the original sample-rate differs from current audio device engine (aka. JACK).
- LV2 Plugin State/Preset name discrimination fix (after a ticket by Jiri Prochaszka aka. Anchakor, thanks:)
- Linked/ref-counted audio clips must not overlap and now must have a buffer-size worth of a gap between each other.
- Something fishy has been detected in the SSE (not so) optimized code from SoundTouch's-inspired WSOLA time-stretching.
- Splitting clips apart is now easier than ever: a brand new entry enters the main menu scene: Edit/Split (Ctrl+Y) splits up clips according to current range/rectangular selection.
- Audio clip offsets are now properly corrected when time-stretching is applied via Shift/Ctrl+dragging any of the clip edges.
- One semi-colon typo was hiding proper descrimination of peak files used to draw distinct waveforms of time-stretched audio clips.
- Track automation curves are now also affected by Edit/Insert/Range commands.
- Finally, some visual feedback is shown while audio track export is running, in he form of a main status progress bar.
- New user option: save backup versions of existing session files.
- Default session directory now set to regular file's path on load.
- A convenient minimum slack duration has been fixed for MIDI SysEx messages.
- LV2 Time/position information is now asynchronously fed back into their parameter (control input) ports when designated.
- LV2 State is now properly restored for plugins inserted on buses, probably solving the Calf Fluidsynth SoundFont information missing on buses ticket, reported by Albert Graef, thanks.
- Fixed an immediate null pointer crash on creating a parentless new group while on the files organizer widget.
- Preparations for future Qt5 migration.
0.5.7 2012-12-27 The Hotel Sierra
0.5.6 2012-10-02 The Golf Tango
0.5.5 2012-06-15 The Foxtrot Uniform
0.5.4 2012-03-01 The Echo Victor
0.5.3 2011-12-28 The Delta Whisky
0.5.2 2011-12-16 The Charlie X-ray
0.5.1 2011-10-05 The Bravo Yankee
0.5.0 2011-07-22 The Alpha Zulu (TYOQA)