def setup_avid_extensions(f): uint8_typedef = f.dictionary.lookup_typedef("UInt8") unit16_typedef = f.dictionary.lookup_typedef("UInt16") int32_typedef = f.dictionary.lookup_typedef("Int32") # this property seems to stop mastermob from showing up in the bin mob_classdef = f.dictionary.lookup_classdef("Mob") appcode_id = AUID("urn:uuid:96c46992-4f62-11d3-a022-006094eb75cb") mob_classdef.register_optional_propertydef(int32_typedef, appcode_id, 'AppCode') bagbit_id = AUID('urn:uuid:ccaa73d1-f538-11d3-a081-006094eb75cb') bagbit_typedef = aaf.define.TypeDefVariableArray(f, uint8_typedef, bagbit_id, 'AvidBagOfBits') f.dictionary.register_def(bagbit_typedef) opdef_id = AUID('urn:uuid:2db619ef-7210-4e89-95d7-970336d72e8c') opdef = f.create.OperationDef(opdef_id, 'Title_2', "") opdef.media_kind = 'picture' # AvidGraphicFXAttr param_id = AUID('urn:uuid:1fdd2907-e48c-11d3-a078-006094eb75cb') graphic_fx_paramdef = f.create.ParameterDef(param_id, 'AvidGraphicFXAttr', "", bagbit_typedef) f.dictionary.register_def(graphic_fx_paramdef) opdef.add_parameterdef(graphic_fx_paramdef) # AvidParameterByteOrder param_id = AUID('urn:uuid:c0038672-a8cf-11d3-a05b-006094eb75cb') paramdef = f.create.ParameterDef(param_id, 'AvidParameterByteOrder', "", unit16_typedef) f.dictionary.register_def(paramdef) opdef.add_parameterdef(paramdef) # AvidEffectID param_id = AUID('urn:uuid:93994bd6-a81d-11d3-a05b-006094eb75cb') effect_id_paramdef = f.create.ParameterDef(param_id, 'AvidEffectID', "", bagbit_typedef) f.dictionary.register_def(effect_id_paramdef) opdef.add_parameterdef(effect_id_paramdef) f.dictionary.register_def(opdef)