Well, its time for another release of Ardour. This release is another
milestone: it marks the end of all bugs that were slated to be solved
before the 1.0 release. The plan from here is to wait for about a few
days to allow testing of this release and minor (cosmetic) bug fixing
to continue, and then ardour 0.99 will be released. After that,
release engineering (install process, new user experience) will be all
that stands between us and release 1.0rc1, which will hopefully be the
last release before 1.0.
Please note: there is no claim that Ardour is bug free. The bug list
for 1.0 was drawn up with the goal of making sure that the vast
majority of new (and existing) users of Ardour will have a rewarding,
powerful and largely problem-free experience recording, mixing and
producing music. There are still substantive (as well as trivial)
issues that require solutions, but the development team is anxious to
move on to the GTK2 port so that we can make Ardour look as shiny
(shinier?) as Rosegarden :)
This is an important release for people who work in locales that do
not use the period (".") as a decimal separator (i.e. decimals written
as "1,5" rather than "1.5"). It is the first version that we believe
is now truly locale-safe against data corruption caused by
LC_NUMERIC's affect on stored data formats.
Enjoy, there's more to come :)
--p
* fix a truly appalling coding error in all uses of LocaleGuard
- people who run ardour with LC_NUMERIC set to something
other than en_US.UTF-8 will probably have continued to
suffer from locale-based problems because of this
problem.
* fix nesting of LocaleGuard objects to provide yet more fixes
to LC_NUMERIC problems
* add new flag for custom canvas items that do not require
an automated redraw when arguments are set.
* rework canvas "simple rect" item to optimize redraws
as resizes occur, and use FAST_PAINT_BOX to speed
up drawing slightly. it is possible (likely?) that
this will help some system performance issues
when recording multiple tracks at once.
* rationalize how the "s" (split) operation works.
- if the mouse pointer is inside a regionview, that region
is split
- if the region was part of the selection, then
a) all regions covering the mouse pointer time position
are also split
b) the selection is cleared after the split
- if the region was not part of the selection, then
the selection is left unchanged after the split
* if auto-connect inputs is in use, only connect the first N
inputs where N is the number of physical inputs found by JACK
* fix grotesque error in use of STL reverse iterators
that messed up any use of AutomationList::truncate_end(),
causing horrible corruption of the control points.
* fix long-standing problems with region gain line visibility
(as-is, plus after-trimming)
* reimplement Route::_reset_plugin_counts() to use a slightly
simpler algorithm and allow zero-input plugins
("instruments") as the first in the chain
* fix problem with metering when using zero-input plugins
* fix problems with failed remove of redirects
* make region editor clocks insensitive at the right times
* store relative names in session file for connections,
allowing re-establishing internal connections when
connected to JACK using a different client name
* fix major thinko bug with Curve::spline_eval() that
caused a complete failure if the Curve had 0, 1
or 2 control points.
* Karsten's fixes for crossfades, plus a modified
version of his TimeAxisViewItem "selected" fix.
* automation track "controls context menu" now includes
"clear" and auto-state submenus, so that full control
even using a small track height is possible.
* require inserts/plugins to either be mono-input or match
the active streams at that point in the route. this
means you cannot insert a 2in plugin on a mono track
without a 1in/2out splitter preceding it.
we will change this in a future (post-2.0) version of
ardour so that the splitter is added automatically
in a hidden way.
* fix naming of sends/inserts to avoid duplications.
* removed redundant expansion arrow from TimeAxisView
* when a region overlaps another region but is wholly within
the other, create hidden, immutable 64-frame xfades
at both boundaries. (works, but some more work
needed on corner cases and thoroughly testing normal
overlap xfades)
* fix off-by-1 errors in drawing canvas rect objects
(affects rubber band selection, range selection and more)
* corrected off-by-1 error in position of fade out polygon
within regionviews
* expanded height of per-track selection rects to
full track height
* muted regions never write silence, whether they
are opaque or not.
* added "Mute" and "Unmute" to region ops menu
* fix bug in Editor::cursor_to_selection_{start,end} that
prevented the function from working in range mode
* delete AudioEngine at exit (and thus call jack_client_close())
* make "active" check menu item on mixer strip "name" context menu
be in correct state at startup
* popup error message if clone or copy of redirects fails
* prepend "!" to the displayed name of a muted region
* newly created regionviews follow the current "show waveforms"
setting
* relevant internal-overlap xfades are invalidated by layering changes
* all (relevant) xfades are invalidated by muting changes
* another almost-complete reimplementation of plugin count handling
- no visible changes intended
- we now compute counts before changing the counts
- if the configuration is impossible, things are left unchanged
- if the configuration is possible, we set the counts
- all failed reset_plugin_count() calls should leave
the redirect lists in their original state
* reimplement region layer changes to avoid visible "illegal" state
with two regions in the same layer
* fix bug with soloing that would cause solo states of
tracks|busses in the incorrect state if busses|tracks were
also soloed while a track|bus was un-soloed.
* make "active" check menu item in track controls context menu
be in correct state at startup
* use nick mainsbridge's brilliantly simple "later regions are
on higher layers" idea
* remove all explicit control over layering from ardour/gtk
* fix nasty thread/race condition bug when building peakfiles
for imported/embedded audio. two threads could be
reading from the same file at the same time, and under
some circumstances could stomp on each others activities.
* fix potential (suspected) race condition associated with
peakfile request submission and handling. may affect
some reported "hangs" when importing/embedding audio.
* actually use two-stage regionview creation (rects first,
waveforms later) by refactoring SndFileSource's use of
its primary mutex. makes regionviews
* fix attempt to access an illegal column of the file selector
in the library/file browser.
* add pthread id to "posix signal received" message
* require use of --new/-N flag to create new sessions from the
command line
* remove "exiting foo thread" and "stopping bar thread" messages
* from shutdown, don't kill the GUI thread if its not running
* add EnvelopeChanged Change to AudioRegion, playlist saves
state when this or *any* region change occurs. this fixes
a class of bugs where undo after a region was removed
fails to fully restore the region's state.
* remove debug output from Gtkmmext::NewSaveDialog
Show replies by date