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.
New in v0.4.4
For all the DSSI plugins that have output
control ports, a host feedback/update process
cycle is now being finally provided: all output
control ports are now marshaled to their
respective GUI process, rather often and when
found open/visible.
MIDI clip editor (aka piano-roll)
snap-to-beat behavior on edit mode is now kind
of more like 'filling-in-the-blanks' (as Frank
Neumann et al. wishes ;)
Fixed MIDI clip editor mistake when
reverting to initial clip length, before closing
and discard changes (thanks to Frank Neumann,
for spotting this one).
LADISH Level 1 support has been added:
SIGUSR1 signal trap just makes it a shortcut to
File/Save.
Avoid parameter value flickering, due to
duplicate command invocation, most evident when
changing values massively on native Linux VSTi
plugin editor GUIs (thanks to a detailed report
on this odd behavior, from Mike of
linuxDSP.co.uk).
Another TODO item bites the dust: MIDI event
list editor, now acessible from the MIDI clip
editor menu (View/Events)
Last used session directory is now made
current on startup only when no filename is
given on the command line (solving bug
#2920244).
Current snap-to-beat setting (time
quantization) now affects the anchor event only,
while dragging, moving and/or pasting multiple
events over the MIDI clip editor (aka
piano-roll).
Make anti-glitch audio clip micro
fade-in/outs independent from current buffer
size as much as possible.
Audio/MIDI engine drift correction gets
really sophisticated, with the help of (now old)
ALSA MIDI tempo skew facility.
Edit/Clip/Import... menu option is now
available for expedite clip insertion from audio
and MIDI file requesters.
Set default session directory effective to
file's location.
Audio track/clip recording process has been
target to special refactorization across the
internal audio engine process cycle, in a late
attempt to get self-bounce/recording effective
and working consistently for all track layouts.
All session related dialogs are now set to
window modality, (were set to default
application modality before) allowing for
continued input focus and interaction on all
plugin/tool windows.
An off-by-one nasty old bug fixed in audio
clip drawing, was causing instant crashes on
certain zoom levels of the main track view.
Graphical MIDI clip representation regarding
note/pitch range is now kept as much as possible
across clip edits (cut, copy, paste, drag, move,
delete, etc.)
LV2 plug-in hosting has finally come into
actual implementation; only some and the most
basic LV2 plug-in features are supported at the
moment; probably there's no big advantage
against the old LADSPA ones; there's some
support for external UIs though; also, LV2
MIDI/Event bare-bones support is included but
chances are it won't build nor work right on
most of the setups out there. It's a WIP host
implementation anyways, as is the whole LV2
spec. for that matter ;)
Connections filter is now reset when widget
is shown through the View/Connections main menu
or toolbar button.
Audio bus auto-connection option is now
applied when creating or updating, newer or
existing buses, respectively.
Global configuration state is now explicitly
saved/committed to disk whenever View/Options...
dialog changes are applied or when a session is
loaded or saved.
Audio ramping spin-locking makes its smooth
stuff, in an attempt to reduce glitching and
crackling when editing (due to its own pseudo
spin-locking) and toggling playback states.
JACK Transport, MMC Device, and MIDI Song
Position pointer (SPP) control modes are now
made optional (View/Options...), allowing for
discretionary configuration: None/Disabled,
Slave/Input, Master/Output or Full/Duplex
(default).
Session files may now be dragged and dropped
over the main track view and get loaded for
business as usual (once quietly ignored).
In an attempt to mitigate potential stack
corruption and sudden crashes, old commented out
session pseudo-locks are now back in business
while executing clip editing commands (cut,
paste, drag, move, insert, delete) and playback
is currently rolling.
Adjusted first-time application window size
to fit into 800x600 screen size and with
reasonable initial dockables layout.
Avoid duplicate snap-to-grid effect when
changing the length of MIDI clip editor events
across non-zero clip offsets (after a glitch
reported by Ralf Mardorf).
Late audio track processing optimization,
suppressing all plugin, mixer and monitor
pass-through activity when given track is muted,
either explicitly or implicitly (ie. other track
is in solo state).
Entering System Exclusive events (SysEx) on
the MIDI clip editor (aka matrix/piano-roll
widget), yet something not fully supported
anyway, even though allowed in edit mode,
doesn't crash the whole damn thing anymore,
while saving the clip to a file.
Strict aliasing avoidance, with plain and
demanded use of 'union', as much as to stop
nagging warnings from gcc >= 4.4.1 (last seen on
src/qtractorMidiEvent.h hackery).
Visual correct play-head position while
changing zoom levels, applicable to both main
track and MIDI clip editor views.
Qtractor is free, open-source software, distributed
under the terms of the
GNU General
Public License (GPL) version 2 or
later.