Qtractor Changelog

New in version 0.6.4

November 24th, 2014
  • 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).

New in version 0.6.3 (September 22nd, 2014)

  • 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.

New in version 0.6.2 (July 7th, 2014)

  • 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 Gürkan Sengün'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).

New in version 0.6.1 (April 29th, 2014)

  • 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).

New in version 0.6.0 (March 26th, 2014)

  • 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.

New in version 0.5.12 (January 3rd, 2014)

  • 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.

New in version 0.5.11 (October 7th, 2013)

  • 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.

New in version 0.5.9 (June 7th, 2013)

  • 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).

New in version 0.5.8 (March 20th, 2013)

  • 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.