Qtractor is an open source project that provides user with a complex audio and MIDI multi-track sequencer application specifically engineered to run only on the Linux platform. It is written in the C++ programming language and uses a graphical user interface created with the Qt GUI toolkit.
Supports several well known audio files formats and sound servers
The application makes use of the following open source sound servers, ALSA (Advanced Linux Sound Architecture) for MIDI and JACK (Jack Audio Connection Kit) for audio. It has been designed from the ground up to be deployed on a dedicated personal home audio studio.
Several popular audio file formats are supported by Qtractor, including OGG Vorbis, MP3, FLAC, WAV, and AIFF, thanks to the libsndfile, libmad and libvorbis libraries. In addition, it supports standard MIDI files in 0 or 1 formats.
Features at a glance
The application features a traditional multi-track tape recorder control paradigm, non-linear and non-destructive audio editing, supports an unlimited number of tracks per session or project, as well as an unlimited number of overlapping clips and audio effects per bus or track.
It also comes with multi-select, point-and-click, and drag & drop interaction, unlimited undo & redo functionality, unlimited time-signature and tempo maps, audio clip time-stretching, and support for XML-encoded description files for both projects and sessions.
Built-in audio monitor and mixer controls, as well as connection patch-bay persistence and control is implemented in the application, which supports LADSPA, native VSTi, DSSI and LV2 plugins. In addition, it includes loop-recording functionality and configurable keyboard shortcuts.
Another interesting feature is the ability to define MIDI instruments in the style of the Cakewalk application. Also, it supports SysEx setups, JACK sessions, NSM (Non Session Management), MIDI song position cueing, as well as import of XML (*.midnam) files.
Bottom line
Summing up, Qtractor is an feature-rich audio/MIDI multi-track sequencer application. It’s best used for MIDI and audio recording and sequencing under any Linux-based operating system. We strongly recommend to use it on your personal digital audio workstation computer.
What is new in this release:
- MIDI file track names (and any other SMF META events) are now converted to and from the base ASCII/Latin-1 encoding, as much to prevent invalid SMF whenever non-Latin-1 UTF-8 encoded MIDI track names are given.
- MIDI file tempo-map and location markers import/export is now hopefully corrected, after almost a decade in mistake, regarding MIDI resolution conversion, when different than current session's setting (TPQN, ticks-per-quarter-note aka. ticks-per-beat, etc.)
- Introducing LV2 UI Show interface support for other types than Qt, Gtk, X11 and lv2_external_ui.
- Prevent any visual updates while exporting (freewheeling) audio tracks that have at least one plugin activate state automation enabled for playback (as much for not showing messages like "QObject::connect: Cannot queue arguments of type 'QVector'"... anymore).
- The common buses management dialog (View/Buses...) sees the superfluous Refresh button finally removed, while two new button commands take its place: (move) Up and Down.
- LV2 plug-in Patch support has been added and LV2 plug-ins parameter properties manipulation is now accessible on the generic plug-in properties dialog.
- Fixed a recently introduced bug, that rendered all but one plug-in instance to silence, affecting only DSSI plug-ins which implement DSSI_Descriptor::run_multiple_synths() eg. fluidsynth-dssi, hexter, etc.
What is new in version 0.7.7:
- LV2 UI Touch feature/interface support added.
- MIDI aware plug-ins are now void from multiple or parallel instantiation.
- MIDI tracks and buses plug-in chains now honor the number of effective audio channels from the assigned audio output bus; dedicated audio output ports will keep default to the stereo two channels.
- Plug-in rescan option has been added to plug-ins selection dialog (yet another suggestion by Frank Neumann, thanks).
- Dropped the --enable-qt5 from configure as found redundant given that's the build default anyway (suggestion by Guido Scholz, thanks).
- Immediate visual sync has been added to main and MIDI clip editor thumb-views (a request by Frank Neumann, thanks).
- Fixed an old MIDI clip editor contents disappearing bug, which manifested when drawing free-hand (ie. Edit/Select Mode/Edit Draw is on) over and behind its start/beginning position (while in the lower view pane).
What is new in version 0.7.6:
- Plug-ins search path and out-of-process (aka. dummy) VST plug-in inventory scanning has been heavily refactored.
- Fixed and optimized all dummy processing for plugins with more audio inputs and/or outputs than channels on a track or bus where it's inserted.
- Fixed relative/absolute path mapping when saving/loading custom LV2 Plug-in State Presets.
What is new in version 0.7.4:
- Eye-candy warning: muted/non-soloed tracks are now shaded over the main thumb-view.
- Faster and crispier VST plugin editor (GUI) idle cycles.
- Fixed all core processing when any plugin has more audio outputs than channels on a track/bus where it's inserted.
- Added one decimal digit to all percentage input spin-boxes on the MIDI Tools dialog.
- Added brand new and global option to disable the so called "catch-up" default behavior (cf. View/Controllers.../Sync).
- Fixed some track control issues related to MIDI Controllers generic mapping (cf. View/Controllers...).
- Try making Help/Shortcuts... dialog window modeless, as far as under MIDI Controller, Inputs/Outputs Connections window also gets accessible enough.
- Fixed some vertical scrolling and play-head line re-drawing glitches introduced by the recent unlimited slack to editing beyond current contents length on main tracks view.
- Added one decimal digit to the Pitch-shift spin-box on audio Clip/Edit... properties dialog window.
- Added application keywords to freedesktop.org's AppData.
- Fixed local keyboard shortcuts on the Files organizer widget actions and context-menu.
- Improved Mixer multi-row layout (patch by Holger Marzen aka. bluebell, thanks).
- Fixed the Ctrl+drag/cloning left of a clip when towards near the beginning of session.
What is new in version 0.7.1:
- Fixed an ages old MIDI track/channel instrument mapping (bank, program) issue that prevented normal all-shut-up messages from being sent to MIDI output buses/ports on playback stop.
- Messages standard output capture has been improved again, now in both ways a non-blocking pipe may get.
- Fixed port on MIDI 14-bit controllers input caching.
- Fixed false value readings on the MIDI clip editor (aka. piano -roll) tool-tips, when dragging a note velocity or controller value outside the acceptable nominal range (eg. 0-127).
- Added LV2_BUF_SIZE__nominalBlockLength option support (patch by falktx aka. Filipe Coelho, thanks).
- Fixed wrong initial tempo/time-signature display when session is loaded from command line.
- LV2 plug-in UI GTK2 and X11 in Qt5 host native support added.
- Transport/Auto Backward feature now honoring (auto return) to same current location precedence as Transport/Backward.
- Single/unique application instance control adapted to Qt5/X11 (cf. configure --enable-xunique).
- MIDI Tools/Transpose, Resize duration display format (frames, time or BBT) have been fixed.
- Build fix for Qt5.5 (patch by KaOS, thanks).
- MIDI Tools/Quantize et al. are tentatively being corrected to take event times as relative to THE beginning of session, instead of MIDI clip start location.
What is new in version 0.7.0:
- Complete rewrite of Qt4 vs. Qt5 configure builds.
- Revised MIDI Controlllers catch-up algorithm.
- Mixer multi-row layout gets a little bit of a fairness fix.
- Non-continuous MIDI Controllers now have their Hook and Latch options disabled as those are found not applicable,
- As an alternative to PC-keyboard shortcuts, MIDI controllers are now also assignable and configurable for any of the main menu command actions, all from the same old configuration dialog (Help/Shortcuts...).
- Fixed missing Track and Clip sub-menus from Edit/context-menu that were found AWOL ever since after the Lazy Tachyon beta release (> 0.6.6).
- An off-by-one bar position (as in BBT, bar, beat and ticks) has been purportedly fixed as long as LV2 Time/Position atom event transfer goes.
- French (fr) translation line to desktop file added (patch by Olivier Humbert, thanks).
- A new top-level widget window geometry state save and restore sub-routine is now in effect.
- Improved MIDI clip editor resilience across tempo and time-signature changes.
- Keyboard shortcuts configuration (Help/Shortcuts...) now lists complete menu/action path where available.
- Fixed in-flight VST plugin editor (GUI) resizing.
- Added support to LV2UI_portMap extension, found really handy for the cases where you have multiple plugins with different port configurations and a single common UI to drive them all (pull request by Hanspeter Portner aka. ventosus, thanks).
What is new in version 0.6.7:
- MIDI clip editor (aka. piano-roll) position, size, and view /event type criteria are now persistent, across session and user preferences application state.
- Generic plugin form widget position is now also preserved across open/save session cycles.
- MIDI clip editor resilience is about to get an improvement, fe. it doesn't close on stopping record/overdub anymore.
- Introducing (JACK) Timebase master setting as an option to Transport mode (cf. View/Options.../General/Transport /Timebase).
- LV2 plug-in MIDI/Event support now slanted for deprecation.
- Spanish (es) translation added, by avid Reyes Pucheta.
- It's live: audio track export (cf. Track/Export Tracks/ Audio...) has been deeply refactored to finally include MIDI track/instrument plugins rendering (aka. freeze) on selected audio output buses on mix-down. (EXPERIMENTAL)
- MIDI file player now does (N)RPN 14-bit controller events.
- Track properties dialog output bus switch fix/optimization; also fixed multiple DSSI instance reference count on close.
- Fixed for some strict tests for Qt4 vs. Qt5 configure builds.
- German (de) translation update (by Guido Scholz, thanks).
What is new in version 0.6.6:
- MIDI clip record/reopen to/from SMF format 0 has been fixed.
- LV2 and VST plugins GUI editor widget position is preserved across hide/show cycles.
- Added application description as freedesktop.org's [url=http://people.freedesktop.org/~hughsient/appdata/]AppData[/url].
- Added a "Don't ask this again" prompt option to zip/archive extrated directory removal/replace warning messages.
- MIDI clip editor (aka. piano-roll) gets lingering notes properly shown while on record/overdubbing.
- Current highlighted client/port connections are now drawn with thicker connector lines.
- Fixing segfaults due to QClipboard::mimeData() returning an invalid null pointer while on Qt5 and Weston.
- Return of an old hack/fix for some native VST plugins with GUI editor, on whether to skip the explicit shared library unloading on close and thus avoid some mysterious crashes on session and/or application exit.
- Force reset of plugin selection list when any of the plugin search paths change (in View/Options.../Plugins/Paths).
- Recursive VST plugin search is now in effect for inventory and discovery on path sub-directories (VST only).
- Non-dummy scannig for regular VST, non-shell plugins, were doomed to infinite-loop freezes on discovery, now fixed.
What is new in version 0.6.5:
- Connections lines now drawn with anti-aliasing; connections splitter handles width is now reduced; the MIDI connections splitter pane sizes are now saved and restored properly.
- Extended multi-selection is now featured on the track-list (main left-pane), primarily allowing for group mute/solo (and monitor) switching.
- Track-list (left pane) header column widths are now saved and made persistent across application power cycle (double-click reverts to the old original default).
- Minor fixes on the MIDI clip event list editor, also making sure the current event is visible on the piano-roll view.
- As long to prevent asynchronous mistakes to JACK transport state changes, an internal slack-delay is now introduced after self-initiated transport commands (eg. start/stop).
- The MIDI clip editor (aka. piano-roll) was missing to clear or reset the current selection when no shift/ctrl keyboard modifier is in effect.
- VST-shell sub-plugins are now supported (as suggested by abique aka. Alexandre Bique, thanks).
- MIDI clip record/overdubbing is now possible (Clip/Record on the main menu or File/Record from the MIDI clip editor.
- Make sure some audio sample file encodings (eg. old Ogg Vorbis) does not head-start on audio peak generation.
What is new in version 0.6.4:
- Fixed some old loop-recording clip drawing glitches.
- Current assigned track/channel instrument definition names for MIDI controllers, note keys, RPN and NRPN, are now in effect on the MIDI clip editor drop-down lists, whether available.
- Clip/Take/Range... input dialog values are now properly sanitized as long to prevent invalid take/folding ranges.
- Audio capture/export file type default now set to "wav".
- Extending punch-in/out over loop-recording/takes modes.
- Make audio tracks monitoring always flow while playback is rolling, independently of their mute/solo state.
- Fixed undo/redo conversion of audio clip offsets under (automatic) time-stretching eg. due on tempo changes. (ticket by Holger Marzen, thanks).
- Latch/momentary MIDI Controllers toggle mode introduced (a request by AutoStatic aka. Jeremy Jongepier, thanks).
- JACK client/port pretty-name (metadata) support is being seamlessly introduced. (EXPERIMENTAL)
- Audio frame/MIDI time drift correction is now an option on View/Options.../MIDI/Playback/Enable MIDI queue time drift correction.
- Transport auto-backward feature now honoring last position playback was started.
- Introducing brand new application user preferences on View/Options.../Display/Options/Custom style and color themes (eg. "KXStudio", by Filipe Coelho aka. falkTX).
- Mixer widget gets automatic multi-row strip layout.
- Clip fade-in/out now follows time-stretch resizing, via shift/ctrl+click and drag one of its edges.
- Fixed a typo causing FTBFS when VST plug-in support is explicity disabled (./configure --disable-vst).
What is new in version 0.6.3:
- Make the mouse-wheel to scroll the plugin list views, when not hovering a direct-access parameter slider.
- Mixer widget gets (un)dockable Inputs and Outputs panels, also with their respective title captions.
- Plugin instantiation is now constrained as much to prevent any audio channel output overriding.
- Existing plugin presets may now be selected right(-click) from plugin list context-menu (ticket by Harry van Haaren, thanks).
- So-called "painting" over multiple selected event values, while on the MIDI clip editor view pane below the main piano-roll (eg. note velocities, controller values, etc.) is now split into two similar painting modes, whether the sub-menu Edit/Select Mode/Edit Draw is set on (free-hand) or off (linear).
- Drag-and-copy of plug-in instances across tracks or buses (ie. cloning) now also copies the direct access parameter setting (ticket by Holger Marzen, thanks).
- File/Save As... now prompts and suggests an incremental backup name for existing sessions files.
- Zooming in/out increment is now augmented by whether shift /ctrl keyboard modifiers are set (on a ticket request by Holger Marzen, thanks).
- LV2 Time position event messages for plugin atom ports that support it is now being implemented.
- Attempt to break extremely long audio file peak generation on session close or program exit (as reported by EternalX, thanks again).
- MIDI Controllers Hook and Invert properties are now properly saved for tracks (after bug report by Nicola Pandini, thanks).
- A segmentation fault when closing with VST plugins open has been hopefully fixed (after a patch by EternalX, thanks).
- Messages standard output capture has been slightly improved as for non-blocking i/o, whenever available.
- Automation curve node editing has been slightly improved in regard to time positioning and resolution.
What is new in version 0.6.2:
- Prevent linear and spline automation curve modes for all integer valued subjects. Also, make sure those values are rounded to the nearest integer away from zero.
- Fixed save of LV2 Presets for plugins with state files.
- A man page has beed added (making up Gurkan Sengun's work on debian, thanks).
- When moving plugins by eg. drag-and-dropping across tracks, automation curves were being left behind, maybe leading to unpredictable mistaken behavior. Hopefully, not anymore.
- Translations install directory change.
- Automation curves are now automatically re-adjusted to tempo map node changes (after a ticket by Holger Marzen, thanks).
- Audio/MIDI files or plugins found missing on session load are now subject for an explicit modal warning message and prompt for an immediate session backup salvage.
- Changing instrument plugin programs is now an undo/redo-able command operation, especially for DSSI but also for plugins that come with the LV2 Programs interface extension support (http://kxstudio.sourceforge.net/ns/lv2ext/programs).
- Drawing, selecting and/or resizing of MIDI note events that extend across tempo/time-signature changes is now made a bit more correctly over the MIDI clip editor (aka. piano-roll), especially regarding to current snap-to-beat setting (after an outstanding ticket by yubatake, thanks).
- Once again, audio frame/MIDI time drift correction has been slightly refactored to improve MIDI input monitor and timing.
- Discrete automation curve node values may now be edited via a numerical entry floating spin-box on double-click (as yet another request by AutoStatic aka. Jeremy Jongepier, thanks).
- Pressing shift/ctrl keyboard modifiers while double-clicking on a plugin list entry now briefly reverses the current View/Options.../Plugins/Editor/Open plugin's editor (GUI) by default option preference.
- Fixed an old crash lurker when switching output buses that implied a change on the number of audio channels, while on tracks that have (auto-)monitor turned on and at least one active plugin in chain (yet another ticket by AutoStatic aka. Jeremy Jongepier, thanks).
- MIDI Controller assignment (aka MIDI learn) and/or automation of plugins (de)activation state has been added (as requested by AutoStatic aka. Jeremy Jongepier, thanks).
- LV2 UI Idle and Show interfaces support added.
- Allow the build system to include an user specified LDFLAGS (patch by Alessio Treglia aka. quadrispro, thanks).
What is new in version 0.6.1:
- New user preference option added as View/Options.../Display /Transport/Hold auto-scrolling (follow play-head) on edits (after requests by Holger Marzen and Louigi Verona, thanks).
- All color chooser dialogs were missing proper titles.
- Audio peak file re-generation and clean-up has been hopefully fixed and cache optimized (re. drawing audio clip waveforms).
- Fixed initial session snap-per-beat setting on main toolbar.
- Clip/Export...'ed files are now made persistent, no questions asked (after a ticket by Oliver Kester, thanks).
- Portuguese (pt) translation added (by Esteban Viveros, thanks).
What is new in version 0.6.0:
- New user option added: on whether to save plugins automation values with higher resolution as possible, using 14-bit NRPN: cf. View/Options.../Plugins/Experimental/High resolution plugin automation (default=off).
- Generic native plugin dialogs now shows an additional "About" last page where authorship credits are due.
- A new user preference option is now in place for whether to use desktop environment's own native file requester/browser dialogs (View/Options.../Display/Dialogs/Use native dialogs).
- A bit of slack have been introduced to put "Follow Playhead" (aka. auto-scroll view mode) on hold, while doing in-flight selection edit moves.
- Fixed some user interface related annoyances while on the MIDI Controllers mappings (ie. View/Controllers...).
- Fixed port origin on MIDI RPN/NRPN 14-bit controllers input.
- A discretionary plug-in unique identifier have been devised for when more than one from the same type are inserted on a bus or track chain, avoiding destructive clashing of automation data.
- Horizontal scrolling shift+mouse-wheel direction now reversed.
- LV2 Dyn(amic)-manifest support is now optional (default=off); cf. View/Options.../Plugins/Experimental/LV2 Dynamic Manifest support).
- The following options, although decieved on View/Options... as global configuration options, were always and still are proper session instance properties: (JACK) Transport mode, MMC mode, MMC device, MIDI SPP and MIDI Clock modes, are now shown there reflecting the current open session state.
- A couple of run-time circumventions have been hacked in, both strictly related to when NSM session management is in charge: 1) the new session template feature is disabled (was aborting initial NSM new client additions); 2) the native (as from the desktop environment eg. KDE) file browser/requester dialogs are disabled (were taking too long to list the current directory on first time invocation).
- Update current automation/curve nodes selection while changing horizontal (time axis) zoom levels.
- One liner's attempt to make it consistent behaviour on resizing and moving multiple selected notes or events while on the MIDI clip editor (aka. piano-roll; after a ticket request from Daniel MacDonald aka. danboid, thanks).
- Introducing tiny quarter-note/crotchet/seminima/beat icon on all snap-to-beat selection items get a new icon :).
- Corrected some audio buffering boundary conditions that were causing dead-loops/freezes while merging some audio clips.
- Session auto-save period was chronically reduced to one third of its user setting; non critical but fixed now.
What is new in version 0.5.12:
- Fixed another off-by-one MIDI plugin chain timing bug, delaying the actual playback of the first MIDI event, whenever it started at the same and as long as the initial play-head position (after another ticket by Holger Marzen, thanks again).
- A new LV2 host convention is in effect on plugins that expose multiple AtomPort's in either direction: only the first input or output declared AtomPort is eligible to convey regular MIDI data events (introduced while trying Frank Kober's forthcoming QmidiArp LV2 suite of plugins,thanks).
- Zooming with shift/ctrl+mouse-wheel and pointing over the main tracks view or MIDI clip editor time ruler header's now fixed.
- A rare freezing loop condition has been fixed on the oldest of MIDI file save/write routines (after a ticket and solution by Tuomas Airaksinen, thanks again).
- Copy/paste now preserving clip names (ticket by Holger Marzen, thanks).
- Scaling of whole tempo map with a given factor has been added, through a spin-box and button in Tempo Map / Markers dialog, after a long overdue patch by Tuomas Airaksinen, thanks again.
- When issued from main tracks view (ie. Clip/Tools menu) MIDI clip tools are now a bit more crash-resilient re. undo/redo-ability.
- Session auto-save / crash-recovery support is now on trial as in View/Options.../General/Session/Auto-save current working session every 10 minutes (default on).
- Plugin-list chain context-menu now includes MIDI instrument audio output options to existing non-dedicated output buses, any other than the previous hard-wired default (eg. Master).
- Tracks export now allows for the mix-down/merge of multiple audio/MIDI output buses (Track/Export Tracks).
- When adding new tracks, try preserving the last selected bus names, while not the default Master ones (after a suggestion from danboid aka. Daniel MacDonald, thanks).
- More preparations for Qt5 configure build.
- Brand new thumb-(over)view toolbar widget added to MIDI clip editor window (aka. piano-roll overview).
- General MIDI RPN/NRPN 14-bit controller support is now being introduced on real-time MIDI input parsing, on standard MIDI file I/O, on MIDI Controller options and, of course, on MIDI clip and event list editor.
- Pretty innocent nitpick on most thread cleanup routines.
What is new in version 0.5.11:
- Adding a track now inserts it after the current one, if any; one can also drag and move a track below the last one in the track list (main view left pane).
- Extended Edit/Select Mode/Automation: multi-selection mode, cut, copy, paste and delete of current track's automation curve nodes, now reached implementation ready status.
- Another old silent bug bites the dust: changing track names were dropping any track gain/volume and panning automation curves when saving the session.
- A primeval processing bug has been sorted out: aux-sends to audio output buses that just appear to be after the input bus where they're inserted were being left muted and silent (on a ticket follow-up by Holger Marzen, thanks).
- Fixed a sure crash bug exposed when processing of aux-send plugins when inserted too early on audio input buses chain (after a ticket report by Holger Marzen, thanks).
- Allow the build system to include an user specified CFLAGS (patch by Cristian Morales Vega, thanks).
- Shift/Ctrl keyboard modifiers now set to extend current clip selection while in main track view's Edit/Select Mode/Range, Rectangle modes.
- Main Edit/Select Mode/Automation icon retouched to look a bit more obvious and intuitive, hopefully ;)
- Allow to change the velocities/values of the current selected events which have the exact same onset times and hide beyhond each other on the MIDI clip editor's pane below the main view piano-roll (ie. the one that represents MIDI event values as a bar chart).
- Fixed some problematic playback/export muting and annoying cleanup freezing, due on audio tracks with too many clips eg. more than hundred clip splits (hopefully fixes an issue reported by Louigi Verona, thanks).
- LV2 UI resize feature support/control added.
- Fixed dedicated MIDI control and MIDI metronome port connection restore conflict (thanks to jhammen catch & patch:).
- New user preference option added: reverse middle-button role to Shift/Ctrl keyboard state, in special regard to edit-head/tail vs. play-head positioning while on the main track and MIDI clip editor (aka. piano-roll) views.
What is new in version 0.5.9:
- 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).
What is new in version 0.5.8:
- 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.
What is new in version 0.5.7:
- Loop and punch in/out ranges may now get set simultaneously, may even overlap each other. However, punch in/out range recording will always prevail over any loop recording takes.
- LV2 Worker/Schedule now supporting multi-instance vs. single-UI scenarios.
- LV2 Options and Buf-size extension support added.
- Fixed an off-by-one-tick bug on MIDI file input which was leaving spurious zero-length runt notes at the end of a MIDI clip, if a note-on coincides with the ending/split point (on ticket issued by Jonathan H. Pickard, thanks).
- Good old SLV2 library support for LV2 plug-ins (libslv2) is now irrevocably deprecated, or better said, completely wiped-out from the LV2 host code, now considered extinct.
- LV2 UI parameter updates are now asynchronously detached from the source GUI widget thread, in attempt to improve cross-GUI-toolkit responsiveness, specially focused on LV2 plugins with a GTK based UI (eg. amsynth, triceratops, etc.).
- Make sure LV2 UI parameters (input control ports) get updated when loading a genuine LV2 state preset.
- Improved the (custom) tempo spin-box widget signal(ing) processing and dispatching.
- Show proper pointing cursor and location tool-tip while dragging any of the time ruler markers (including latest location markers/bar).
- On saving as an archive/zip session file (suffix .qtz) include only those files that are actually referenced by live clips arrangement.
- Ongoing integration of location markers infrastructure (time-scale and MIDI-file support).
- Free-hand/linear retouching of event values, while on the MIDI clip editor's view pane below the main piano-roll (eg. note velocities), is now possible provided the target events are selected, otherwise the usual painting edit sub-mode applies (cf. menu Edit/Select Mode/Edit Draw).
- The MIDI clip editor now senses which target view pane has focus for general selection commands (cf. Edit/Select/None, All, Invert, Range) whether the main piano-roll or the event value (velocities) view.
- Mouse middle-button clicking is back in business on main track-view and on MIDI clip editor views (piano-roll) as an immediate play-head (re)positioning command or merge/reset the edit-head/tail cursors if Shift/Ctrl keyboard modifiers are pressed.
- Formerly protected, class qtractorClip::FadeFunctor is now public in an shot-in-the-dark attempt to fix clang builds (as reported by Jekyll Wu, thanks).
- Override all sub-classed widgets mouse-pointer event handlers to be isolated from base widget style and/or window management.
What is new in version 0.5.3:
- Fixed initial LV2 plugin UI widget/window titles.
- Attempt to get any brand new LV2 plugins Qt4 enabled UI's working on either slv2 and lilv build modes ;) (nailed by falkTX, thanks).
- Current clip is ultimately inferred from the one under the play-head position and current selected track; the last one clicked over and/or selected still has precedence (following request by Loiugi Verona).
- Drag-moving clips horizontally with the keyboard arrow-keys just got a step better with a fixed minimum of one pixel, depending still on the current snap-per-beat setting and horizontal zoom level (as suggested by Louigi Verona, thanks).
- Get maximum and minimum peak values back when drawing audio waveforms.- Automation play/feedback has been missed to show on those plugins that provide their own GUI, now on par with all the rest 'homebrew' widgets (eg. generic plugin properties dialog).
- All plugin parameters automation and selection were left inaccessible until the generic native plugin dialog is eventually shown, now fixed (re. bug #3463916).
What is new in version 0.5.2:
- Fixed a probably old lurking destructive bug, which was incidental to when an invalid or non audio file is imported, intentionally or by mistake, into new or existing audio clips (eg. importing a MIDI file where an audio file is expected).
- Force audio file closing to occur on the very same disk-write (sync)thread, possibly mitigating an old random crash issue lurking in the vorbis reference encoder (recording) re. the non thread-safetyness of the vorbis_analysis() final call.
- Fixed extraordinary shadow-playback of audio clips which extent were longer than the respective audio file length.
- Default session file format option now promoted (see View/Options.../General/Session) in the way of whether file suffix gets honored upon session open or save (.qtr, .qts or .qtz). This brand new option also applies for default state file format on a JACK-session salvage context.
- The View/Options... (aka. user preferences) dialog sees a new arranjement in layout, with some options moving into this brand new tab page called General.
- LV2 State extension support has been added, which shall replace old LV2 Persist extension interface in the near future. It also replaces the LV2 Files extension from now on (thanks to Dave Robillard).
- Dirty MIDI clips are now auto-saved when MIDI track properties get changed through its own dialog.
- Fixed one probable too old crash when cancelling a new/add track dialog.
- MIDI SysEx event list editing is now fixed.
- Once again, make sure all recorded clips start and end at the very same position when multiple track recording is turned on/off, while playback is still rolling.
- Fixed Makefile.in handling installation directories to the configure script eg. --datadir, --localedir.
- Possible attempt to improve in-flight recording clip display, especially when looping and MIDI clips are involved.
- MIDI clip revision (re)numbering paranoia has been improved as much to avoid MIDI file clashes as much as possible while editing multiple MIDI clips which reference the same SMF and track/channel.
- Creating new or updating existing buses with exact same names of any current dedicated inputs/outputs (which are implemented as special covert buses) is now disallowed (preventing bug #3430406).
- Loop-recording/takes functionality is now ready for the masses and accessible from brand new Clip/Take menu (Select, First, Previous, Next, Last, Reset and Range...; the latter is actually being provided as bonus feature :) as to fold any given clip into so-called takes, simulating loop-recording mode over an arbitrary range).
- Loop-recording/takes infrastructure integration is sneaking in: all clips recorded under a loop/cycle range may now get split (folded) into one or more so-called takes. A new option is now provided, as to select which take is about to retain after the recording ends, either the First or the Last one. Just turn this mode off (None) and keep with the old recording behavior, where clips are laid out unfolded through the timeline, as usual (see menu View/Options.../Display/Loop recording mode).
- Improved robustness in face of disabled audio buses when global maximum number of JACK (audio) ports is surpassed (mitigating bug #3421911).
- Improved single-track clip selection status logic (possibly fixing bug #3419141).
- Clip/Unlink action is now available for detaching linked/ref-counted MIDI clips, renaming and saving into auto-incremental SMF filenames.
- Temporary session archive directory now (pre)fixed whith program name (eg. /tmp/qtractor).
- Fixed VST GUI editor window title on first show.
- Fixed build for ancient VST-SDK 2.3 (32bit only).
What is new in version 0.5.1:
- More LADISH support: SIGTERM signal is now trapped for graceful application close.
- Improved paste-repeat snap precision when dealing with large repeat counts.
- Czech (cs) translation added, by Pavel Fric.
- Added a few snap-to-beat divisors (unusual Beat/5, Beat/7, Beat/9 and Beat/10) for completeness sake.
- Such a simple change of mind with a visual twist: the "A" track automation button/menu has now been
- moved to the right-most, as it belongs ;)
- Auto-connection of dedicated audio outputs is now optional for default audio master bus, metronome, player and MIDI instrument plugin dedicated audio outputs.
- Finally, after a pitiful large brain-dead period, generic plugin forms are now showing all possible controllable plugin parameters featuring a paged, tabbed dialog, whenever applicable.
- Special hack/fix for JUCE based native VST plugins, which are the most actually found with a GUI editor, skipping explicit shared library unloading and thus avoiding some mysterious crashes on session close and/or application exit.
- Support for MIDI-fx plugins (native VST and/or LV2) is now implemented and functional (intra-chain only).
- Instrument plugin bank/program selection was found broken or dead in the water, specially on VSTi, now finally fixed again.
- VST plugin parameter value display on generic form is now back in business (were dead regarding value changes).
- All plugin's provided GUI editors are now honored by being popped up first, instead of the usual but good old generic plugin form.
- Long overdue implementation of a dedicated MIDI file player is now accessible from the MIDI files widget; one can play the whole SMF or just a single track or channel.
- Update to a newer VeSTige header, probably fixing an old 32 vs. 64 bit mismatch.
- Avoid JACK session filenames/paths to be ever shown; also avoid all buses ports (re)connections when JACK sessions are (re)loaded, given the fact that session management will take care of just that; more also, untitled/default session names are now also picked up to match current LADISH project name, obviously given by LADISH_PROJECT_NAME environment variable, whenever present (as suggested by Nedko Ardaunov).
- Paste-repeat floating selection has been fixed (was showing only the last repeated selection).
- Coherence of tempo changes on audio and MIDI clips, whether automatic time-stretching is in effect, has been slightly improved, hopefully fixed.
- Bold attempt to get linked (aka. ref-counted) audio and MIDI clips into practice (EXPERIMENTAL).
- Main track view now showing all clips above the grid.
- Added support for both new and older (deprecated URI) lv2_external_ui extension (by Nedko Ardaunov).
- Following yet another great idea, and implementation, by Holger Dehnhardt, who already brought us the new aux-send insert plugin, thanks again, the so-called direct access control option is now featured for any plugin parameter right from plugin listings eg. mixer strips.
- General resource consumption and management has been slightly improved, due to internal buses allocation optimization.
- Fixed nasty crash-bug that was severely affecting all sessions that had at least one insert (pseudo-)plugin on any audio input bus.
- All automation curve nodes are now relocated whenever disparate session sample-rate is detected on load.
- New aux-send/insert pseudo-plugin is now introduced, allowing to route any track audio output to any other audio output bus besides the nominal one -thanks to an original implementation from Holger Dehnhardt.
- New immediate edit/loop-range settings from current clip extents, accessible on the main menu (Clip/Range Set, Loop Set) and from MIDI clip editor menu as well (File/Range Set, Loop Set).
- MIDI Names XML files (*.midnam) may now be imported into MIDI instrument definitions. (EXPERIMENTAL)
- Avoid cursor reset while editing MIDI events list (fixes bug #3380259, reported by Frank Neumann).
- Just some typos fixing (patch #3378382 by c-korn).
- Track view automation curve editing mode has been slightly fixed, now allowing for other previously existing point-and-click mouse operations.
- Default automation curve mode is now preserved (following a suggestion by Alexandre Prokoudine, thanks).
What is new in version 0.5.0:
- MIDI controller learn/catch-up sees the way in: MIDI controller changes are now only effective after catching-up with their respective program parameters, avoiding abrupt jumps and keeping a safe and continuous behavior.
- Track/Height menu is now featured, giving access to Increase, Decrease or Reset the current track height.
- All changes to audio gain and panning on tracks and buses are now applied following a piece-wise linear ramp, reducing the old nasty clicks, pops or zipper artifacts that might be awfully audible on some situations, most specially on automation.
- All zooming in/out is now relative to either the viewport center or current mouse cursor position if found laying inside.
- TYOQA! the underground sources have emerged:... after years in the making, track automation, or dynamic curves as some like to call, is finally a reality, tricky but real
- Audio clip anti-glitch/ramp-smoothing effect is now slightly independent of current buffer-size period (mitigating bug #3338113 effect).
- Once buried under the Edit menu, Clip menu has been finally promoted to top main menu.
- Debugging stacktrace now applies to all working threads.
- Fixed muted loop playback on audio clips ending coincidentally with the loop-turn/end point.
- Old/deprecated JACK port latency support added to audio recording latency compensation.
- Audio clip merge/export lock-ups now untangled (fixes bug #3308998).
- LV2 extension headers update.
- Fixed configure of newer LV2 host implementation stack (LILV) when older (SLV2) is not present.
What is new in version 0.4.9:
- Session file format saved on JACK session has been reverted to archive/zip bundle one (.qtz) now using temporary extraction directory when loading an existing JACK session.
- Main toolbar time and tempo widgets get their visual extents a bit more theme-friendlier ;).
- Some current working directory trickery is now in place avoiding JACK session directories to ever be picked as default, as much as possible.
- Ghost-playbacks are now avoided on audio clips that are artificially extended beyond their own audio file lengths.
- Recording clips now shown in a reddish shade; also, it's all now shown a bit more correctly, regarding the lead and withing looping range.
- Custom tempo spin-box widgets now honoring the decimal point cursor positioning for integral up/down tempo value stepping.
- Audio recording latency is now compensated via automatic clip offsetting.
- Audio peak file generation is now pipelined on a single unique thread, instead of old one per audio clip file basis.
- MIDI tempo/time-signature map import problem has been hopefully fixed (bug #329791).
- Session and track names are now sanitized from slashes (bug# 625798@bugs.debian.org).
- Mouse wheel effect to sliders is now reversed.
- An appropriate export filename is now suggested as default (Track/export Tracks...).
- Follow-playhead automatism is now temporarily suspended while mouse cursor hovering prompts for any editing action (applies to main track-view and MIDI clip editor/piano-roll).
- Audio vs. MIDI time drift correction now takes jack_frame_time() as audio time reference.
- Audio buffering internal synchronization logic gets it bartered: three bools for a single byte flag.
- Connections are now preserved as possible when changing bus properties (View/Buses.../Update).
- A rare audio clip looping out-of-sync condition got squared, hopefully the last ;)
- Yet again, the audio clip buffer/disk-streaming optimization has been almost completely redrawn: now there's one thread per audio track.
- Not replacing a session directory that already exists on loading an archive file (.qtz) is now fixed with an usable brand new untitled session.
- The major thread optimization has been slightly improved: the audio clip buffer/disk-streaming thread is now served in a FIFO manner (was LIFO).
- Custom time/tempo spin-box widget change fixup.
- Audio clip filename change segfault/crash fixed.
- Make sure all clips in multiple recording tracks start and end at the very same position whenever recording is already engaged and rolling.
- Hopeful fix to a potential audio buffering race condition, which was a probable cause of random muted clips (maybe fixing bug #3290178).
- Avoid recursive observer widget value updates.
- Almost complete rewrite of the main track-view selection and redrawing logic, taking advantage of the fundamentally static graphical backstore.
- Autonomic resizing of mixer bus splitter sizes.
- Improved timing for monitored MIDI events being buffered though MIDI instrument plugins, while playback/transport is rolling.
- Audio peak/waveform is now slightly tweaked from the early optimization days (master C++ guru has always said that was root of all evil anyway :).
- MIDI controller mapping now with "Invert" value option. Also, new "Inputs" and "Outputs" buttons have been added as helpers for MIDI control port connections access.
- Main left pane vertical splitter resize hack, avoiding some track list update re-entrancy.
- Inserting a LV2 instrument/synth plugin on an audio track or bus were causing immediate crash, now fixed (give or take some event buffer stub).
- Plugin Activate All/Deactivate All menu fixing.
- Make sure given session directory has all the necessary access permission (read/write) while on session properties dialog.
- Dedicated audio outputs setting for instrument plugins inserted on the MIDI track properties dialog were not being honored, now fixed.
- Force update/close of all MIDI clips and their respective editors (piano-roll) if open, when changing the global session tempo (BPM).
- Removed the misleading "(Any)" special channel value while on MIDI controllers/learn dialog.
- Floating tool-tips now being shown also while on mouse rubber-banding (drag-select).
- Audio clip pitch-shifting change fixing; also, tooltips now showing semitones units instead of a clueless percentage.
- Rendering audio wave-forms while recording is now a little bit smoother than before.
- New main track-view clip selection tool: invert current selection (Edit/Select/Invert). The MIDI clip editor (piano-roll) also gets proper range selection tool (Edit/Select/Range).
- More eye-candy: muted/non-soloed tracks are now slightly shaded on the main track-view.
- A major hidden optimization has been implanted: all audio clip buffer/disk-streaming threads are finally merged into a single multiplexing thread (was one thread per audio clip longer than 3 sec. which was quite wasteful and creepy;).
- All plugin list view changes are now properly signaled to track properties and bus manager dialogs and enable their respective acceptance.
- Two brand new MIDI tools make their appearance: Scale-Quantize and Snap-to-Scale. The later may be readily accessible from the MIDI clip editor toolbar and menu (check View/Toolbars/Scale and View/Scale).
- Mixer track strips are now completely redone whenever a track gets moved or re-ordered on main track list-view.
- Transport auto-backward option is now honored whenever a new session gets loaded.
- LV2 extension headers update.
- Got rid of recent QX11EmbedContainer bloating, while introducing gtk_init() as for LV2 GTK UI support stabilization.
- Tempo tap helper button was added to View/Tempo Map... dialog.
- Executable DSSI plug-in GUI detection fixed.
- Backout default session directory after cleaning up extracted archive/zip bundle session (.qtz).
- Files widget item selection feedback/focus fix.
- MIDI editor anchor event floating tool-tip fix.
- Probable fix for GtkStyle usage detection (might be gentoo specific).
What is new in version 0.4.8:
- MIDI controller mapping/learn is now possible on all mixer controls (monitor, gain, panning, record, mute, solo).
- An internal rewrite (aka. refactoring) have been carried out, making sure that all track state action buttons (R, M, S) are now all under the observer pattern umbrella.
- Single track range selection is now available on main menu (Edit/Select/Track Range; default keyboard shortcut: Ctrl+Shift+R); additionally to vertical range and horizontal track actions (Edit/Select/Range, Track) all these operations can now toggle over the previous selection.
- Direct clip selection from Files list item has been brute-forcefully implemented (after being challenged by Jiri Prochaszka aka Anchakor:).
- Files tree widget sticky "New Group" item fixed.
- A new menu option has been added (View/Tool Tips) to show/hide a floating tool-tip while dragging, moving, resizing or pasting selected clips or events over the main tracks view and MIDI clip editor (piano-roll) respectively, displaying current target position and status.
- Attempt to reset audio/MIDI time drift compensator on every engine start and loop turnaround.
- Moving the punch-out marker over the main track time ruler was failing to shrink the punch-in/out range, now it does (not).
- MIDI clip tools (quantize, transpose, normalize, randomize, resize, rescale and the new timeshift) are now all accessible from the main tracks view (Edit/Clip/Tools menu) and apply to all events on current selected clip(s).
- LV2 Persist extension support is being introduced.
- A new timeshift MIDI tool has been added, after an awesome patch by Jiri Prochaszka aka Anchakor; applies to selected events between edit markers, distorting their time and duration (optionally), either slowing down and accelerating, based on a given parameter P value.
- Audio clip/buffer pitch-shifting fixes with regard to latency correction due on the RubberBand library one-pass (real-time) processing mode.
- New Send Gain and Dry/Wet control parameters have been implemented for audio Inserts pseudo-plugins.
- MIDI channel/master volume enqueued events are now affected by the current track/bus volume (0-100%).
- Prevent old rounding error when resetting to plugin parameter default value with the mouse middle-button click while hovering a slider widget (observer).
- A quantize percentage has been added to MIDI clip editor quantize tool (Tool/Quantize...) for time and duration quantization (0% for none; 100% for full regular quantization).
- Metronome bus/ports are now created at engine start and not when user switches it on anymore.
- Make sure all audio clip buffers are in sync upon smooth-ramping going off and playback is rolling.
- Copy-pasting across controller event types is now possible on the MIDI clip editor (aka piano-roll).
- Finally indulged, the genuine transport stop button makes its appearance on main toolbar and menu.
- Main tracks grid visibility option (View/Snap/Grid).
- Yet another off-by-one (frame) audio buffer bug got squashed away: rare symptom was that some audio clips were being left dead silent right after playback of their first looping period.
- Plugin parameter name/label now a proper attribute of its respective MIDI Controller observer instance, allowing to be shown on dialog title (MIDI learn).
- Default session file format saved on JACK session demand is now the bundle archive/zip one (.qtz).
- Plugin selection dialog now shows whether a plugin features its own editor (GUI) and/or external state configuration (EXT).
- Help/Shortcuts... window positioning and sizing are now preserved.
- All plugin chain changes over the track properties dialog now sure counts as a dirty action (possibly fixing bug #3104129).
- Newly extracted archive/zip session directories are now removed automatically from the file-system on session close, prompting the user for confirmation (cf. View/Options.../Display/Confirm Removals).
- Ctrl+mouse-wheel is now set for zooming in/out, on main track-view and all applicable MIDI clip editor views (piano-roll), according to current zoom mode (see View/Zoom Horizontal, Vertical or All for both ways simultaneously).
- New MIDI clip editor (piano-roll) mouse hovering effect (eye-candy++).
- After too many a user request, a brand new session archive file type is being introduced (.qtz) which tries to bundle in one single zip archive all the media and contents of a session.
- Add that to eye-candy: either loop or punch-in/out outer ranges are now shaded on the main track-view, thumb-view and MIDI clip editor (piano-roll) views.
- LV2 GTK UI plug-in hosting is now roaring its ugly head (EXPERIMENTAL).
- Ignore all initial and decremental notifications of audio engine's buffer-size changes.
- Internal audio buffer loop points were not being set properly for non-zero clip offsets, leaving some as severely out-of-sync while rolling over loop turns. Now fixed again, hopefully.
- Avoid audio peak file clashing when deriving from audio sample files with distinct absolute paths but the very same file (base)name.
- A new MIDI editor (piano-roll) tool has been added: Rescale event times, durations and/or values by a percentage between 1 and 1000% (adapted thanks to patch #3081954, by Jesse Lucas).
- Attempt to mitigate audio clip sequencing glitches on single-core/single-thread machines.
What is new in version 0.4.7:
- While moving multi-selected MIDI events around the clip editor (aka piano-roll), with help of keyboard arrow keys, that is, was not clear which one was the so-called "anchor" event, the one which positioning gets honored for snap-to-beat business. Not anymore: the anchor event now defaults to the earliest in time or the one the user's last point(-click)ed.
- MIDI control observer pattern implementation has sneaked in, making it ready for the so-called and long-awaited "MIDI Learn" feature and arbitrary MIDI controller assignment, for plugin parameters in particular.
- MMC DEFERRED PLAY doesn't cause transport state to stop if currently rolling (mitigating bug #3067264).
- Audio clip merge processing might have been skipping a few initial frame blocks, now fixed.
- Clip selection and plugin parameter hash optimization.
- Anti-glitch audio clip macro fade-in/out fixed again.
- New clip fade-in/out slopes (curves) are introduced, partially adapted and refactored from those easing equations of Robert Penner's fame.
- Clip fade-in/out non-linear slopes are now shown as actual WYSIWYG curves.
- Escape key now closes generic plugin widgets as ever found usual elsewhere.
- Picking nits: unselect current track when clicking on any gray empty area, also accessible from a new menu item: Track/Navigate/None.
- A nasty and deadly MIDI resolution overflow has been finally fixed, allowing for long MIDI sequences (1h+) to load correctly on 32bit machines from now on (was perfectly fine on 64bit though).
- MIDI editor selection hash optimization in face of reasonably huge event sequences.
- MIDI controller mapping finally refactored to support some other MIDI event types than just CC (0xBn) ones.
- Nitpicking fix: corrected main track-list (left pane) display when no track is currently selected.
- libX11 is now being added explicitly to the build link phase, as seen necessary on some bleeding-edge distros eg. Fedora 13, Debian 6. (fixing bug #3050944).
- New audio metronome bar and beat sample gain options.
- Progressively, the observer pattern is being finally introduced, targeting all potentially automation controls and widgets as plain ground-zero for the (ultra-)long overdue automation feature.
- MIDI controller mapping of still non-existing tracks were being implicitly assigned to the last, highly numbered, existing track. Now fixed.
- Moving from old deprecated Qt3'ish custom event post handling into regular asynchronous signal/slot strategy.
- Muting/soloing tracks while playback is looping was leaving current audio clip out-of-sync whenever that same track is later un-muted on any other preceding clip. Now hopefully fixed.
- MIDI Clock support makes its first appearance.
- All tempo (BPM) calculations are now compliant to the MIDI conventional equivalence between beat and quarter note (1/4, crotchet) as common standard time division.
- Automatic audio time-stretch option is not enabled by default anymore.
- Standard warning Apply button is now only shown when dismissing dialog changes are actually valid.
- Make sure non-dedicated metronome and player buses are properly reset and reopen when changing regular audio buses (hopefully fixing bug item #3021645 Crash after changing audio bus).
- Hopefully, an outrageously old bug got squashed away, which was causing random impromptu crashes, most often when importing audio clips while looping and play-head is any near the loop end point.
- General standard dialog buttons layout is now in place.
- Fixed main track view off-limits play-head positioning.
- Main tool-bar Time and Tempo spin-boxes, may now have their colors correct, as for most non-Qt based theme engines (ie. Gnome). Green text on black background has been and still is the the intended aspect design
- MIDI file import and internal sequence representation has been changed to be inclusive on all bank-select (CC#0,32) and program-change events which were previously discarded while honoring MIDI track properties. Interleaved SysEx events are now also preserved on their original sequence positions instead of squashing a duplicate into the MIDI bus
- SysEx setup.
- Attempt to include the VeSTige header by default, as for minimal VST plugin support.
- JACK transport support has been slightly rewritten, in fact the sync callback is now in effect for repositioning.
- The MIDI clip editor (piano roll) widget won't be flagged as a tool window anymore.
- A tempo adjustment tool is making inroads from the menu, as Edit/Clip/Tempo... (factory shortcut: F7).
- Audio tracks auto-monitoring is now effective on playback.
- Make sure to ask whether a dirty MIDI clip should be saved, upon resizing or stretching its edges (fixes bug #3017723).
- Backward and Forward transport commands are now taking additional stops on loop points.
- Attempt to optimize track solo/mute redundant transactions, in special regard to MIDI track events which were being duplicated on soloing and temporarily muted on unsoloing.
What is new in version 0.4.5:
- Changing loop points while playback is rolling, with the play-head any near, was leaving audio clips out-of-sync.
- MIDI event list view was missing some selected items with the very same onset time, now fixed.
- When failing to detect a SSE enabled build, the CFLAGS variables are now properly restored to their previous sane state, preventing all subsequent dependency tests from false positives (bug# 565860@bugs.debian.org).
- MIDI clip editor (aka piano-roll) multiple selection has been fixed (again) re. move/paste-snapping consistency.
What is new in version 0.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.
What is new in version 0.4.3:
- Audio send/return inserts are now featured.
- Mixer peak meters have new gradient eye candy.
- A MIDI System Exclusive (SysEx) setup manager has been added.
- There is a new MIDI playback/queue timer resolution option.
- MIDI instrument definitions from SoundFont 2 files are now possible.
- A few more features and fixes are included.
What is new in version 0.4.2:
- The MIDI clip editor (piano-roll/matrix editor), the main track view as well, have been subject to usability fixing, the most notable avoids clearing current selection as much as possible when updating view contents (eg. changing zoom levels does not reset current selection anymore).
- MIDI tracks channel bank/program and controller stuff are now only issued when the respective bus connections have changed, seldom on every playback start.
- MIDI controller mapping infrastructure, with file based configuration management (see View/Controllers...), is now in place, following an original contribution from gizzmo aka Mathias Krause.
- Plugin chain buffer reset on playback start/stop is not guarded by a momentary plugin de/activation anymore.
- Clip export may now be applied to multiple clips, sharing common refactored code and same semantics as merging of current selected clips.
- Improved, may be just fixed yet again, audio track export synchronization and reliability.
- Clip merge is now featured both for audio and MIDI tracks (see Edit/Clip/Merge...).
- Improved, or better said, fixed (again) the precision of multi-clip final positioning as result of drag/move and paste operations in main track view (as in bug #2741611).
- MIDI track program number is now listed in 1-128 range, in an attempt to be consistent with corresponding MIDI track dialog drop-down list.
- MIDI editor snap grid lines get slight different color then regular beat divisions.
- Reset local tempo map cursor on newer MIDI file imports in a tentative to fix incidental but random crashes.
What is new in version 0.4.1:
- MIDI editor command item execution order has been fixed, correcting the redo/undo adjustment of overlapping note events (probably fixing bug #2723861).
- MIDI clip editor (aka. piano-roll/matrix editor) sees one of its most wanted features introduced: visual snap grid, now accessible through View/Snap/Grid option toggle.
- Actual non-zero session length gets back to status bar of main application window.
- One potential buffer-overflow/memory-corruption crash bug has been fixed, long due on most audio (down) sample-rate conversions and affecting audio export in particular.
- MIDI track/channel patch information, ie. bank-select and program-change events, are now being properly set on MIDI track/clip export.
- SSE optimization is back in town after being mysteriously disabled since its dawn :/
- Looping and punch-recording now actively mutual exclusive states: setting either one unsets the other off and vice-versa. Also, punch-in/out is now made an undoable command.
- Moving tracks, any track, up or down, were leaving MIDI playback and meter monitoring completely out-of-sync, now fixed.
- Automatic crash-dump reports, debugger stack-traces (gdb), back-traces, whatever, are being introduced as a brand new configure option (--enable-stacktrace) and default enabled on debug build targets (--enable-debug).
- Audio/MIDI drift correction is now progressive, taking a least significant differential approach, on every read-ahead cycle and swallowed on loop turn-arounds, as before.
- Improved Edit/Clip/Normalize and Quantize commands, now affecting the whole extended multi-clip selection.
- Playback is now being temporarily suspended while either transport rewind or fast-forward rolling is engaged.
- A bad and shame-on-me bug was fixed: this was hideously affecting any track/clip playback synchronization, most noticeable after toggling solo/mute track states while playback is rolling and skipping the play-head backward over more than one clip under the same track.
- A floating-rectangle flip that showed while dragging new files beyond the left of main track view is now gone.
- MIDI note event truncation on both track and clip export has been fixed.
What is new in version 0.4.0:
- Tempo-map/Time-signature support is the major feature addition of this release. Experimental support was added for MIDI Song Position sequencing.
- The MIDI Clip Quantize command was added.
- Zoom direction mode is now an option.
- MP3 audio format support has been fixed.
- Many other assorted fixes and brand new bugs were made.
What is new in version 0.3.0:
- There is a new Paste-Repeat command.
- Punch in/out recording is now available.
- Session/project template support has been added.
- Current track auto-monitoring is now featured.
- MIDI buses now support multi-timbral instrument plug-ins.
- Individual clip gain/volume, normalization, and audio/MIDI file export features are now introduced.
- Copy/paste to the desktop environment clipboard is finally a reality, and there are many fixes and new bugs.
What is new in version 0.2.2:
- 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.
What is new in version 0.2.1:
- 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.
Requirements:
- Qt
- Jack audio connection kit
- ALSA driver
- libsndfile
- LADSPA
- Ogg Vorbis
- MAD
- libsamplerate
Comments not found