[ardour-dev] latest CVS commit
eviltwin69 at cableone.net
Sun Feb 20 08:27:46 PST 2005
On Sun, 2005-02-20 at 06:41, Sampo Savolainen wrote:
> On Sat, 2005-02-19 at 15:29 -0500, Joe Hartley wrote:
> > On Sat, 19 Feb 2005 14:46:02 -0600
> > Jan Depner <eviltwin69 at cableone.net> wrote:
> > > I can't seem to create a new session with the latest CVS. When I
> > > try New I keep getting this message:
> > >
> > > [ERROR]: Session "/data3/ardour_data/fred (snapshot fred)" did not load
> > > successfully
> > Same behavior here with the new CVS :(
> Sorry everyone. This one is my fault. The pathname resolution in ardour
> has been a bit lacking. It hasn't been able to handle relative paths
> very well and it had some other serious problems (I had a test case
> where ardour removed a character from a directory name thus failing to
> open the session).
> Because of this I've been trying (emphasis on trying) to make ardour use
> proper canonicalization for the pathnames.
> (canonicalization means converting relative paths to absolute paths.
> for example "../foo/bar/../gack" -> "/home/user/foo/gack" )
> The problem is that in my 1st try (in your CVS version), I used a
> function called canonicalize_file_name() which I only later found out
> that fails for non existant paths. This of course is not a good thing
> for creating sessions.
> In short: A classic example of what happens when code is not tested
> I've attached a patch which converts canonicalize_file_name() to
> realpath() (which is also a standard function unlike
> canonicalize_file_name(), so it should work on OSX too).
> I'll be hanging around #ardour from now until we get this fixed. If you
> can, please test this patch and report any problems to me.
It works fine for me. Thanks. Why don't you get the source code for
canonicalize_file_name and hack your own version? Or, if it returns
NULL, just forget it and use what you've got.
More information about the Ardour-Dev