[ardour-dev] Development environment

John Emmas johne53 at tiscali.co.uk
Mon Apr 9 10:39:23 PDT 2007

----- Original Message ----- 
From: "Paul Davis" <paul at linuxaudiosystems.com>
> i would stress again, though, that the AAF work you're planning to do
> does not *need* to involve any of this and would be much better for
> everyone if it was a completely separate process from Ardour itself
Thanks Mike & Paul,

Paul, you needn't worry - I'm not intending to change any of the Ardour
code and the AAF processing will definitely be produced as a completely
separate application.  However, at some stage I'm going to need to find
out how an Ardour session serializes itself.  For example, I need to know:-

1) How the XML file's components relate to each other - and;
2) Which values are (say) floats /  which are ints etc (and why) - and;
3) What the various values mean - and;
4) Which components are essential and which ones aren't.

Do you see the problem here?  Just as one example, I know how (say)
timecode is represented in an AAF file - but how is it represented in
an Ardour session?  It's bound to be text of course, but is it a textual
representation of a float?  Or a string?  Or a struct of some sort?
And what about the order of components in an object - is it important or
isn't it?  What happens if some components are missing?  For example,
audio clips need not have a name in AAF  What happens if I produce an
Ardour clip with no name?  Will it be okay or will it screw up?  I simply
don't know - and the only way to find out is to learn about Ardour sessions.
If I don't do that, I'll just end up making false assumptions and wasting my

But apart from the above, it's very likely that a lot of the code I'd need
to produce Ardour objects (in an XML) file is already written.  So if
I can identify that code and re-use it (i.e. cut & paste it into my own
app) that's bound to be quicker than trying to figure out everything by
trial & error.  I don't see the point of writing buggy code if there's
tried & tested code already available somewhere.

The ideal way of writing format converters is to start with some code that
reads & writes format A - and another lot of code that reads & writes format
B;  then just write an interface between them.  In this case however, I
don't have any code that reads or writes an Ardour session.  That's the
missing link - so unless someone can provide me with that crucial code, I'm
assuming that the safest way to generate it will be by looking at what
Ardour already does and (as far as possible) copying it.  Sorry about the
length of this message, but does that all seem sensible?



More information about the Ardour-Dev mailing list