[ardour-dev] latest (MAMMOTH) CVS commit

Paul Davis paul at linuxaudiosystems.com
Thu Apr 22 13:50:39 PDT 2004


Before I go further, let me say very clearly:

       -------------------------------------------------
       THIS VERSION OF ARDOUR IS EXPECTED TO BE UNSTABLE
       -------------------------------------------------

Please report bugs to ardour-dev and/or #ardour on
irc.freenode.net. We will switch to mantis once some initial issues
are worked out.

Background
----------

About 10 days, we noticed that the panning model inside Ardour was
completely wrong. Not just the mathematics of the pan law, but the
actual software architecture of panning. Fixing this has required a
massive set of changes to Ardour's basic data flow and a lot of subtle
changes to a lot of code. 

ardour/ksi
----------

This is no longer built by default. The changes to libardour are
massive and widespread, and I do not have the resources to spend time
getting ardour/ksi to catch up with them. I will reenable default
building if and when ardour/ksi compiles again. I wish I could spend
time on this, but the work is just too much at a time when I
desperately need to get Ardour to a reasonable 1.0 release.

Session state files
-------------------

The session data file format has changed. Your old sessions will still
load (with 1 warning per track about a missing automation file - its
OK). You will lose existing panning information in those
sessions. Please load and save older sessions to convert their state
files to the new format.

Design Changes
--------------
    * DiskStream objects are now HAS-A IO* instead of IS-A IO
    * DiskStream objects cannot be shared across tracks
           (not that the UI allowed you to do this anyway)
    * Panner object introduced (1 per IO)
    * StreamPanner object introduced. A base class for	
           objects that pan a single (mono) stream across
	   a number of outputs
    * EqualPowerStereoPanner, Multi2dPanner. Classes that
           implement an equal power stereo pan with -3dB
	   center attenuation, and our old panning model,
	   respectively.
    * Automation tracks can now display multiple lines.
           Mouse-driven editing is not possible in tracks
	   with more than 1 line.   	   
    * a single set of gain and pan automation buffers exists
           for the whole session, reducing cache effects
	   during process() and reducing heap allocation.
    
Panning
-------
    * new "bar controllers" for controlling panning to 
            a stereo output, 1 per data stream
    * a single input counts as 1 data stream, but if there	
            are mono->stereo plugins (e.g. GVerb), the
	    track will have 2 panners to control
	    the 2 streams produced.
    * dbl-click on the bar controller to get numerical
            entry, then Return or Tab to get back
	    to graphics.      

Automation
----------
    * gain and pan automation now totally separated
           - you can playback pan automation while
	     doing touch automation on gain.
    * if playing automation, and playhead goes past
              the last control point, value remains
	      at that level.
    * one button for gain automation state and one for
       pan automation state per mixer strip
    * ignore the automation mode for now
    * touch automation for panning now works.
    * plugin automation control in plugin UI's broken, fix
         is high priority.

Plugin GUIs
-----------
    * use bar controllers (see Panning above) instead of sliders

Bug Fixes
---------
    * "stop at session end" option is now saved
    * "splash/about window" design changes - unfinished, and wow is it
        ugly. but its also more flexible, and i'll finish it RSN.
    * several dialog windows forced to float over the editor
    * "wait for loading" message removed
    * when adding multiple tracks, GUI runs between each track	
          (causes ugly flashing of mixer window, however)
    * Select context menu now contains
             "Select all in track"
	     "Select all"
	     "Invert in track"
	     "Invert all"
                (invert is known not to work on automation tracks)
    * incorrect handling of stereo streams through routes fixed.
    * check for adequate version of JACK
    * other minor niglets.

   libgtkmmext: 5.7.2
   libardour:   0.800.0 
   ardour/gtk:  0.500.0



More information about the Ardour-Dev mailing list