[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.

   * moved from autotools+make to SCons as the ardour build system

   * 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
   * 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
   * 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)
   * 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"
   * 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