Ardour3 Beta 3 released

Another month, another beta release. The original plan was to defer beta3 until the last new functionality was in place, but there are just two items remaining, and meanwhile some really great stuff has been done that deserves wider testing.

Beta4 will finalize the functionality for 3.0 and then Beta5 will be about a big bug-squashing and polishing effort. Please keep in mind that after 3.0 is released, you can expect the same rolling release pattern - development doesn't stop just because we hit 3.0!


Significant New Functionality

  • Click/metronome is now latency compensated
  • Monitor Section is now an optional feature that can be added/removed to/from a session as needed.
  • Restore ability to create TOC and CUE files during export, and improve the formatting of these files
  • Enter and exit node edit mode with dbl-click in any MIDI region (also leave with a single click on anything other than a MIDI region or note)
  • Make plugin controls displayable in the mixer strip
  • Add a way to create a new MIDI track with an instrument pre-selected
  • Restore independent gain control over click/metronome
  • Now-functional MIDI list editor
    • delete notes
    • full keyboard and scroll editing
    • keyboard navigation
    • Primary-z and Primary-r undo/redo, as expected
    • much more to be done in the future (including note insertion)

GUI Improvements

  • Smart mode (combined object+range mode) now improved in many ways large and small
  • Return of the splash screen
  • More and improved tooltips
  • Reorganize structure of the Regions and region context menus
  • Make contents of region properties dialogue expand with the window
  • Cleanups for the Freesound browser (add stop, remove URI, clear barberpole)
  • New mouse mode (Draw Notes) rather than overloading range mode
  • Double click on send "box" toggles the display of its controls in its parent mixer strip
  • Add option to use plugin GUIs or Ardour generic ones.
  • "aux-" dropped from the name of aux sends
  • Add warnings for overwriting marker files
  • Use the same criteron to sensitize the choose-top-region menu item as to decide whether to open it or not, to prevent a sensitive menu item that does nothing.
  • Tidy up RegionLayeringOrderEditor a bit, including making it respect edit groups.
  • Don't offer to save master bus as a route template
  • Show proper progress information for export while normalizing
  • Some improvements to the add track/bus dialog to make it more obvious how to add MIDI tracks
  • Region list now accurately tracks regions' fade in/out status and length
  • Don't autoscroll right if we are moving left, and vice versa;
  • Fix issue with export channel splitting getting stuck in the filename
  • Show an example filename in the main export dialog
  • Use custom i-beam cursor for range mode
  • Fix position of viewport after a playhead drag outside the viewport (when following the playhead).
  • Improve usage of expanded window space in the export dialog + put the "advanced" stuff in a Gtk::VPaned
  • Fix the width of generic plugin editors
  • Don't bother opening a time FX dialog if we are just time stretching MIDI regions
  • Update summary on switching playlists
  • Button joiner: used to surround the play-range & roll buttons, and also object and range mouse mode buttons; clicking on it toggles special modes ("always play range" and "smart mode" respectively).
  • Clicking on track rec-enable button while step-editing now exits step-editing mode.
  • Add delta-time option to MIDI tracer window. Note that its not incredibly accurate or useful right now, because timestamps come from the system clock and are taken when the data is read/written to the port buffer, not its actual timestamp within the buffer
  • New display of "implicitly on" buttons (rather than using an alternate color, we draw the "actively on" color as a border around the button).

Internal Improvements

  • Aux sends and regular sends are now numbered independently
  • Various optimizations for the core processing loop (reduces apparent DSP load, especially with small sessions)
  • For now, only use the multi-threaded process code if we are using >1 processor for DSP; this involves making the DSP use setting only take effect on a restart of Ardour.
  • Increase size of click pool to cover longer latency settings
  • Make adding tracks/busses from templates just like adding them at the start of a session, in that IO connedon't offer to save master bus as a route templatections are prevented until they are all added
  • Use new Lilv state API to save LV2 plugin state (requires latest lilv version)
  • Store Region export state in instant.xml
  • Add aux sends at the position that the menu was opened, rather than always pre-fader
  • Make crossfade active state and length changes undo-able.
  • Use musical_time_equal() test for equality when copying notes, not strict floating point equality.
  • Make crossfade convert-to-full and activate/deactivate work across edit groups
  • Stop sending MMC/MTC while exporting or freewheeling for any other reason.

Bugs Squashed

  • Fixed crashing bug caused by Apple's implementation of getmntinfo()
  • Fix a variety of bugs of varying severity related to the tempo map changes done for 3.0 beta2
  • Catch exception thrown by SMF code when it cannot write to a file
  • Fix export threading timeouts when disk operations take long. Might fix other timeout issues also.
  • Fix failure to find route templates
  • Clear clicks when auto-returning or looping
  • Make time stretch respect edit group
  • Make plugins-stop-with-transport work
  • Explicitly cancelling solo status when a route's inputs drop to zero
  • Rework design of midi clock ticker to avoid expensive generalization that has turned out to have no particular use, and fix bug that caused incorrect ticks to be sent (or attempted) as the transport starts up.
  • Fix timefx on multiple regions, even regions of mixed type
  • Tape track files need to be created when opened, not when written to
  • Fix failure to summon the disk butler thread when a track that needs it is followed by a track that does not
  • Do not crash if an LV2 plugin calls the UI write callback with a port number that ardour has decided is not an automatable parameter
  • Fix for crash-by-assert just after a MIDI diskstream overwrite (e.g. just after an edit, while playback is active)
  • Fix bug in MidiClock that sent MIDI Clock messages with negative offsets after a loop point


Colin Fletcher, Carl Hetherington, Dave Flick, Sakari Bergen, Andreas Ruge, David Robillard, Paul Davis


… great job Devs! can’t wait to try it xD

you should not see the virtual keyboard? I can not find …
au will be made ​​to support more stable? the suite of native instrument sends me often crash the system,

@gusta: you need to be a lot more detailed. there are at least two things i can think of that might be called “the virtual keyboard”. what do you mean?

As for AU support, we can’t possibly test every AU plugin that exists. If you have specific problems with a specific AU plugin, please please file a bug report about it, preferably with a backtrace from the OS X Crash Reporter. I test regularly with a variety of AU plugins.


I mean the virtual keyboard feature that gives you the chance to play a plug in directly from the computer keyboard, should be well visualizata a graphical interface on the screen with the keyboard and the various settings.
oi find that, but work only wen ardour recording?
to the question of au was only because I read that there are still some stability issues on this format plugin, but it is still in beta I find completely normal’m some kind of crash …
congratulations to the team

Congrats on the new beta Paul and team!

A3B3 is notable for me as this is the first OSX release that actually runs on my Leopard-based Hackintosh - previous betas were a no-go but maybe the fact I’m using JACKOSX 0.89 now too has something to do with it?

Now I need to try compiling NoiseMaker and Linuxsampler as LV2s for OSX!

@gusta: sorry to say, but this still isn't clear, so let me disambiguate for you. there are two things that you might consider "virtual keyboards" in ardour3:

  1. when you make a track tall enough in the editor window, a new set of elements will appear in the "track header" on the left hand side of the track. these include a virtual keyboard that can be used to play (but NOT record) sounds by injecting MIDI data into the track. We don't show it at smaller track heights because it would too small to be useful.
  2. if you right click on the track record enable button, you will see a menu that includes a toggle item for step edit. Clicking it will put the track into "step edit mode" where you can record via direct keyboard input. You can read more about this here:

For more general virtual keyboards you can just use vmpk,vkbd or other similar applications and connect them to Ardour. Doing so tends to be a bit pointless unless you’re playing very simplistically.

I’m sorry, misunderstanding stems from the fact that we call the same tool with two different names, I refer to step two, the thing described in paragraph 1 have always called piano roll that is what may have created a bit of confusion.
I do not understand that I can not hear sound when I press the keys with entries in the step function, but only marks the nonte midi track that is assigned, it might be more useful to hear what you do is decide what to do on the sequencer Segnara you want by recording them?

Great work. This is wicked good!