"Event" (ie: "cell, or segment, on track of timeline") data structure
for input or output
Represents an Event on a Track
See mxOmfClearEventInfo() for default values
See mxOmfEventAndSourceInfo_t for additional documentation and usage
See mxOmfGetNextEventAndSourceInfo()
See mxOmfGetNextEventInfo()
See CMaxOmfSdkDemoOmfDoc::GetMxOmfInfo()
See Edit Data Representation
typedef struct tagMxOmfEventInfo_t
{
// --- Event types and flags ---
unsigned short m_eEventType; // default: MXOMF_EVENT_ERROR. See MXOMF_EVENT_
BOOL m_bEventIsFill; // TRUE if this event is a FILL (black or silence)
// If TRUE, only m_tcRIn, m_tcROut, m_bEventIsTran,
// m_lTransDur, m_usWipePattern values are valid -
// ignor all others (a FILL has no source)
BOOL m_bEventIsTran; // TRUE if this event begins with a transition
signed long m_lTransDur; // duration of transition, default 0
unsigned short m_usWipePattern; // Wipe pattern if tranition is wipe
// --- Channel (track) assignment ---
MXOMF_CH m_chanFileOfMaster; // channel of file on master
// --- Timecode positions ---
// Timeline position timecode
MXOMF_TCT m_tctRtctype;
MXOMF_TIMECODE m_tcRIn;
MXOMF_TIMECODE m_tcROut;
MXOMF_TIMECODE m_tcRKeyOut; // for 2nd line when key
// Source position timecode
MXOMF_TCT m_tctStctype;
MXOMF_TIMECODE m_tcSIn;
MXOMF_TIMECODE m_tcSOutSpeedCorrected; // valid only if speed event – see SPEED
// ---- SPEED ----
// source speed represented in signed long as:
// 1000000 = play
// 500000 = 1/2 speed
// 250000 = 1/4 speed
// 0 = freeze
// -1000000 = play reverse
// -500000 = 1/2 speed reverse
// - 250000 = 1/4 speed reverse
// this allows 1/1,000,000 steps between play and freeze
// and approx X 2147 and X -2146 play speed
//
// If no speed effect is applicable, speed is MXOMF_NOSPEED
// #define MXOMF_NOSPEED 2147483686 // 2147483687-1 LONG_MIN
// this is maximum reverse speed (approx X 2,147 reverse)
// and ASSUMED never used; that is, if speed == MX_NO_SPEED,
// no speed event is created - the source runs at play speed
// Do not set speed to 1000000 if the event is normal play
// speed - use MXOMF_NOSPEED instead.
//
// ON OUTPUT - m_tcSOutSpeedCorrected carries the OUT
// point of the source as calculated for speed.
// m_tcSOutSpeedCorrected is valid only when m_lSpeed != MXOMF_NOSPEED
//
// mxEventInfo->m_tcSIn == first visible frame
// mxEventInfo->m_tcSOutSpeedCorrected == last visible frame (+1)
//
// Note - The duration of the source (m_tcSIn - m_tcSOutSpeedCorrected)
// will *not* match the duration of the event (m_tcROut - m_tcRIn)
//
// For reverse speeds m_tcSOutSpeedCorrected will be a *lower*
// TC value than m_tcSIn.
signed long m_lSpeed; // default MXOMF_NOSPEED
// --- Audio values ---
float m_fDbLevel; // Gain in db, 0.0 == unity, default 0.0f;
signed long m_lPan; // 200 steps -100 to 100 , 0 == Middle, 666 == not set
// default 666 not set
// --- Event strings ---
char m_sEventName[256];
char m_sEffectName[256];
char m_sSpecialEffectName[256];
// --- Associated Strings ---
char m_sNotes[256]; // user string when available
char m_sAudit[256]; // Trail of objects leading to this event.
// Useful for debugging, Active in release versions
// --- Omf/Bento object reference ---
// The Bento container maintains an index (the TOC) to all stored objects
// and values in the file.
// These variables retain a link to, and/or record of, the Bento
// object from which the information came from or is related to.
//
// Note - there are no omfUIDs on SCLPs etc, as there is on "MOBs"
//
// These links are sometimes used internally by the SDK - leave them alone!
//
// They also provide the client app with access to the underlying
// Bento/Omf file objects themselves - you can address them with
// Avid OmfToolkit calls if you need to, but the SDK provides no protection
// or guarentees about its behavior - we do not recommend you try this. If you
// do, a warning - dont change the files contents if you expect the SDK
// to continue operating correctly on it!
void* m_objEvent; // pointer to Bento/Omf object in open Omf file
unsigned long m_ulEventBentoID; // Bento index value of this object
// in the current file
char m_sEventBentoID[50]; // ascii number (string integer) of Bento Index
// value of this object
// Used only for debugging purposes
unsigned long m_ulUniqueIndex; // Unique integer index value of this
// object in the current instantiation
} mxOmfEventInfo_t;