[ardour-dev] ardour 0.9beta29 released
Paul Davis
paul at linuxaudiosystems.com
Sun Apr 17 20:27:39 PDT 2005
A mammoth set of changes. The plan at this point is that this release
will become 0.99 before or during LAC2005, barring any major issues
that are revealed.
BUILD
-----
* moved from autotools+make to SCons as the ardour build system
APPLICATION
-----------
* fixes rounding errors in bbt and tempo calculations
* minor fix for a problem with automation track views after "clear"
* make mixer panes use pane click handler
* fix for button3 handling on track controls area
* make send UI meters work
* make send panning work
(a little debugging output remains in place)
* added missing fabsf() to peak computation code
* move peak metering code into a separate header
* fix erroneous display of name + name highlight bar
of regions when zooming
* update latency compensation whenever redirects are
added, activated/bypassed, not just at transport stop
* further touch-ups to the compute_peak() function
* fix crash caused by clicking on pan automation track for a track
with no outputs
* automation event lists and curves now return the value of the
first point, not the default value, when evaluating at times
before the first existing point. this is closer to what the
user probably expects.
* completely redesigned MIDI options UI.
- MIDI ports can now be taken offline/online transparently
- per-port i/o tracing
* several major issues with MIDI bindings resolved
- bindings should work at startup
- mute/solo/rec-enable binding works again
- note on/off toggling behaviour clarified
* control-shift-click on peak indicators resets *all* peak
indicators.
* control-click on peak indicators resets all peak indicators
in the mix group
* fix for incorrectly restored pan position in stereo panner
* plugin latencies now computed at all relevant times, not just
at transport stop
* overall latency compensation works from first roll, not
just after first stop
* MMC "Pause" command now obeyed
* scons "scrub" target corrected
* remove all use of Gtkmmext::MessageWithConfirmation, since it
duplicated 100% of what ArdourMessage does.
* fixed missing panner link buttons in mixer strips
* export moves any automation "Record" settings to "Off"
* Per Sigmond's mammoth MTC/SMPTE patch, fixing several issues with
MTC and SMPTE in general
* fixed memory leak in parameter feedback thread (16kB every 1/4
second if feedback was enabled)
* if saving state at exit fails, tell the user to use "just quit" -
do not silently exit. I forgot to mention that if saving state
does file, the backup file (assumed to work, since it was just
created before saving state) is renamed to the state file name.
This was committed last week sometime.
* many things that should have marked the session as "dirty" now do
* setting JACK buffer size and stopping the transport do not mark
the session dirty
* do not switch capture files at transport stop unless some
material was captured. doh!
* do not hide add/remove port buttons from the I/O selector widget;
just mark them insensitive as needed.
* properly clean up send GUI's if the send is deleted (fix crash)
* call activate() (not set_active()) on all inserts after a
reset_plugin_counts() to avoid any new plugin replicants from
being left inactivated before they are used.
* do not call the LADSPA cleanup function on a plugin instance that
was never activated
* protect *all* automation (including plugins) before export
* lock down insert i/o configuration to prevent them being edited
then moved, thus causing a crash
* correctly update recent sessions when opening a session
* fix crash at session load caused by 2nd-level feedback loops
* actually send MMC DeferredPlay command when transport starts,
rather than just attempt to send it :)
* disable rec-enable before saving template, to avoid capture
sources appearing in the template file
* minor fix for possible crash in gtkmmext/popup.cc
* fix nasty bug in design of message dialogs that could
cause GUI lockups and other nastiness whenever they
were displayed. also involved general handling of
all requests sent the GUI thread.
* check for write access to the session directory before
attempting to load.
* make control points visible again when entering automation
tracks
* unset keyboard target when the target is deleted (fixes
an unlikely but real crashing bug)
* no more ugly, flashing mixer window when
adding/removing/reordering strips
* freeze playlist while adding newly captured regions
* fix typo that caused plugin MIDI binding to attempt to use the
MMC port, not the MIDI port
* make undo/redo work for multi-punched capture pass stopped while
not recording
* fix broken design of GUI request handling.
* fix two valgrind-detected missing variable initializations (only
have an effect if "Send MIDI feedback" is enabled)
* MTC Slave timing inaccuracy fixed (compensate 1.75 frames, not 2.0). Corrects an
8-10 milliseconds timing offset (depending on the MTC frame rate) when ardour
is MTC slave.
* built executable in gtk_ardour is once again "ardour.bin", but
installed executable is "ardour-{version}"
* no more pixmaps directory - the very few pixmaps we use
are now compiled into the program (primarily just the
gain fader "knob" and the transport button logos)
* plugin GUI's now use regular GTK ToggleButtons not
a fancy "pixmap" button (for toggled parameters)
* gtkpixscrollbar completely reimplemented as a C++ widget
for easier porting to GTK2/gtkmm, and GainMeter objects
now use it rather than the gtk-level version. there are
a couple of tiny improvements. if you notice any functionality
missing then please shout.
* crashing bug fixed when context-click starts on a region but
the mouse moves off into a region-less area before the button
is released (thanks Sampo!)
* fix for gain fader "stuck" issue when using mix groups.
if one fader hit a point where the gain coefficient is zero (-inf
dB), then the code that incremented the gain level would fail
to move it because it used multiplication (thanks Sampo!)
* toggle-playback does not even attempt to move the transport if
ardour is slaved.
* fix for stupid thinko that prevented new sessions from having a
valid MTC port and hence from being slaved (or master) with MTC
* -12dB gain reduction applied to all output if the transport
speed is > 1.5 or < -1.5. these speed factors may change in the
future. Note: ffwd with automation enabled with *not* play
automation for panning and ditto for rewind.
* fix for serious, potentially crashing bug related to GUI request
handling (double-free'd pointer bug category)
* fix to allow debugging using gdb on 2.6 kernels
* major redesign of how I/O changes (connections/configurations)
are signalled. there used to be two signals, one for connection
changes and one for configuration changes. this has been changed
to just a single signal, to try to address the "cannot save"
problem and various crashes. there was a thread race in the way
these signals were handled.
* fix problems with not being able to use templates to create
new sessions because of lack of write access to the (nonexistent)
directory.
* playlist name duplication avoided (thanks Sampo)
* regionview and crossfadeview height fixes (thanks Sampo)
* port insert editor (and IOSelector in general) always shows "port
title buttons" to avoid user confusion
* redesign MIDI options editor
- no more "ignore" buttons for MMC and MIDI control
- global MMC control button
- global MTC control button
* fix bug that would constantly exchange MIDI control and MMC
control settings in the session state file
* dropped use of lucida as a canvas font - fixes problems when
using X.org servers 6.8.0 and 6.8.1 which are missing font
metrics for this font.
* fix for errors in the MIDI parser in libmidi with respect to the
effect of sysex messages on running status. this will fix
problems where sysex messages (e.g. MMC start/stop) are
surrounded by running status MIDI messages, and ardour ceases
to respond to the running status messages. IOW: it just works!
* use correct cursor in non-canvas rulers
* automation tracks:
- click in zoom mode does not add a point
- gain mode works like object mode for these tracks
* check dependents at the right time so that pasted and
copy+drag'ed regions get crossfades when necessary.
* fix handling of record-enabling so that MMC RecordStrobe
and related MMC commands now work properly.
* if the named MMC/MTC/MIDI port in ardour.rc is not
defined, use whatever is defined.
* re-enable handling of MMC per-track rec-enable
* handle MIDI SPP "start", "stop" and "continue" messages
as if they were MMC
* fix "soft-RAID" handling for session audio files
* provide a different VERSIONED implementation. this
creates a *hard* link to the gtk/ardour executable,
using a name based on the most recent CVS update/commit.
These links will persist across builds, thus allowing
the accumulation of multiple binaries. NOTE: this is
in the *build* directory - the installed version is
still just "ardour", no version.
* a major set of fixes from Gerard relating to
waveform display, peak computation etc.
* drag-n-drop of audio files from nautilus et al.:
- if the the sample rate is wrong and the drop includes
multiple files, there is an option to proceed with
the drop with no further questions, or to cancel
the whole thing.
- drag-n-drop now supported directly into the region list.
Note that files dropped in this way are embedded, not
imported. A future version will offer the option.
* moving automation control points now possible while
in "gain" mode. you cannot drag select them, however. that
is what "object" mode is for.
* default key binding changes:
- Record-enable is now "R"
- range mode is now "r"
- gain mode is now "g"
* context menu for a track has "insert region/sndfile" items split
out into its own submenu "Import"
* top level "Edit" menu has similar options, broken
into Import/Embed and with "as new tracks"/"as new regions"
suboptions.
* context click on the region list brings up the region list
menu. alas, when clicking on the header of the list, only
button 1 will work.
* fix up some aspects of cursor switching in range mode (thanks Sampo)
* fix for TOC export if track starts at zero (thanks Nick)
* fix up insert port counts. Inserts now get created with
the same I/O configuration as the track/bus. This configuration
cannot be modified.
* fix bug that caused moving faders to interfere with meter redraws
* fixed bug that caused meter/fader sizes to change "randomnly"
More information about the Ardour-Dev
mailing list