Ardour3 Beta 1a released

After a furious 3 months (more than 500 code commits), the Ardour team is pleased to announce the release of Ardour 3.0 Beta 1. This is the first version of Ardour 3 that has support for OS X (Intel only for now, sorry PPC users), where you will find fully functional AudioUnit instrument support among all the other goodies that Ardour 3 brings. The (very long) list below documents the other many changes, including support for Linux native VSTs, an initial new version of Freesound browsing, some shinier (and perhaps out of place) new buttons, and a metric ton of bug fixes and improvements.
This is an update of the beta1 release from earlier today. It corrects several packaging errors in beta1, and by coincidence contains a couple of new features and bug fixes. If you downloaded beta1, please upgrade to this version.

A word of explanation about what a beta release means. This is not a release candidate. Its still an early release in which quite a lot of things are unfinished or experimental. To see what we intend to fix, add, remove or change before the final release of 3.0, check out this list.

Important Linux Notes

These packages use a version of the Cairo graphics library that uses hardware rendering for gradients. If you are using an old Nvidia driver (older than 270.41.03), the new buttons will not render correctly for you. We are considering what to do about this situation for beta2.

Important OS X Notes

To be able to route MIDI to/from other CoreMIDI applications or hardware ports, you will need to:

  1. Enable the IAC MIDI driver from Audio/MIDI setup if you want to exchange MIDI with other applications
  2. Start other applications before you start JACK if you want to be able to exchange MIDI with them
  3. Be sure you use the JackPilot Preferences to enable MIDI "bridging" before starting JACK
  4. Have Pete Yandell's MIDI Patchbay installed for patching
At present, JACK's ability to bridge between its own internal MIDI routing and CoreMIDI is "static" - it does not detect the arrival or departure of new MIDI ports as devices or applications come and go. We plan to fix this, either in JACK itself or in Ardour if necessary, before 3.0 is released.

Initial startup will be very slow, even more so if you have not used Ardour before. It will do a scan of both the system fonts and all available plugins. Subsequent startups will be substantially faster. And yes, we know we need a splash screen.

Please note that all keybindings that use the Control or Alt keys have been switched from the situation in Ardour2. It has become more clear that Apple really did not design their OS or GUI with the idea of using Alt/Option as a modifier, so Ardour3 now uses Control where Ardour2 was using Alt. In this beta release, attempting to set your own keyboard bindings using the Alt modifier will likely fail.

The download is very big (around 160MB). It will unpack to around 1GB on your disk This is because we are currently making debug builds available, which come with all the internal information needed to get useful crash traces. Once 3.0 is released, the package will be around 40MB (the same is true on Linux).

Like other zero-cost versions of Ardour built as a ready-to-run package for OS X, this beta does not save the state of AudioUnit plugins.

This version of Ardour has been built without internationalization support.

New Features

  • Linux "native" VST support
  • Give route groups their own colors
  • Allow route groups to color their tracks
  • Add option to insert time on all a track's playlists
  • Option to glue new markers to bars and beats
  • Implement invert selection for MIDI notes
  • Add Selection-by-note-range for MIDI notes
  • Add session option "MIDI-region-copy-is-fork". If set, all MIDI region copies will be independent from each other; settable via Session->Properties->Misc
  • Offer explicit monitoring choices, so that tracks can be forced to monitor their inputs (and more)
  • Auto-connect new track/bus inputs to physical ports is now the default
  • Auto-connect new track/bus outputs to the master bus is now the default
  • Experimental, incomplete reimplementation of Freesound browser (part of the import dialog), allowing users to find and use audio from the vast Freesound audio database.
  • Add option to have track/bus selection linked between the editor and mixer windows

GUI Changes

  • On OS X, switch all use of Control and Alt/Option keys (closer to Apple's standard modifier usage)
  • New ArdourButton widget, now widely used for buttons that convey state through their visual appearance
  • Rearrange the transport bar; items not frequently modified while working (auto-input, time-master) have been moved to Session->Properties or Edit->Preferences
  • Use evenly distributed green palette for MIDI notes.
  • Use standard selection colour (purple) for selected MIDI notes.
  • Less day-glo panner colours based on audio track colours.
  • Make meters with different colour parameters actually work.
  • Fix meter colour gradients (mid and top were swapped).
  • Fix meter colour range to again have a hard knee at 0dB and twiddle colours so >0dB levels are red and stand out.
  • Fix style of the clock in the insert time dialogue.
  • Increase threshold for zoom-by-horizontal movement; ignore movements to y positions outside the scroomer; round page size and value to prevent 'quivering' during drags.
  • Put session-modified asterix in mixer window title as well as editor
  • Redesigned info bar (ideas from Chris Goddard)
  • Reorganize Preferences dialog a bit
  • Add Visibility control for a growing number of repeated GUI elements (particularly in mixer strips)
  • Restore mixer strip comments button, but optionally visible.
  • Don't show busses tab in MIDI connection managers, since there are no MIDI busses yet.
  • Clean up display of channel buttons in monitor section so that it looks optimal for both normal people and ambisonics freaks
  • Add options to add ports to input/output menus on mixer strips.
  • Add an option to disable editor update during drags of the summary pane (helps GUI performance with large sessions)
  • Add option to set default-session-parent-dir
  • Don't offer up Send editors for internal sends (too confusing, because they are not like JACK-level sends)
  • Add tooltips for plugins/inserts/sends in the mixer strip
  • Drastic overhaul of keyboard handling in mixer window.
  • Fix port matrix dimensions on non-24-bit displays
  • Make "OK/Apply" the default response in several dialogs
  • Set window icons for the startup window
  • Provide global prelight option (its in Edit -> Preferences->Interface)
  • Alert the user if a connection is made which causes feedback, and preserve the route graph in the state that it was in before the feedback was introduced. The intent being to simplify the code, reduce the number of areas of code which must consider feedback, and fix a few bugs.
  • Provide global prelight option (see Edit -> Preferences->Interface)
  • 2 level structure for theme manager window, to help with themeing ArdourButtons
  • Fix transparency of selection rectangles (and change color a bit)
  • Add "active" indicator/control to rows in the editor route list
  • Fix insertion of processors at the point at which the processor menu was opened; give a visual cue to indicate where a processor will be inserted.
  • make return/enter trigger the default action in a variety of dialogs

Crash Fixes

  • Fix crash caused by empty bundles
  • Fix a crash with plugins when the processing of a block of audio is split up (e.g. for automation handling)
  • Fix crash on rename region
  • Fix crash when moving end marker after deleting loop range
  • Fix crash on "Consolidate Range" on MIDI tracks

Other Bug fixes

  • Fix note snapping so that we snap to the note we're over
  • Fix various MIDI keybindings that were lost previously in a regression
  • Setup fader for audio/MIDI when its position in the processoing chain is altered
  • Reconfigure processing chain appropriately when setting up a peak meter
  • Update fader curves when xfade length changes
  • Fix thinko bug with dragging one of the >1 tabs in the same route group
  • Stop session range location being removed on clear-ranges
  • Do not move the initial tempo / meter changes at 0 time when inserting time
  • Snap new automation points in AutomationRegionViews
  • Don't create new regions on clicks on MIDI plugin automation tracks
  • Set up ControlUI::combo_map correctly to fix drop-down boxes in generated plugin UIs (#4221). Based on work by jeremybub.
  • Delete RouteUI immediately on request, rather than in an idle loop
  • Don't allow non-movable meter / tempo markers to be dragged
  • Don't draw MIDI note horizontal grid lines if they would be less than 3 pixels apart
  • Load the tempo map before the locations so that locations can compute their BBT positions correctly
  • Clear clicks on locating for a seamless loop so that they don't stop
  • Fix default disk_io_chunk_frames for diskstream so that it isn't larger than the default playback buffer size
  • Make it possible for undo records to contain details for crossfades that are later deleted
  • Fix adding of automation points to regions with a non-zero start
  • Check inodes before reporting ambigious files (to avoid seeing symlinks twice)
  • Fix interaction with JACK latency API
  • Handle scroll events on track header meters
  • Hide/ignore inputs on a plugin if the previous processing element doesn't provide any data for them
  • Make management of MIDI ports thread-safe
  • Various fixes to Mackie/Logic Control support
  • Fix a search/replace bug in TOC/CUE generation
  • Fix problems with selecting control points in AutomationRegionViews with non-zero region start.
  • fix ghost note position on non-zero-start regions
  • Remove erroneous check that would prevent notes being put at pitch 0 or 127
  • Clear selected MIDI notes in all regions when they are cleared in a single one
  • Stop MidiRegionView claiming PrimaryModifier-scrollwheel so that zoom still works when MIDI notes are selected
  • Make phone-home option default to False even for non-debug builds
  • Fix visibility of MIDI CC automation lanes
  • New Emu Xboard 61 binding map from mcgruff
  • Patch from colinf to disallow colons in snapshot names for compatibility with FAT filesystems
  • Adjust send faders depending on what signal type they are passing
  • Make MIDI sends work.
  • Improve plugin hide logic to prevent crashes when trying to insert fully audio plugins into MIDI tracks.
  • Save marker selection state in instant.xml
  • Fix crossfade construction
  • More robust plugin I/O mapping.
  • Cope with drags of selections that include regions on hidden tracks
  • Fix check on dragging MIDI notes to a point before the region position.
  • Fix snap of note drags when the region position is not itself snapped to the grid
  • Allow status bar components to be individually shown / hidden.
  • Don't offer the monitor buss to export from
  • Don't resort routes at every step during a session's construction; can dramatically speed up loading of big sessions.
  • Use shared_ptr for Port in the AudioEngine; improves thread-safety of the audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another.
  • Reload meters in the right place even if they are set to a custom position
  • Fix left-over Panner and related objects after session close
  • Change internal API used by native VST support to read/write info files, so that users can generate .fsi files in ~/.fst if is not writable by them
  • Fix compensation of roll delay with MIDI tracks; data should be obtained from playback_sample, not transport_frame
  • Reverse the order of vertical tabs when they are on the right hand side so that from top to bottom it is the same order as that from left to right for the top tabs.
  • Fix bleed of signals between tracks/busses caused by disabled plugins
  • Allocate some thread-local buffers for the GUI thread so that the Plugin analysis stuff works again
  • Make it impossible to create MIDI tape tracks
  • Do a topological sort of the route list before passing it to the graph, as the graph's feedback detection algorithm depends on the input route list being sorted in such a way.
  • Fix naming / numbering of new MIDI tracks
  • Attempt to fix some confusions caused by bundles containing different types of ports
  • Fix master bus mute button
  • Use home-grown solution for path_expand(), rather than wordexp() which is broken in different ways on different platforms
  • Fix nasty off by one error that lead to the creation of 1 sample xfades where there should be none
  • Fix incorrect buffer status reports when using MIDI tracks.
  • Find export presets correctly.
  • Open route group dialogue on Ctrl-right-click rather than Ctrl-left-click on a group tab to be more consistent with the rest of Ardour.
  • Save custom meter position so that it can be restored if the metering point is set to something else and then back to custom again

Build Changes

  • Don't build tranzport support unless it was asked for (it doesn't work anyway)
  • Remove LV2 support via SLV2 (Lilv only now).
  • Comment out soundtouch-related configuration checks

Translations

  • Updated Italian translation from Raffaele Morelli
  • Updated Russian translation from Alexandre Prokoudine
  • New Norwegian translation from Eivind Ødegård

Contributors

mike start, mcgruff, david robillard, colinf, roy vegard, jeremy bub, carl hetherington, todd naugle, acolom, joern nettingsmeier, paul davis

I am familiar with the long

I am familiar with the long version but never got it working.

Xjadeo is a good option.
I was just wondering if add a video track within ardour 3 beta was possible like nuendo and some other daw's can.
But no problem xjadeo is fine for me.

@lokki very impressive!

@lokki very impressive! Looklng forward to this being in a release of Ardour!

@paul: can't wait!

@christophski just to

@christophski

just to clarify: i have nothing to do with the development of this patch... i was just aware of the patch for a2 and thought it could be available for a3 as well. a quick google search gave me the link. :-)

@lokki ah ok :P I will email

@lokki ah ok :P I will email the developer :)

You're doing a great job with

You're doing a great job with Ardour 3.0! Every new Ardour release makes me more enthusiastic about this software.

In my opinion, a little investment in Ardour's multichannel capabilities and it will become a really irresistible software. I know most of the commercial audio world is still stereo-oriented, but the artistic working field for multi-channel is expanding quickly (surround soundtracks, sound installations, electroacoustics, etc). Please, don't stay behind! You're almost there!

Two major suggestions:

SPEAKER CONFIGURATION > That's a great new feature! It would be nice to add some preset configurations with common multi-channel setups (such as quadraphonic, octophonic, 5.1 surround, 7.1 surround for instance).

2D-PANNER > Allow free spatial placement of channels (instead of nowadays "around the circle" panning). Enable automation.
[i've been told Ardour's 2D panner is based on VBAP (vector based amplitude panning) and that other approaches such as Ambisonics may be more sophisticated/flexible, but a fully featured native VBAP panner would solve 90% of the cases and make Ardour really powerful for multi-channel production.]

I'd be glad to help sponsoring such improvements. I've been working with Ardour a lot in the last two years and really like it. It would be great to see it's multichannel potential fully developed. As I said before, it looks like you're almost there!

Thanks for everything and keep up the good work folks!

@rodolfo:

@rodolfo: http://ardour.org/ambisonics ... this all still applies to ardour3 as well.

@antonvdh: It is possible -

@antonvdh: It is possible - but not with official beta releases.

As I understood Paul: Merging the videotimeline branch before 3.0 would be /too much of a good thing/. Getting a solid 3.0 release out of the door has priority.

I'm glad you like xjadeo; the videotl branch does allow to [tech]
* launch xjadeo from ardour3 ; remember session parameters.
* call 'ffmpeg' to import videos, extract audio, session-export: MUX and encode AV.
* display a video-track in ardour (decoding is done by external video server)

As for getting it working: You need to know how to compile [ardour3]; the rest is a piece of cake: There are statically linked version of ffmpeg, xjadeo and icsd (the video-server) available for Linux, OSX and win32. The source is debianized and all dependencies are already in Debian (and thus also most other GNU/Linux distributions out there).

Bug reports, feature requests & discussion on ardour-dev email list.

This is the same answer I got

This is the same answer I got during the ardour 2.x releases.
But no problem .

"As I understood Paul: Merging the videotimeline branch before 3.0 would be /too much of a good thing/. Getting a solid 3.0 release out of the door has priorit "

I've only played a little bit

I've only played a little bit with the Beta, but it looks very impressive.

Did I donate in time to get the percentage gauge to spill over?

@jancsika: you did, thanks

@jancsika: you did, thanks very much! hope to get beta2 out soon.

heh! i was just sending an

heh! i was just sending an email to RME explaining why i think they should widen their support for Linux, not just PCI but FW and USB, and i found myself telling them that the eventual release of A3.0 would probably mark a big change in the number of Linux Audio users, people looking for good low cost software for home studios may break the bank and get better hardware than over rated highly priced software, and i felt right there! that it will be a sort of a big step.... nobody certainly knows it... thats obvious but i really believe that it will be a big step for open source audio and software in general, its the change of the software to be "user friendly" and reliable that can reach a wider public (the average user that doesn't know a single command in the terminal).

Just though it was right to say it, devs!! thanks !!!

AFAIK, RME's PCI cards have

AFAIK, RME's PCI cards have been well supported under Linux for quite some time via ALSA (although I don't know much about their newer offerings - maybe something's changed for them).

For RME's firewire devices you might like to check out the FFADO project at http://www.ffado.org. Headway is being made in supporting the fireface 400/800 devices with some support from RME. Support for the more recent devices may follow once these two are dealt with.

Disclaimer: I am a primary developer on the FFADO project, responsible for the MOTU and RME drivers.

Congratulations! I'm

Congratulations! I'm downloading now and can't wait to try it out!

The latest Beta 3 release of

The latest Beta 3 release of Ardour will not boot, it crashes on an Intel Powerbook Pro, 2GB ram, OSX 10.5.8. is there any way to keep ardour from booting with plugins active? perhaps it is a faulty plugin issue. I noticed version 2xx loads a bunch of my AU and takes quite a while to boot. I guess I can try putting the plugins in a separate folder but it would be nice if I could deactivate them on boot without having to jump through hoops

@wolfeman: i will roll a new

@wolfeman: i will roll a new beta3a (or something) very soon to fix some of the issues that crept in right as beta3 was packaged. Watch the news page for more. Loading plugins only takes a significant time the first time Ardour is started - it builds a cache of information it needs from plugins and doesn't bother to load them again during booting unless they appear to have changed.