i'm just starting to play with AAF SDK (AAF-runtime-libs-Win-220.127.116.11.zip & AAF-src-1.1.2.zip) and i try to understand how to build an AAF file to create composition to be imported inside audio software.
First i would like to say, that even if i know well how to manage COM objects, the lurning curve is incredibly long to understand a bit how to manage AAF Object, and after 10 days passed on, i feel that i'm still in the fog. I really miss a documentation explaining how to build compatible AAF file with AAF SDK to describe a simple EDL (audio and video clip on a timeline), is there such a document somewhere ?
So, i've build the ExportSimpleComposition example, after having some small problems like :
- The 3 DLL's are not really COM component that can be registered on the system and must be in the right directorie structure (otherwise you get an error 0x80120097 on CreateEssence for example):
- aafext / AAFINTP.dll
- aafext / AAFPGAPI.dll
- The AAFguide.pdf document is using unknonwn functions like EnumAAFAllMobs or totally wrong method like comparing a pointer on interface and a GUID (page 17) :
// Compare Segment DataDef with Sound
if (memcmp(&segmentDataDef, &DDEF_Sound, sizeof(segmentDataDef))==0)
- The AAF explorer does not work (W2000 and XP) with other AAF file than the one provided with (example.aaf)
WEll, the ExportSimpleComposition example works and build a composition of 10 clips of embedded audio "Laser.wav". Ok, when i read this AAF (with one of my tool) i see the SOURCEMOB, MASTERMOB and COMPOSITIONMOB with the sequence of 10 Clips. OK ! But why this AAF file cannot be imported in Protools or Pyramix ? what i missed ?
thanks by advance
To make a composition fully compatible with software like pyramix or Protools, you need to check the following point :
- The composition Mob must have a name pCompMob->SetName(...).
- In the composition mob, the slots containing sequence must have a valid PhysicalNum (related to track number e.g. pMobSlot->SetPhysicalNum(pMobSlot,1);)
- In the composition mob, you may have to add a timeline slot containing a time code giving the starting position of the sequence.
hope it helps.
I apologise if this information might be out of date - but from the last that I remember, Pyramix and Pro Tools would only import AAF files that contained embedded media. I haven't used either system for a long time though - so that situation might have changed now.
yes, it's out of date. Even they prefer non-embedded data (especially for video).
But it's ok now, after investigation and experimentation, i've been able to solve most of the problems and to create compatible AAF file with non-embedded data...
I've just lost a lot of time, and i hate that. One month to used this AAF Format (and i'm not yet able to manage crossfade), when 2 days should be enough with a simple XML format. It's UNACCEPTABLE. I would not promote it.