[Ardour-Users] Ardour 3.0 beta5 released
Paul Davis
paul at linuxaudiosystems.com
Mon Jul 23 12:41:56 PDT 2012
Its been two months and more than 600 source code changes since beta4. I
had announced no more betas for Ardour 3, but we've accumulated a
prodigious set of changes, fixes, new functionality that it seems silly to
try to hold back. Without further ado, here is Ardour 3 beta 5, absolute
the last beta release:
- OS X Intel (32 bit build) http://ardour.org/files/Ardour-3.0-13072.dmg
- Linux 32 bit http://ardour.org/files/Ardour_32bit-3.0beta5_13072.tar
- Linux 64 bit http://ardour.org/files/Ardour_64bit-3.0beta5_13072.tar
NEW FUNCTIONALITY/CHANGES
- Visualization of automation while recording it has returned (this was
removed during the development of Ardour3 as we merged some improvements in
data handling from Ardour2/Mixbus). Several other less notable changes to
the way automation data is handled add up to a vastly improved system, with
more to come. One important missing piece right now: undo/redo for
automation capture does not work.
- Handle AudioUnit plugin GUIs that want to resize themselves
- Working handling of LV2 plugin presets
- Touch automation now works for AudioUnit plugins, at least those whose
GUIs do the right thing
- Provide an easier way to add mixed (audio+MIDI) tracks to a session,
to facilitate the use of plugins like Reaktor which accept both audio &
MIDI data.
- Name insert and send ports as "return" and "send" rather than "in" and
"out". It is possible that this might break some connections in some
existing sessions.
- Allow alt-drag on stereo panner to move just one side of the stereo
field. this wiggles a bit, possibly because of rounding, and that probably
needs to be addressed
- Send automation now works
- Smooth 0.5 second fade out during quit, plus MIDI panic to turn
everything off
MIDI FIXES
- Fix issues with MIDI note selection when entering and leaving leaving
internal ("note") edit mode, starting rubber-band note selection drags, and
when changing region selections.
- Fix crash when quitting with MIDI notes selected
- Add "v" as a new MIDI editing key for velocity, add a velocity editing
dialog, and allow all selected MIDI notes to have their velocity set to the
same adjusted value
- Remove extra .mid suffix added to cloned MIDI region names
- Properly handle zero-length MIDI files during import
- Improve vertical positioning of MIDI notes during drags
- Disallow import-without-copy for MIDI files
- Prevent exit from note edit mode on double-click with a modifier held
down - prevents creation of malformed notes
- Do not mark imported MIDI files as un-writable - all MIDI files are
subject to rewriting at any time
- Rename MIDI "Fork" operation to "Unlink from other copies"
- Make a few more MIDI track menu options apply to the current selection
- Remove believed-unnecessary and broken MIDI thru option
- Extend a previous region if we click in a MIDI automation lane where
there is no region
GENERIC MIDI CONTROL SURFACE SUPPORT
- Fix generic MIDI bindings that use note on/off commands
- Add BCF2000 device info file for Mackie Control
- Alternate Korg nanoCONTROL MIDI binding map
- New Korg nanoControl2 MIDI binding map
- Allows definitions in a binding map that refer to elements that have
not yet been (and might never be) created in a session. When those elements
are created (e.g a send, or a plugin) the binding will start to work.
- Add a set-bank function to MIDI binding map support
- Add optional threshold for catch-up with non motorised controls in
generic MIDI surfaces. This is very useful when working with devices that
vary in the "gaps" they may generate when sending a continuous fader motion
(i.e. sending non-contiguous controller values). The default value, for
example, does NOT work well with a Peavey PC1600X controller, but when
tweaked, the faders work very well.
- bindings to MIDI note on/off messages that involve non-toggle controls
(e.g. transport) now do something sensible.
- bindings to transport controls for "goto start", "goto end" and "play
selection" now work)
MACKIE CONTROL SUPPORT
- Quite a lot of work was done to polish up the revised Mackie Control
support that surfaced in Beta4. The code has now been tested on the SSL
Nucleus, Mackie Control and Mackie Control Pro, Steinberg CMC and Behringer
BC* devices, and all work well modulo issues with the ALSA/JACK MIDI
bridge. Specific details that were addressed included:
- metering now works on MC Pro
- fix V-Pot displays for Mackie Control
- fix 100% CPU use when using Mackie Control other than SSL Nucleus
- timecode display works
MIDNAM, Plugin preset & Program Changes
- Some major reworking was done to integrate the handling of
patch/instrument data, regardless of whether a MIDI track is being used to
drive external synthesizers or plugin instruments. This is not complete,
and may never be because the two concepts do not really fully align (plugin
presets are NOT program changes). As part of that work, some other details
of handling MIDNAM files (used to define programs for external
synthesizers) were addressed:
- fix search path for MIDNAM files
- add MIDNAM data into patch change dialogs
- fix lookup of MIDNAM patch data
- save MIDNAM settings for each track
- Stop s with unresolved s to stop errors on startup
- add a General MIDI MIDNAM file
GUI BEHAVIOUR
- Add option to not use gradients when rendering waveforms
- Outline fade in/out handles in black
- Provide some numerical data during automation trim (range) drags
- Shift-click on shuttle controller in wheel mode resets it to 1.0
(100%)
- Move binding for duplicate-region to secondary-d rather than d, use d
for draw notes mouse mode
- Introduce the idea of a "default transport speed", used whenever
Session::start_transport() is called. Only the shuttle controller alters
it, and even that only alters it in wheel mode, which means that stopping
the transport does not rever the default speed back to zero. To get back to
zero either switch the shuttle controller back to sprung mode, or change
the speed back to zero
- Keep latency dialog for plugins above the plugin GUI
- Add a menu option and key press (F) in port matrices to flip the
selected row and columns in the matrix.
- Middle-click on a location clock still works even when the
location/clock is locked
- Filter the existing session chooser to .ardour files, as with the open
session chooser.
- Hide patch changes if they are too wide for the region at a given zoom
level
- Move delta-to-edit-point options to the main clock context menus
- Make faders visually desensitised when their tracks are in
automation-play.
- Properly manage the splash screen, particularly on OS X
- Add primary-modifier click on monitor knobs to go to -inf dB
- Try to provide some rationality for region gain line visibility (and
automation line visibility in general
- Paste to the track under the mouse if we are using the mouse as the
edit point, otherwise use selected tracks
- Fix for plugin windows reappearing at (0,0) after ardour becomes the
active app again on OS X
- Remove beta page from startup wizard
- In startup wizard, use dbl-click to activate "what would you like to
do?" radio buttons, rather than click
- Fix crash on zooming out too far
- Grey-out patch changes on inactive channels rather than not plotting
them at all
- Sensitize region-related actions even in non-object mode
- Provide dialogs to edit pan values numerically, at least for mono and
stereo panners.
- Simplify management of waveform visibility / shape / scale
- Add option to disable autoscroll of editor
- Fix for track height step losing 'grip' on the track being resized
- Add translucent "shade" to playhead cursor
- Thicken automation lines (makes dragging them easier, and looks better
too)
- Make more or less all left-hand-side treeviews use the same style in
both the editor and mixer windows
- Handle failure to start audioengine correctly, rather than get stuck
in an endless dialog.
- Force I/O selector windows to stay-on-top (experimental)
- Fix display of region names that don't fit inside a region
- When sounding notes on selection / note movements, play the note for
as long as the mouse button is held dow
- Darken light theme treeview text
- Add option to add new range marker from the context menu without
needing the keyboard
- Slightly narrower faders in the editor track controls area
BUG FIXES
- Opaque regions correctly overwrite anything in the mix buffer
- Fix crash when sum of fade in + fade out is longer than the region
- fix (very old) bug when evaluating automation curves at a position
before the first point on the curve.
- Gracefully handle LV2 plugins without a GUI
- Always create short xfades when adding a region after a capture pass
- Fix up various loose ends associated with the conversion to the "new
xfade model"
- Don't alter session search path when auditioning audio files
- Avoid splitting unselected regions on the same track as a selected
region
- Make the "No selection = all tracks" button work
- Improve display of timestretching in stacked layers mode
- prevent x-axis movement of the end points of region gain lines
- Re-implement URIMap to tolerate broken plugins that use the wrong
context to map MIDI event types
- Fix clear-selection behaviour
- Don't reset region fades to default after a playlist edit unless the
fades used to be part of an xfade and now no longer are
- Fix a variety of issues with mouse cursors
- Slightly unpleasant hack to stop control points being unselected when
you ctrl-drag a selected point in order to do a push drag.
- Correct rounding issues when converting between audio frame and
unit/pixel values
- Handle discontiguous control point selections properly when dragging.
- Allow movement of several vertically-colinear points at the same time.
- Fix incorrect automation point drags when a drag is started with push
held and finished without it.
- Use the same logic to decide on step size when scroll-wheeling faders
in the mixer and knobs in the monitor section
- Fix subtraction math for ranges used when computing what data to read
from regions/playlists
- Fix uninitialised variable causing garbage output from panners in some
cases.
- When we rename a track, only rename its playlist if it has never
contained any regions
- Prevent latency measurement output buffer being silenced by cycle_end,
to fix port insert latency measurement
- Claim button release on patch change events so that editing a patch
change does not also open the region editor for any selected regions.
- Fix non-updated ordinary fade-outs during trim drags
- Fix crash when creating a new session after session close
- Make automation state management full locale-independent (so sessions
can be moved between locales without messing up automation data)
- Correctly handle plugins with variable input AND output when they are
the first processor in a track/bus
- Don't set TimeFXRequest done to true too early, fixes crashes after
time stretching
- Somewhat primitive implementation of allowing the edit note dialog to
handle multiple notes
- Try to correctly manage follow-playhead behaviour before and after
playhead drags
- Make crossfade edge drags undoable.
- Make sure that regions created during AsTrack and AsTapeTrack imports
are added to the master region list, otherwise if they are subsequently
deleted they will be lost. This causes the undo record to go wrong as it
references a non-existant region.
- Commit one reversible command for the whole of an import, rather than
one per region; makes MIDI imports into multiple tracks undoable in one
step
- Fix off-by-one in computation of crossfade lengths.
- Set up layering correctly on compound playlists so that the regions on
the compound list are arranged the same as on the original.
- Fix incorrect display of automation lines after points are removed.
- Don't change playlists of frozen tracks when changing the playlist of
a route group
- Patch from colinf to put the playlist / take name in the playlist
button tooltip
- Make "View >> Toolbar When Maximized" act immediately, i.e., even when
already maximized changing this toggle changes whenever toolbar is shown or
not;
- Renames "Toolbar When Maximized" to "Show Toolbar" as it acts whenever
editor has maximized space or not.
- Escape angled brackets in playlist names for tooltips.
- Handle failure of statfs to return available disc space on Samba
shares mounted via GVFS
- Detect filesystems mounted read-only when determining whether a
session is writable
- Make fit contents / show full range work for all selected tracks
- Fit note range on adding regions to tracks during import
- Colour lower stacked regions with a lighter colour and make it
configurable
- Fix some issues with toggling mixer-on-top status
- Use preview filename rather than the first-alphabetically-sorted
filename for preview in the import dialogue
- Fix broken visibility and size management of piano roll keyboard +
scroomer
- Fix several crashes during shutdown
- Never try to remove state from a read-only session
- Fix crash associated with track freezing
- Return silence from read_from_sources() if we try to read a channel
that our source does not have (if replicate-missing-region-channels is
turned off
- fix restore of mute control state when loading session
- Fix failure to load A2 sessions with a ControlOut.
- Make switching between input+disk monitoring work "right" for MIDI
track
- Fix a bug that led to messages about notes already being on at program
start because of a double seek with no read in between
- Slighty brighten bar lines and slighty dim beat lines for easier
visual distinction
- Fix logic for setting mixer strip name button widths
- Change option name to clarify that get_default_narrow_ms is applied to
the mixer only
- Store the topologically sorted order of execution so that even the
single DSP processor case uses its
- Adds an 'empty' preset to the preset drop-down list, so that plugins
can be set back to the 'no preset' state rather than being stuck in the
state of 'preset loaded and modified
- Make sure we always copy Freesound imported files as well as MIDI ones
- Clarify the meaning of the show-region-gain-envelopes option.
- Tweak naming of various buttons and labels in the export dialog
- Unify clamping of frames-per-unit values during zoom
- Declick before the end of seamless loops, not after the end, so that
loops are rendered accurately
- Fixing issues with opening a browser for web-access
- Fix reset of transport speed when seamless looping
- Prevent the nastiness that occurs when the RHS editor list is dragged
so that the pane handle "vanishes" into the tabs
- Don't swallow left/right scroll events in a midi region view when in
internal edit mode
- Don't try to backup sessions from older versions of ardour that are
also read-only
- In export format dialog, show preview of generated part of description
- Revert to using SSE mix-buffers-with-gain rather than simple one.
- Fix stem export. The capturing processor of routes was never removed,
and was restored inactive, which made stem export fail.
- Change logic for compiling export format descriptions from incomplete
formats
- Increase the export "chunk size" to speed it up over 10% at least in
some situations
- Remove some excess commas from the export format description
- Drastic rethink of the relationship between remote control ID and
route order keys
- Don't specify real-time priority when starting JACK
- Be more graceful if there is an undo record which references a
non-existant object; this shouldn't happen, of course, but there was a bug
in some early betas which made it occur
- Allow new idle visual changer calls to be requested while the current
changer is executing (fixes auto-return even when zoomed in)
- Fix some oddities with playhead movement when locating during roll
- fix rec-enable toggle with the Korg nanoKONTROL
- Set number of process thread buffers based on run-time-discovered
num-cpus
- Fix missing lock causing erroneous disk space reports when dragging
audio clocks.
- Don't start a clock drag if we drag to the right of the numbers.
- Fix crash on trying to snap to markers when there aren't any
- Don't rename playlists on rename track if the track has >1 playlist
- Do not deactivate the meter in a frozen track
- Fix Jack transport master after session load.
- Report correct time instead of old time when locating as Jack
transport master.
- Set fader and plugin parameter automation curve default values
- Don't spin on Session::timecode_transmission_suspended() if
disconnected from JACK because it will never be re-enable
- Use correct event struct when handling key events in patch changes
- Flip semantics for next/prev bank so that the direction in numerical
terms matches next/prev patch (i.e. up arrow goes to higher numbers)
BUILD & CODING FIXES
- update to Suil 0.6.4 for support of plugins with X11 and Qt GUIs
- change build system to support complation with CLANG (via setting the
CC and CXX environment variables)
- remove more than 500 unnecessary #included header files, thus speeding
up compilation a bit
- use chrpath to reset RPATH within bundled libraries so that the
runtime linker will not go looking in places set by parts of the GTK build
stack
- adjust bundling/packaging to make SUIL (and thus several LV2 GUIs)
work
- fix resample-session.pl to work even if there is no automation
directory
- Use std::string instead of PBD::sys::path
- use various g_**** functions rather than versions from PBD::sys
namespace
- fix osx build script when the path to the plugin folder contains
spaces
- OS X version can now successfully find an existing running instance of
JACK
- fix substitution and install of session templates
- define CHARSETALIASDIR (again) to stop various bits of the GNU stack
from loading a charset.alias file that we did not provide
- converge on 3 different search paths (ARDOUR_CONFIG_PATH, for
configuration files; ARDOUR_DLL_PATH, for included shared libraries;
ARDOUR_DATA_PATH, for other included data files), all of which can be
controlled from the environment
- Use a map of region names to speed up RegionFactory::new_region_name,
which was a performance bottleneck
TRANSLATIONS
Updated Russian and Spanish translations.
CONTRIBUTORS
Carl Hetherington, David Robillard, Colin Fletcher, James Roberts, Antony
Gelberg, Dave Flick, Rodrigo Severo, Marcin ?, Tim Mayberry, Lynde ?, Roy
Vegard, Thomas Vecchione, Thorsten Wilms, Sakari Bergen, Johan Mattsson,
JaaxxOne, Philippe Demartin, Alexander Prokoudine, Pablo Fernández and Paul
Davis.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ardour.org/private.cgi/ardour-users-ardour.org/attachments/20120723/d732fa16/attachment-0001.htm>
More information about the Ardour-Users
mailing list