Undo system redesigned (internally)

It was relatively easy to get Ardour 2.X "bogged down" when working on a large session with many regions and lots of edits. This was normally the result of the undo/redo history becoming too big, which wasn't hard because in Ardour 2.X, it stored too much information.

Dynamically resizable disk I/O buffering

Ardour 2.X used a single configuration parameter to determine how much audio was buffered ("cached") from disk during playback. You could change this parameter only by editing your ~/.ardour2/ardour.rc file in a text editor.

Ardour 3.0 has a dynamically controlled buffer size for disk I/O:

disk buffering controls

Media Search Path

Historically, Ardour has always stored the names of the audio files in one of two ways. One would indicate that the file lived inside the session, and the other indicated that it lived outside, somewhere else in your computer's filesystem. This meant that if you ever moved the location of the external files, Ardour wouldn't be able to find them at startup, and if you wanted the session to work, you'd need to hand edit the session file.

Improved Timecode Chase User Interface

In Ardour 2.X, turning on chase-timecode was done by choosing a timecode source or switching back to "Internal timecode". This meant that switching between chasing and not chasing external timecode was more cumbersome than it should have been.

Ardour 3.0 puts the choice of positional synchronization ("timecode") source (MTC, JACK, MIDI Clock etc) in the Session->Properties dialog. This means that the actual timecode button in the transport bar can be used to just turn chasing on and off, without losing the currently chosen timecode source.

Improved MTC Chasing

There isn't a lot to say about this. Ardour 2.X had what one expert in the field called "the best synchronization behaviour with MTC of any DAW I've ever seen". Ardour 3.0 has some improvements that help when using certain MTC-transmitting devices as the master, and also formalize the synchronization design a bit more. Torben Hohn was largely responsible for this code. We also improved the way that the sync source is selected (whether its MTC or something else) and displayed, and how timecode options are displayed, which is described over here

MIDI Recording, Playback and Editing

The biggest single change in Ardour 3.0 over previous versions of the program is its ability to function as a fully-featured MIDI sequencer. Over the last several years, a variety of developers have worked hard to create a model for handling MIDI that is as integrated with Ardour's existing audio handling facilities and uses the same general workflow as much as possible.

ardour with MIDI tracks and data

MIDI Editing

Ardour's MIDI editing is based on a few basic principles:

  1. Editing should be done without having to enter a new window
  2. Editing should be able to carried out completely with the keyboard, or completely with the mouse, or with any combination of the two.

Currently, and in the initial 3.0 release, MIDI editing will be primarily restricted to note data. Other kinds of data (controller events, sysex data) are present and can be added and deleted, but not actually edited. Probably ...

MIDI Clock Sync

MIDI Clock is a stream of messages sent by a MIDI sequencer of some kind that indicates musical tempo. It is used to maintain a synchronized tempo for synthesizers that have BPM-dependent voices and also for arpeggiator synchronization. It does not transmit any location information (bar number or time code) and so must be used in conjunction with a positional reference (such as timecode) for complete sync.

Resizable Big Clock

Ardour 2.X had a "Big Clock" window that would display the playhead position in a large, highly visible font that could be easily seen some distance from your computer screen.

In Ardour 3.0, the Big Clock window can be dynamically resized, expanding the font size to any size you feel you need or want for your particular working situation. This can make remote operation via a MIDI or OSC control surface from another room much easier, for example.

Here is the default Big Clock size:

default big clock window

Visible per-channel phase invert buttons

In Ardour 2.X, there was an option to phase invert a track or bus hidden in the context menu for the track/bus name button at the top of a mixer strip.

In Ardour3, there is one phase invert button per channel visible in the mixer strip:

phase invert buttons in mixer strip