Ardour 4.4 released

The Ardour project is pleased to announce the release of 4.4. Like 4.2, this is primarily a bug fix release, but the list of fixes is long. Stability and correctness with MIDI is much improved, and most users will benefit in some way from the long list of fixes.

GCC 5 Compatibility on Linux

In version 5 (since g++5.1, April 2015) the GNU C Compiler changed the C++11 interface in an incompatible way. Ardour itself is not affected, but the combination of some plugins and Ardour is. If you are using a GNU/Linux distribution that compiles plugins with the new gcc5 C++11 ABI, choose gcc5. If you do not know, use gcc4 (fall/winter 2015). This is only relevant for a dozen 3rd party plugins which directly or indirectly use C++11 features. Known affected plugins: abgate, ams-lv2, amsynth, beatslash, deteriorate, eq10q, guitarix, ingen, midimsg, newtonator, triceratops, vocproc.

Robin Gareus has already done the required work to create gcc5-built versions of Ardour, but for now they are available only on the nightly site. A future release will see them available via the official release site.

Next time ...

The significant GUI changes we planned to include in this release will now be in a soon-to-appear future version (or in the nightly builds in the very near future).

Substantive Changes/Features/Fixes

  • Fixed solo logic in deep ways. Most notably this prevents various "stuck solo" problems, but also a number of other issues with solo when using complex routing between tracks and busses.
  • Fixed loop recording (inadvertently broken for several releases).
  • Added support for RF64 and MBWF audio file formats. These are both 64 bit file formats, capable of recording impossibly large amounts of audio. MBWF is the 64 bit version of Broadcast WAV. .
  • When using either format, if recorded files are smaller than the RIFF (WAV) size limit, convert the header to RIFF so as to be compatible with normal WAV-handling software.

General Changes

  • "Save As" will refuse to write to an existing folder/directory.
  • "Save As" now defaults to the current session name as the name of the new session, making it easier to add suffixes or otherwise tweak the name.
  • Allow export of loop range without actually looping.
  • Improve CPU AVX support detection.
  • Fixed locating to current wallclock time for large time values.
  • Fixed an issue where if an audio region was locked and locked to video, the audio-region always stayed put and the video could only be moved forward.
  • Fixed various potential issues at session closing.
  • Improve error reporting from AudioEngine when trying to configure audio hardware.
  • Provide more details if a sessions fails to be created.
  • Improve loading speed for large sessions (1000 tracks).
  • Fixed a deadlock when removing tracks/busses and using JACK1.
  • Prevent importing files with names like "Master" or "Click" from causing session breakage. This also applies to attempts to name tracks or busses with similar names.
  • Ensure that correct audio is heard when region layering is changed.
  • Use a single consistent method for computing DSP load on all platforms, with all backends.
  • Avoid creating excessively short regions during Strip Silence operation.
  • Avoid possible endless loop while detecting silence.
  • Reduce chances of a bug in the OS X locale libraries from causing crashes.
  • Fixed duplication of multiple selected regions.
  • Correctly and consistently initialize track/bus group properties.
  • Fixed crash during session region cleanup.
  • Ensure identical XML in session files if the session does not change, thus allowing tracking state changes in a revision control system (e.g. git).
  • Bring Ardour's Broadcast WAVE USID value into compliance with EBU-R99.
  • Fixed install on systems where using su(1) changes directories.
  • Fixed broken onset analysis.

Plugins

  • Refuse to load LV2 plugins if their buffer size requirements cannot be satisfied.
  • Do not list LV2 plugins that cannot be used because they require a fixed blocksize.
  • Generally improve handling of missing plugins so that sessions are not damaged by the temporary unavailability of a plugin.
  • Fixed the position of cut/copy-and-pasted plugins.
  • Fixed AudioUnit port count, which allows loading various Native Instrument plugins such as Reaktor 5.
  • Added command line option to completely disable plugins.
  • Fixed handling of VST audioMasterPinConnected callback.
  • Allow loading of huge (10MB) VST plugin state.

GUI

When describing keybindings below, "Primary" is used to describe Control on Linux and Windows, and Command on OS X

  • Fixed waveform display issues when changing waveform shape from rectified to normal or vice versa.
  • Added a reset option to the context menu for the shuttle control.
  • Allow creation of new points on a region envelope by clicking on the envelope line.
  • Added column titles in the list of "Recent Sessions".
  • Alter "Stop" button in the Audio/MIDI setup dialog to function as a "Start/Stop" button, and remove the "Apply" button.
  • Fixed issues where waveform display used the wrong data.
  • Cancel button for Import dialog is now a Close button.
  • Change OK button on Import dialog to "Import".
  • Correctly display plugin parameter values when dragging automation points/lines.
  • Fixed log-scaled automation parameter display.
  • Visually indicate regions waiting for their audio peak data to be generated.
  • Fixed inconsistent text sizing in the editing canvas.
  • Added avoiding GPU rendering to preferences dialog. This is helpful on some Linux systems with buggy video device drivers. See Edit > Preferences > GUI > Disable Graphics Hardware Acceleration.
  • Allow overriding lock-to-video when moving video or audio.
  • Fixed drawing of short cross fades.
  • Sort "Recent Sessions" by modification time.
  • Don't try to split a region when dragging.
  • Update Import dialog options when/if track selection changes.
  • Fixed marker display after a marker is removed.
  • When editing a clock display, swallow illlegal keys rather than passing them onto the main window where they might have some unintended effect.
  • Primary-Shift-click on the solo lock button now applies to all tracks/busses, consistent with Primary-Shift-click on other buttons.
  • Avoid a case where the color of selected text was the same as the background, making it invisible.
  • Correctly set waveform height when switching between stacked and overlaid view modes.
  • Make all entries in the track list context menu actually work.
  • Fixed incorrect setting for "Import to Region List" on first use of the import dialog.
  • Avoid duplicate shortcut folders in file browsers.

Windows

  • Drop the use of C++ fstreams to reduce issues with non-Latin characters in filenames on Windows.
  • Option to install without WASAPI support, which helps startup on Windows 10.
  • Close all files before Session > Cleanup, so that it can work on Windows.
  • Fixed MIDI Sysex I/O on Windows.
  • Fixed issues with onset analysis on Windows.
  • Added "Refresh Devices" button to the Audio/MIDI setup dialog on Windows to pick up new
  • Added a "None" device to the PortAudio backend, allowing disabling either input or output, but not both.
  • devices or external ASIO buffer size changes.

Click/Metronome

  • Added an easy way to reset the click sound(s) to their defaults.
  • The click sounds are now normalized to -6dBFS.
  • Allow enabling/disabling of the click "emphasis" sound.

MIDI

  • MIDI Tracer window now shows MSB of appropriate messages.
  • Fixed a subtle bug in ordering of MIDI events that caused missing note-off messages.
  • Highlight notes based on mouse position on track header keyboard.
  • Exclude MIDI CC parameters with no data from being displayed when "Show Existing Automation" is chosen.
  • Fixed issues with linked (cloned) MIDI regions on different tracks.
  • Fixed issues with de-selecting MIDI notes.
  • Handle a missing MIDI file without crashing.

MIDI/Mackie Control Surfaces

  • Save/restore generic MIDI control surface "motorized" setting.
  • New Mackie Control device files for configurations with 3 surfaces.
  • A substantial amount of work has been done on Mackie Control support. There is no simple summary that would describe all the changes, but suffice it to say that (1) it works much better (2) it is easier to get started (3) has been tested on an even wider range of equipment.

Developers

Robin Gareus, Paul Davis, Nick Mainsbridge, Ben Loftis, Len Ovens, Tim Mayberry, John Emmas, Colin Fletcher, Damien Zammit, Guy Sherman, André Nusser, Mathias Buhr, Bent Bisballe Nyeng, Todd Naugle