Qtractor is an audio/MIDI multi-track sequencer application written in C++ with the Qt 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 the Qt C++ application and UI framework .
- 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
(a-la QjackCtl ).
- 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, including
native VST FXB/FXP file support.
- Unlimited audio/MIDI effect send/return inserts per track or bus.
- Audio/MIDI clip fade-in/out, cross-fade (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, render, 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 Clock, Song Position cueing support.
- Configurable keyboard and MIDI controller shortcuts.
0.8.1 201702-17 Sticky Tauon Beta 1 month ago
- The View/Options.../Display/Dialogs/Use native dialogs option is now set initially off by default.
- All tempo and time-signature labels are now displayed with one decimal digit, as it was in mostly everywhere else but the time ruler/scale headers.
- JACK transport tempo and time-signature changes are now accepted, even though playback is not currently rolling; also, changing (JACK) Timebase master setting (cf.View/Options.../General/Transport/Timebase) will take effect immediately, not needing nor warning for session restart anymore.
- Track/Navigate/Next and Previous menu commands, finally fixed to wrap around the current track list.
- Current session (JACK) transport mode option switching is now being made accessible, from the main menu and drop-down toolbar buttons, as well as user configurable PC-keyboard and/or MIDI controller shortcuts (cf. Transport/Mode/None, Slave, Master, Full).
- Fixed some auto-backward play-head position flip-flopping, when opening a new session while the previous was still on rolling/playing state, hopefully.
- Added French man page (by Olivier Humbert, thanks).
- MIDI clip changes are now saved unconditionally whenever the editor (piano-roll) is closed or not currently visible.
- Audio clip peak/waveform files re-generation performance, scalability and resilience have been slightly improved.
- Some sanitary checks have been added to audio clip peak/waveform re-generation routine, as much to avoid empty, blank, zero or negative-width faulty renderings.
- Do not reset the Files tree-view widgets anymore, when leaving any drag-and-drop operation (annoyingly, all groups and sub-groups were being closed without appeal).
- Make builds reproducible byte for byte, by getting rid of the configure build date and time stamps.
0.8.0 2016-11-21 Snobbiest Graviton Beta. 4 months ago
- MIDI clip tools redo/undo processing refactored as much to avoid replication over multiple hash-linked clips; MIDI clip editor's floating selection/anchor event stability has been also improved, in regard to MIDI tools processing range.
- Auto-backward play-head location, when playback was last started, is now shown on main track-view, as a momentary dark-red vertical line marker.
- LV2 plugin-in parameter optimization: stuff consecutive series of plug-in's parameter value changes, as much as possible into one single undo/redo command.
- LV2_STATE__StateChanged is now recognized as a regular atom notification event and raising the current session dirty flag, as normal behavior.
- Adjusting clip selection edges is now possible and honored while on the the main track-view canvas.
- Audio peak file caching and rendering, as far as audio clip wave-forms are concerned, have been refactored and optimized a couple of notches higher, on the ephemeral and rather marginal throughput front ;).
- Fixed a potential crash on the singleton/unique application instance setup.
- Edit/Select Mode tool-buttons moved into single drop-down tool-button on the main and MIDI editor's tool-bar.
- Do not reset the current clip selection when updating the main track-view extents eg. while zooming in or out.
- Automation curve node editing auto-smoothing revisited; also fixed input MIDI RPN/NRPN running status processing, which was crippling some plug-in automation curve nodes, when saved in high-resolution 14-bit mode.
- Fixed the visual play-head position (vertical red line) while zooming in or out horizontally.
- Almost complete overhaul on the configure script command line options, wrt. installation directories specification, eg. --prefix, --bindir, --libdir, --datadir and --mandir.
- LV2 Plugin-in worker/schedule fix: make request/response ring-buffer writes in one go, hopefully atomic (suggested patch by Stefan Westerfeld, while on SpectMorph, thanks).
0.7.9 2016-09-21 Snobbier Graviton Beta 6 months ago
- JACK buffer-size change handling has been deeply improved, now doing an immediate session restart, while preserving all external connections as much as possible.
- Introducing an audio and MIDI metronome anticipatory offset, kind of latency compensation, to respective option settings cf. View/Options.../Audio, MIDI/Metronome/Offset (latency).
- Fixed LADSPA plug-in preset switching, incidentally broken as NOP, ever since late Haziest Photon's crash-landed.
- MIDI Track/Instrument cascading menus have been found empty broken on Qt5 builds, now fixed.
- MIDI RPN/NRPN running status and RPN NULL reset command are now supported (input only).
- Fixed a sure immediate crash on removing audio buses that are current targets of any active Aux-send inserts.
- Fixed yet another old bummer that was reaping off assigned MIDI controllers on existing track's gain/volume or panning controls, when adding any single new track.
- Fixed missing feedback on MIDI controllers assigned to any of monitor, record, mute and solo track/bus state buttons.
- Eye-candy warning: the current clip, not necessarily the one currently selected, is now highligthed with a solid outline; linked MIDI clips are also highlighted with an alternate dashed outline.
- SFZ file conversion, and bundling of the respective sample files, is now supported when saving as zip/archive (*.qtz).
- Fixed track monitor, record, mute and solo dangling states, on Track/Duplicate command.
- Slight regression on the LV2 State Files abstract/relative file-path mapping, trading QFileInfo::canonicalFilePath() for QFileInfo::absoluteFilePath(), and thus skipping all symlink dereferences in the process.
- Fixed a one first linking/ref-counting glitch, affecting recently recorded MIDI clips which might have their initial clip length still un-quantized to MIDI resolution (BBT).
- A brand new and discrete MIDI clip editor command tool has been added: MIDI Tools/Transpose/Reverse.
- Discretely fixed MIDI Controllers catch-up algorithm.
- Fixed a borderline mistake on plug-in parameter port index mapping to its corresponding symbolic name, especially if newer plug-in versions are loaded on older saved sessions.