Ardour 4.6, our first release of 2016, is now available. 4.6 includes some notable new features - deep support for the Presonus FaderPort control surface, Track/Bus duplication, a new Plugin sidebar for the Mixer window - as well as the usual dozens of fixes and improvements to all aspects of the application, particularly automation editing.

The full list of changes is shown below.

For the curious, there was no 4.5 release. This just happens sometimes.

GCC5 Compatibility on Linux

In version 5 (since g++5.1) 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.

The download system does not yet offer any way to get access to the builds we create for systems that use gcc5. They are available to subscribers on the nightly site (with the usual gratis free/demo versions as well. The download system will be redesigned in the near future to help address this issue. If you are on a newer Linux system, you may want to consider being a subscriber rather than paying a single amount, just to ensure that you can get access to the build you may need.

Plugins (Platform-Independent)

Add a check button in the session loading dialog to disable all plugins.

Improve layout/appearance/functionality of Plugin Manager dialog.

Fixes for compatibility with LV2 1.0.0.

Clicking on a plugin LED holding Ctrl-shift toggles all plugins/processors in this strip (except the fader).

Fix monitoring of plugin parameter changes with LV2 and AudioUnit plugins, to avoid feedback loops between the plugin and the GUI.

Fix an issue with loading sessions containing certain LV2 plugins.

Show VST plugin search paths (read-only) in Preferences dialog.

Fix LV2 plugin state for copied plugins.

Properly copy plugin state when duplicating tracks/busses.

Save/restore plugin states as part of track templates.

GUI

Report on progress while stripping silence from tracks.

Fix fine-adjust modifier overriding snap modifiers.

Clicking on an already selected note when many are selected makes it the only selected note (same behaviour as regions and control points).

Allow use of tooltips to be enabled/disabled from Preferences.

Mixer list pane can now be shrunk to zero width.

Dialogs and unparented windows now default to the current pointer position.

Add relative snap when moving markers.

Increase the minimum size of the recent session scrollview.

Don't make hidden automation controls visible, ever.

Allow numerical entry for setting gain values in Preferences dialog.

Show an informational dialog when opening IRC via Help -> Chat, to try to clarify to new users that they should post a question and then wait, not leave after a few minutes.

When adding a single plugin, immediately show the plugin GUI (except when using drag-n-drop to add the plugin).

Improve the layout of various widgets in the Preferences dialog.

Add "Delete all Unused Playlists" and "Keep All Playlists" options to cleanup dialog.

Fix "Crop to Range" operation to include all (selected) regions covered by the range, not just those that cover the start.

Fix "Fill Track" to avoid single-sample regions.

Keep track of meter visibility.

Hide region frame outline when region is less than 2 pixels wide.

Continue normal scrolling if the pointer is over the dropdown menus in the track header of a MIDI track.

Fix misplacement and improve grouping of various audio and MIDI ports in patchbay(s).

use the correct environment variable to block loading of GTK+2 resource files (changed back in 2002 but never updated in our source code).

Makes rows in the theme manager selectable, making it easier to link an object to a color.

Fix incorrect keyboard focus after deleting a marker.

Allow hiding and showing the mixer list.

Disable threaded waveview rendering. This is, sadly, a regression from previous releases, and will slightly slow down the apparent speed of waveform drawing. However, it was causing unacceptable crashes while recording, and until we can be absolutely certain that the issue has been correctly identified and fixed, we are disabling it.

Add a button to master bus strip to show/hide monitor section.

Reduce width of monitor section by 25%.

Allow addition of plugins to monitor section.

Fix monitor section state restore (per-channel dim, mute etc.).

Prefill snapshot dialog name field with current snapshot name .

Use correct position when finishing tempo and meter marker drags.

Fix for inoperative keyboard modifiers after auto-scrolling.

Add more items/links to the Help menu.

Add confirmation dialog for overwriting existing files to most (all?) file dialogs.

Include platform-specific common disk volumes to file selection dialogs.

New Plugin Sidebar (Mixer Window)

drag/drop favorite Plugins directly to a track/bus.

allow creating plugin-presets by dragging a plugin to the sidebar.

allow to add a plugin or preset to all selected routes (double-click).

allow dragging plugins directly from the plugin-manager to a track/bus.

save/restore custom order of favorite plugin list.

manage favorites and delete presets from the sidebar’s context menu.

MIDI

Snap modifiers now work on MIDI Notes when the grid is disabled.

Gray out unavailable MIDI note context menu items rather than hiding them.

update MIDI channel buttons when their mode is changed.

Enable horizontal scrolling in MIDI regions even when a note is selected.

Include the "Transform..." option in the MIDI region context menu.

Introduce "Transpose..." option in the context menu for selected notes.

Significantly speed up some MIDI note editing operations, and their impact on session loading times.

Make MIDI Panic message work even when seamlessly looping.

Do not clear MIDI buffers when processing cycles are split, and make seamless MIDI looping work correctly.

Removing shorting of inserted notes by 1 tick.

Fix overlapping MIDI note resolution.

Better alignment of note end times with the grid.

Fix issues with large amounts of MIDI data caused by limits on the size of Standard MIDI File format variable-length-quantities.

Control Surfaces

Deep support for the Presonus Faderport device. This is fully documented in the Ardour Manual.

Mackie Control devices saw a lot of subtle changes which will be documented in the manual in the near future. It is now possible to control input trim, sends and more from a Mackie surface.

OSC: Allow use of broken apps such as TouchOSC and Lemur with Ardour's OSC support

(These apps/devices don't really follow the spirit of the OSC specification because they require all messages to include at least one argument. The new /ardour/pushbutton/.. OSC "namespace" can be used to provide OSC addresses for messages that always have one floating point argument; messages to such addresses are ignored unless the argument is 1.0) Add notification of changes in transport speed or record enable status

Add easy-to-use MIDI port selectors to the Generic MIDI settings dialog

Add a MIDI binding map for the Yamaha KX25

Add a MIDI binding map for the Novation Impulse 49

Add full support for NPRN MIDI controllers, allowing their use in MIDI binding maps

Add an explicit "Show settings" button to the Control Surfaces preferences dialog to help users who do not read.

Ensure that when control surfaces are enabled/disabled/re-enabled, they continue to be notified about the state of the session

Automation

Make control point selection more consistent

Fix display of automation data for toggled controls

Automation recording now has undo-per-pass, not undo-per-touch

Add undo for region gain point selection

Fix incorrect snap when adding region gain points

Correctly select the control point to be deleted with shift+right click

Ctrl/Cmd-drag adds or toggles rubber band selection of automation control points

Show verbose cursor control point values in internal edit mode

Prevent inadvertent overwriting of automation data

Fix mute automation playback

Fix incorrectly positioned automation control points

Handle pasting data from non-toggled to toggled automation tracks

Fix crash when moving tempo markers with automation present in MIDI tracks

General Changes/Improvements

Disable follow-edits and auto-return when synchronized to an external positional clock source.

Fix crash when creating subgroup busses.

Fix some cases where a session was incorrectly marked as changed/not-changed.

Speed up session loading by avoiding unnecessary duplication scanning of MIDNAM files.

Reduce session close time caused by some poor programming design.

Revert back to use mjpeg as the default video codec. Anecdotal evidence suggests that mpeg4 causes issues on some platforms.

Fix an issue where timers for metering prevent session loading from completing (also speeds up session loading).

Duplicate regions now uses correct position (previously was off by one sample).

Improved handling of reserved track/bus/send names ("Master", "Click" etc).

Allow metronome to operate while varispeeding.

Add "Duplicate Track/Bus" functionality.

Make it possible to rename the session root folder without any side effects.

Provide a user-preference for pre-roll.

When loading a session, default to the most-recently-used snapshot.

Prevent deletion of playlists not used while a track is frozen.

Restore last used driver and device for a given audio/MIDI I/O backend.

Prevent concurrent peak (waveform image) file initialization.

Prevent crash when closing a session while some audio data analysis is still underway.

Restore functionality for measuring insert latency.

Load/save measured insert latency with session.

Add a mechanism to allow audio latency updates without restarting the backend.

Avoid uninintentional, unnecessary rebuilds of peak (waveform image) files.

Fix bug with solo/mute state when reopening a session with a soloed bus.

Explicitly disallow looping while synced to an external positional source.

Update available positional sync sources when audioengine is restarted.

Prevent addition of markers within 1/100th second if transport is stopped.

Windows

Increase open file limit count on Windows.

New version of Windows backend that uses the PortAudio callback API. This appears to improve functionality with some audio interfaces.

Use a range of values for ASIO buffer sizes if the ASIO driver provides one.

Improve ipMIDI support on Windows.

Fix latency compensation for the Windows audio/MIDI I/O backend.

Attempted fix for issues on Windows when running on machines that use hyper-threading.

OS X

Update the API used on OS X to discover AudioUnit plugins, to be compatible with (a) newer versions of OS X (b) newer plugin releases (notably Waves Audio latest versions).

Add a horrible hack to keep the program GUI responsive even when AudioUnit plugins with broken (rapidly redrawing) GUI's/editors are visible.

Fix display of deprecated Carbon-based GUIs for some AudioUnit plugins.

Fix for a crash on OS X caused by changing audio device state while recording.

Add build support for OS X El Capitan.

Fix crash when opening invalid audio/MIDI files on OS X.

Correctly allow opening ardour via a double-click on a .ardour file inside Finder on OS X.

Fix display of AudioUnit factory presets, so that they are shown even when there are no user presets.

Re-add AudioUnit cache/blacklist management.

Linux

ALSA backend settings now include number of playback buffers (periods), possibly using different values for playback and capture.

LinuxVST plugins: forward window resizing events to the plugin GUI.

Infrastructure

Add ardour4 desktop and mime type files (for use by packagers on platforms that use them)

Add an AppData file for GNOME packagers

Update to libsndfile 1.0.26

Fixes to allow build system to be used on NetBSD

Include a thread-safe version of libfftw, to fix crashes caused by some plugins

Developers

Robin Gareus, Len Ovens, André Nusser, Nick Mainsbridge, Tim Mayberry, Johannes Mueller, Ben Loftis, Nils Geisweiller, Ygvgeny Primakov, John Emmas, Paul Davis.

Build system engineering: Nils Philippsen, Kamil Rytarowski, David Otto

Updated Translations

Russian,French,German