MaxOmfSdk provides an Omf parser, an internal database containing 'normalized' edit data, and an Omf writer. The API provides functions for parsing an existing Omf file, retrieving edit data, populating the internal database with client application edit data, and writing Omf files, including audio media data. Omf1 'media files' (without compositions) and Omf2 with compositions are supported.
MaxOmfSdk.dll is a c++ program wrapped in an extern "C" api. It contains a modified version of the Omf Toolkit and higher level c++ code to manage the project data. Operations are driven by the calling application through the extern "C" api.
See Client Application and SDK Builds
MaxOmfSdk provides mechanisms for communicating with the SDK for obtaining status information, setting processing options, handling errors, progress, messaging, etc.
The mxOmfAppIFInfo_t struct collects several input/output data structs and function pointers to application supplied callback functions.
OmfSupport.cpp of the demo app supplies a complete set of callback implementations together with mfSetAppInterface(), used to initialize mxOmfAppIFInfo_t members and callbacks.
See mxOmfAppIFInfo_t
See mxOmfProductID_t
See mxOmfInSettings_t and mxOmfOutSettings_t
See OmfSetAppInterface()
See CMaxOmfSdkDemoApp::CMaxOmfSdkDemoApp() constructor
See CMaxOmfSdkDemoOmfDoc::CMaxOmfSdkDemoOmfDoc() constructor
The client application first 'creates' the SDK with a call to mxOmfCreateOmfSdk(); This returns an opaque handle to the SDK (mxOmfAppIFInfo_t::m_hMxOmfHdl), and the application then uses this handle for all calls to the extern "C" API functions.
See mxOmfCreateOmfSdk()
See CMaxOmfSdkDemoDoc::OnOpenDocument()
It is important to understand the way data is organized in MaxOmfSdk.
See Edit Data Representation
See Edit Data Representation
See the demo app :
CMaxOmfSdkDemoDoc::OnOpenDocument()
CMaxOmfSdkDemoDoc::OnSaveDocument()
CMaxOmfSdkDemoDoc::OnFileSaveOmfUserinAs()