1 /* GStreamer 2 * Copyright (C) 2008-2009 Sebastian Dröge <sebastian.droege@collabora.co.uk> 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public 15 * License along with this library; if not, write to the 16 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20 /* Implementation of SMPTE S380M - Descriptive Scheme-1 */ 21 22 #ifndef _MXF_DMS1_H_ 23 #define _MXF_DMS1_H_ 24 25 #include <gst/gst.h> 26 #include "mxfmetadata.h" 27 28 #define MXF_TYPE_DMS1 \ 29 (mxf_dms1_get_type()) 30 #define MXF_DMS1(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1, MXFDMS1)) 32 #define MXF_IS_DMS1(obj) \ 33 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1)) 34 typedef struct _MXFDMS1 MXFDMS1; 35 typedef MXFDescriptiveMetadataClass MXFDMS1Class; 36 GType mxf_dms1_get_type (void); 37 38 #define MXF_TYPE_DMS1_TEXT_LANGUAGE \ 39 (mxf_dms1_text_language_get_type()) 40 #define MXF_DMS1_TEXT_LANGUAGE(obj) \ 41 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_TEXT_LANGUAGE, MXFDMS1TextLanguage)) 42 #define MXF_IS_DMS1_TEXT_LANGUAGE(obj) \ 43 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_TEXT_LANGUAGE)) 44 typedef struct _MXFDMS1TextLanguage MXFDMS1TextLanguage; 45 typedef MXFDescriptiveMetadataClass MXFDMS1TextLanguageClass; 46 GType mxf_dms1_text_language_get_type (void); 47 48 #define MXF_TYPE_DMS1_THESAURUS \ 49 (mxf_dms1_thesaurus_get_type()) 50 #define MXF_DMS1_THESAURUS(obj) \ 51 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_THESAURUS, MXFDMS1Thesaurus)) 52 #define MXF_IS_DMS1_THESAURUS(obj) \ 53 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_THESAURUS)) 54 typedef struct _MXFDMS1Thesaurus MXFDMS1Thesaurus; 55 typedef MXFDescriptiveMetadataClass MXFDMS1ThesaurusClass; 56 GType mxf_dms1_thesaurus_get_type (void); 57 58 #define MXF_TYPE_DMS1_FRAMEWORK \ 59 (mxf_dms1_framework_get_type()) 60 #define MXF_DMS1_FRAMEWORK(obj) \ 61 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_FRAMEWORK, MXFDMS1Framework)) 62 #define MXF_IS_DMS1_FRAMEWORK(obj) \ 63 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_FRAMEWORK)) 64 typedef struct _MXFDMS1Framework MXFDMS1Framework; 65 typedef MXFDescriptiveMetadataClass MXFDMS1FrameworkClass; 66 GType mxf_dms1_framework_get_type (void); 67 68 #define MXF_TYPE_DMS1_PRODUCTION_CLIP_FRAMEWORK \ 69 (mxf_dms1_production_clip_framework_get_type()) 70 #define MXF_DMS1_PRODUCTION_CLIP_FRAMEWORK(obj) \ 71 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PRODUCTION_CLIP_FRAMEWORK, MXFDMS1ProductionClipFramework)) 72 #define MXF_IS_DMS1_PRODUCTION_CLIP_FRAMEWORK(obj) \ 73 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PRODUCTION_CLIP_FRAMEWORK)) 74 typedef struct _MXFDMS1ProductionClipFramework MXFDMS1ProductionClipFramework; 75 typedef MXFDescriptiveMetadataClass MXFDMS1ProductionClipFrameworkClass; 76 GType mxf_dms1_production_clip_framework_get_type (void); 77 78 #define MXF_TYPE_DMS1_PRODUCTION_FRAMEWORK \ 79 (mxf_dms1_production_framework_get_type()) 80 #define MXF_DMS1_PRODUCTION_FRAMEWORK(obj) \ 81 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PRODUCTION_FRAMEWORK, MXFDMS1ProductionFramework)) 82 #define MXF_IS_DMS1_PRODUCTION_FRAMEWORK(obj) \ 83 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PRODUCTION_FRAMEWORK)) 84 typedef struct _MXFDMS1ProductionFramework MXFDMS1ProductionFramework; 85 typedef MXFDescriptiveMetadataClass MXFDMS1ProductionFrameworkClass; 86 GType mxf_dms1_production_framework_get_type (void); 87 88 #define MXF_TYPE_DMS1_CLIP_FRAMEWORK \ 89 (mxf_dms1_clip_framework_get_type()) 90 #define MXF_DMS1_CLIP_FRAMEWORK(obj) \ 91 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CLIP_FRAMEWORK, MXFDMS1ClipFramework)) 92 #define MXF_IS_DMS1_CLIP_FRAMEWORK(obj) \ 93 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CLIP_FRAMEWORK)) 94 typedef struct _MXFDMS1ClipFramework MXFDMS1ClipFramework; 95 typedef MXFDescriptiveMetadataClass MXFDMS1ClipFrameworkClass; 96 GType mxf_dms1_clip_framework_get_type (void); 97 98 #define MXF_TYPE_DMS1_SCENE_FRAMEWORK \ 99 (mxf_dms1_scene_framework_get_type()) 100 #define MXF_DMS1_SCENE_FRAMEWORK(obj) \ 101 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_SCENE_FRAMEWORK, MXFDMS1SceneFramework)) 102 #define MXF_IS_DMS1_SCENE_FRAMEWORK(obj) \ 103 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_SCENE_FRAMEWORK)) 104 typedef struct _MXFDMS1SceneFramework MXFDMS1SceneFramework; 105 typedef MXFDescriptiveMetadataClass MXFDMS1SceneFrameworkClass; 106 GType mxf_dms1_scene_framework_get_type (void); 107 108 #define MXF_TYPE_DMS1_TITLES \ 109 (mxf_dms1_titles_get_type()) 110 #define MXF_DMS1_TITLES(obj) \ 111 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_TITLES, MXFDMS1Titles)) 112 #define MXF_IS_DMS1_TITLES(obj) \ 113 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_TITLES)) 114 typedef struct _MXFDMS1Titles MXFDMS1Titles; 115 typedef MXFDescriptiveMetadataClass MXFDMS1TitlesClass; 116 GType mxf_dms1_titles_get_type (void); 117 118 #define MXF_TYPE_DMS1_IDENTIFICATION \ 119 (mxf_dms1_identification_get_type()) 120 #define MXF_DMS1_IDENTIFICATION(obj) \ 121 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_IDENTIFICATION, MXFDMS1Identification)) 122 #define MXF_IS_DMS1_IDENTIFICATION(obj) \ 123 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_IDENTIFICATION)) 124 typedef struct _MXFDMS1Identification MXFDMS1Identification; 125 typedef MXFDescriptiveMetadataClass MXFDMS1IdentificationClass; 126 GType mxf_dms1_identification_get_type (void); 127 128 #define MXF_TYPE_DMS1_GROUP_RELATIONSHIP \ 129 (mxf_dms1_group_relationship_get_type()) 130 #define MXF_DMS1_GROUP_RELATIONSHIP(obj) \ 131 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_GROUP_RELATIONSHIP, MXFDMS1GroupRelationship)) 132 #define MXF_IS_DMS1_GROUP_RELATIONSHIP(obj) \ 133 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_GROUP_RELATIONSHIP)) 134 typedef struct _MXFDMS1GroupRelationship MXFDMS1GroupRelationship; 135 typedef MXFDescriptiveMetadataClass MXFDMS1GroupRelationshipClass; 136 GType mxf_dms1_group_relationship_get_type (void); 137 138 #define MXF_TYPE_DMS1_BRANDING \ 139 (mxf_dms1_branding_get_type()) 140 #define MXF_DMS1_BRANDING(obj) \ 141 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_BRANDING, MXFDMS1Branding)) 142 #define MXF_IS_DMS1_BRANDING(obj) \ 143 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_BRANDING)) 144 typedef struct _MXFDMS1Branding MXFDMS1Branding; 145 typedef MXFDescriptiveMetadataClass MXFDMS1BrandingClass; 146 GType mxf_dms1_branding_get_type (void); 147 148 #define MXF_TYPE_DMS1_EVENT \ 149 (mxf_dms1_event_get_type()) 150 #define MXF_DMS1_EVENT(obj) \ 151 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_EVENT, MXFDMS1Event)) 152 #define MXF_IS_DMS1_EVENT(obj) \ 153 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_EVENT)) 154 typedef struct _MXFDMS1Event MXFDMS1Event; 155 typedef MXFDescriptiveMetadataClass MXFDMS1EventClass; 156 GType mxf_dms1_event_get_type (void); 157 158 #define MXF_TYPE_DMS1_PUBLICATION \ 159 (mxf_dms1_publication_get_type()) 160 #define MXF_DMS1_PUBLICATION(obj) \ 161 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PUBLICATION, MXFDMS1Publication)) 162 #define MXF_IS_DMS1_PUBLICATION(obj) \ 163 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PUBLICATION)) 164 typedef struct _MXFDMS1Publication MXFDMS1Publication; 165 typedef MXFDescriptiveMetadataClass MXFDMS1PublicationClass; 166 GType mxf_dms1_publication_get_type (void); 167 168 #define MXF_TYPE_DMS1_AWARD \ 169 (mxf_dms1_award_get_type()) 170 #define MXF_DMS1_AWARD(obj) \ 171 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_AWARD, MXFDMS1Award)) 172 #define MXF_IS_DMS1_AWARD(obj) \ 173 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_AWARD)) 174 typedef struct _MXFDMS1Award MXFDMS1Award; 175 typedef MXFDescriptiveMetadataClass MXFDMS1AwardClass; 176 GType mxf_dms1_award_get_type (void); 177 178 #define MXF_TYPE_DMS1_CAPTIONS_DESCRIPTION \ 179 (mxf_dms1_captions_description_get_type()) 180 #define MXF_DMS1_CAPTIONS_DESCRIPTION(obj) \ 181 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CAPTIONS_DESCRIPTION, MXFDMS1CaptionsDescription)) 182 #define MXF_IS_DMS1_CAPTIONS_DESCRIPTION(obj) \ 183 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CAPTIONS_DESCRIPTION)) 184 typedef struct _MXFDMS1CaptionsDescription MXFDMS1CaptionsDescription; 185 typedef MXFDescriptiveMetadataClass MXFDMS1CaptionsDescriptionClass; 186 GType mxf_dms1_captions_description_get_type (void); 187 188 #define MXF_TYPE_DMS1_ANNOTATION \ 189 (mxf_dms1_annotation_get_type()) 190 #define MXF_DMS1_ANNOTATION(obj) \ 191 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_ANNOTATION, MXFDMS1Annotation)) 192 #define MXF_IS_DMS1_ANNOTATION(obj) \ 193 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_ANNOTATION)) 194 typedef struct _MXFDMS1Annotation MXFDMS1Annotation; 195 typedef MXFDescriptiveMetadataClass MXFDMS1AnnotationClass; 196 GType mxf_dms1_annotation_get_type (void); 197 198 #define MXF_TYPE_DMS1_SETTING_PERIOD \ 199 (mxf_dms1_setting_period_get_type()) 200 #define MXF_DMS1_SETTING_PERIOD(obj) \ 201 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_SETTING_PERIOD, MXFDMS1SettingPeriod)) 202 #define MXF_IS_DMS1_SETTING_PERIOD(obj) \ 203 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_SETTING_PERIOD)) 204 typedef struct _MXFDMS1SettingPeriod MXFDMS1SettingPeriod; 205 typedef MXFDescriptiveMetadataClass MXFDMS1SettingPeriodClass; 206 GType mxf_dms1_setting_period_get_type (void); 207 208 #define MXF_TYPE_DMS1_SCRIPTING \ 209 (mxf_dms1_scripting_get_type()) 210 #define MXF_DMS1_SCRIPTING(obj) \ 211 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_SCRIPTING, MXFDMS1Scripting)) 212 #define MXF_IS_DMS1_SCRIPTING(obj) \ 213 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_SCRIPTING)) 214 typedef struct _MXFDMS1Scripting MXFDMS1Scripting; 215 typedef MXFDescriptiveMetadataClass MXFDMS1ScriptingClass; 216 GType mxf_dms1_scripting_get_type (void); 217 218 #define MXF_TYPE_DMS1_CLASSIFICATION \ 219 (mxf_dms1_classification_get_type()) 220 #define MXF_DMS1_CLASSIFICATION(obj) \ 221 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CLASSIFICATION, MXFDMS1Classification)) 222 #define MXF_IS_DMS1_CLASSIFICATION(obj) \ 223 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CLASSIFICATION)) 224 typedef struct _MXFDMS1Classification MXFDMS1Classification; 225 typedef MXFDescriptiveMetadataClass MXFDMS1ClassificationClass; 226 GType mxf_dms1_classification_get_type (void); 227 228 #define MXF_TYPE_DMS1_SHOT \ 229 (mxf_dms1_shot_get_type()) 230 #define MXF_DMS1_SHOT(obj) \ 231 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_SHOT, MXFDMS1Shot)) 232 #define MXF_IS_DMS1_SHOT(obj) \ 233 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_SHOT)) 234 typedef struct _MXFDMS1Shot MXFDMS1Shot; 235 typedef MXFDescriptiveMetadataClass MXFDMS1ShotClass; 236 GType mxf_dms1_shot_get_type (void); 237 238 #define MXF_TYPE_DMS1_KEY_POINT \ 239 (mxf_dms1_key_point_get_type()) 240 #define MXF_DMS1_KEY_POINT(obj) \ 241 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_KEY_POINT, MXFDMS1KeyPoint)) 242 #define MXF_IS_DMS1_KEY_POINT(obj) \ 243 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_KEY_POINT)) 244 typedef struct _MXFDMS1KeyPoint MXFDMS1KeyPoint; 245 typedef MXFDescriptiveMetadataClass MXFDMS1KeyPointClass; 246 GType mxf_dms1_key_point_get_type (void); 247 248 #define MXF_TYPE_DMS1_PARTICIPANT \ 249 (mxf_dms1_participant_get_type()) 250 #define MXF_DMS1_PARTICIPANT(obj) \ 251 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PARTICIPANT, MXFDMS1Participant)) 252 #define MXF_IS_DMS1_PARTICIPANT(obj) \ 253 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PARTICIPANT)) 254 typedef struct _MXFDMS1Participant MXFDMS1Participant; 255 typedef MXFDescriptiveMetadataClass MXFDMS1ParticipantClass; 256 GType mxf_dms1_participant_get_type (void); 257 258 #define MXF_TYPE_DMS1_CONTACT \ 259 (mxf_dms1_contact_get_type()) 260 #define MXF_DMS1_CONTACT(obj) \ 261 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CONTACT, MXFDMS1Contact)) 262 #define MXF_IS_DMS1_CONTACT(obj) \ 263 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CONTACT)) 264 typedef struct _MXFDMS1Contact MXFDMS1Contact; 265 typedef MXFDescriptiveMetadataClass MXFDMS1ContactClass; 266 GType mxf_dms1_contact_get_type (void); 267 268 #define MXF_TYPE_DMS1_PERSON \ 269 (mxf_dms1_person_get_type()) 270 #define MXF_DMS1_PERSON(obj) \ 271 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PERSON, MXFDMS1Person)) 272 #define MXF_IS_DMS1_PERSON(obj) \ 273 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PERSON)) 274 typedef struct _MXFDMS1Person MXFDMS1Person; 275 typedef MXFDescriptiveMetadataClass MXFDMS1PersonClass; 276 GType mxf_dms1_person_get_type (void); 277 278 #define MXF_TYPE_DMS1_ORGANISATION \ 279 (mxf_dms1_organisation_get_type()) 280 #define MXF_DMS1_ORGANISATION(obj) \ 281 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_ORGANISATION, MXFDMS1Organisation)) 282 #define MXF_IS_DMS1_ORGANISATION(obj) \ 283 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_ORGANISATION)) 284 typedef struct _MXFDMS1Organisation MXFDMS1Organisation; 285 typedef MXFDescriptiveMetadataClass MXFDMS1OrganisationClass; 286 GType mxf_dms1_organisation_get_type (void); 287 288 #define MXF_TYPE_DMS1_LOCATION \ 289 (mxf_dms1_location_get_type()) 290 #define MXF_DMS1_LOCATION(obj) \ 291 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_LOCATION, MXFDMS1Location)) 292 #define MXF_IS_DMS1_LOCATION(obj) \ 293 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_LOCATION)) 294 typedef struct _MXFDMS1Location MXFDMS1Location; 295 typedef MXFDescriptiveMetadataClass MXFDMS1LocationClass; 296 GType mxf_dms1_location_get_type (void); 297 298 #define MXF_TYPE_DMS1_ADDRESS \ 299 (mxf_dms1_address_get_type()) 300 #define MXF_DMS1_ADDRESS(obj) \ 301 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_ADDRESS, MXFDMS1Address)) 302 #define MXF_IS_DMS1_ADDRESS(obj) \ 303 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_ADDRESS)) 304 typedef struct _MXFDMS1Address MXFDMS1Address; 305 typedef MXFDescriptiveMetadataClass MXFDMS1AddressClass; 306 GType mxf_dms1_address_get_type (void); 307 308 #define MXF_TYPE_DMS1_COMMUNICATIONS \ 309 (mxf_dms1_communications_get_type()) 310 #define MXF_DMS1_COMMUNICATIONS(obj) \ 311 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_COMMUNICATIONS, MXFDMS1Communications)) 312 #define MXF_IS_DMS1_COMMUNICATIONS(obj) \ 313 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_COMMUNICATIONS)) 314 typedef struct _MXFDMS1Communications MXFDMS1Communications; 315 typedef MXFDescriptiveMetadataClass MXFDMS1CommunicationsClass; 316 GType mxf_dms1_communications_get_type (void); 317 318 #define MXF_TYPE_DMS1_CONTRACT \ 319 (mxf_dms1_contract_get_type()) 320 #define MXF_DMS1_CONTRACT(obj) \ 321 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CONTRACT, MXFDMS1Contract)) 322 #define MXF_IS_DMS1_CONTRACT(obj) \ 323 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CONTRACT)) 324 typedef struct _MXFDMS1Contract MXFDMS1Contract; 325 typedef MXFDescriptiveMetadataClass MXFDMS1ContractClass; 326 GType mxf_dms1_contract_get_type (void); 327 328 #define MXF_TYPE_DMS1_RIGHTS \ 329 (mxf_dms1_rights_get_type()) 330 #define MXF_DMS1_RIGHTS(obj) \ 331 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_RIGHTS, MXFDMS1Rights)) 332 #define MXF_IS_DMS1_RIGHTS(obj) \ 333 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_RIGHTS)) 334 typedef struct _MXFDMS1Rights MXFDMS1Rights; 335 typedef MXFDescriptiveMetadataClass MXFDMS1RightsClass; 336 GType mxf_dms1_rights_get_type (void); 337 338 #define MXF_TYPE_DMS1_PICTURE_FORMAT \ 339 (mxf_dms1_picture_format_get_type()) 340 #define MXF_DMS1_PICTURE_FORMAT(obj) \ 341 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PICTURE_FORMAT, MXFDMS1PictureFormat)) 342 #define MXF_IS_DMS1_PICTURE_FORMAT(obj) \ 343 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PICTURE_FORMAT)) 344 typedef struct _MXFDMS1PictureFormat MXFDMS1PictureFormat; 345 typedef MXFDescriptiveMetadataClass MXFDMS1PictureFormatClass; 346 GType mxf_dms1_picture_format_get_type (void); 347 348 #define MXF_TYPE_DMS1_DEVICE_PARAMETERS \ 349 (mxf_dms1_device_parameters_get_type()) 350 #define MXF_DMS1_DEVICE_PARAMETERS(obj) \ 351 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_DEVICE_PARAMETERS, MXFDMS1DeviceParameters)) 352 #define MXF_IS_DMS1_DEVICE_PARAMETERS(obj) \ 353 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_DEVICE_PARAMETERS)) 354 typedef struct _MXFDMS1DeviceParameters MXFDMS1DeviceParameters; 355 typedef MXFDescriptiveMetadataClass MXFDMS1DeviceParametersClass; 356 GType mxf_dms1_device_parameters_get_type (void); 357 358 #define MXF_TYPE_DMS1_NAME_VALUE \ 359 (mxf_dms1_name_value_get_type()) 360 #define MXF_DMS1_NAME_VALUE(obj) \ 361 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_NAME_VALUE, MXFDMS1NameValue)) 362 #define MXF_IS_DMS1_NAME_VALUE(obj) \ 363 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_NAME_VALUE)) 364 typedef struct _MXFDMS1NameValue MXFDMS1NameValue; 365 typedef MXFDescriptiveMetadataClass MXFDMS1NameValueClass; 366 GType mxf_dms1_name_value_get_type (void); 367 368 #define MXF_TYPE_DMS1_PROCESSING \ 369 (mxf_dms1_processing_get_type()) 370 #define MXF_DMS1_PROCESSING(obj) \ 371 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PROCESSING, MXFDMS1Processing)) 372 #define MXF_IS_DMS1_PROCESSING(obj) \ 373 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PROCESSING)) 374 typedef struct _MXFDMS1Processing MXFDMS1Processing; 375 typedef MXFDescriptiveMetadataClass MXFDMS1ProcessingClass; 376 GType mxf_dms1_processing_get_type (void); 377 378 #define MXF_TYPE_DMS1_PROJECT \ 379 (mxf_dms1_project_get_type()) 380 #define MXF_DMS1_PROJECT(obj) \ 381 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_PROJECT, MXFDMS1Project)) 382 #define MXF_IS_DMS1_PROJECT(obj) \ 383 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_PROJECT)) 384 typedef struct _MXFDMS1Project MXFDMS1Project; 385 typedef MXFDescriptiveMetadataClass MXFDMS1ProjectClass; 386 GType mxf_dms1_project_get_type (void); 387 388 #define MXF_TYPE_DMS1_CONTACTS_LIST \ 389 (mxf_dms1_contacts_list_get_type()) 390 #define MXF_DMS1_CONTACTS_LIST(obj) \ 391 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CONTACTS_LIST, MXFDMS1ContactsList)) 392 #define MXF_IS_DMS1_CONTACTS_LIST(obj) \ 393 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CONTACTS_LIST)) 394 typedef struct _MXFDMS1ContactsList MXFDMS1ContactsList; 395 typedef MXFDescriptiveMetadataClass MXFDMS1ContactsListClass; 396 GType mxf_dms1_contacts_list_get_type (void); 397 398 #define MXF_TYPE_DMS1_CUE_WORDS \ 399 (mxf_dms1_cue_words_get_type()) 400 #define MXF_DMS1_CUE_WORDS(obj) \ 401 (G_TYPE_CHECK_INSTANCE_CAST((obj),MXF_TYPE_DMS1_CUE_WORDS, MXFDMS1CueWords)) 402 #define MXF_IS_DMS1_CUE_WORDS(obj) \ 403 (G_TYPE_CHECK_INSTANCE_TYPE((obj),MXF_TYPE_DMS1_CUE_WORDS)) 404 typedef struct _MXFDMS1CueWords MXFDMS1CueWords; 405 typedef MXFDescriptiveMetadataClass MXFDMS1CueWordsClass; 406 GType mxf_dms1_cue_words_get_type (void); 407 408 struct _MXFDMS1 { 409 MXFDescriptiveMetadata parent; 410 }; 411 412 struct _MXFDMS1TextLanguage { 413 MXFDMS1 parent; 414 415 gchar extended_text_language_code[13]; 416 }; 417 418 struct _MXFDMS1Thesaurus { 419 MXFDMS1TextLanguage parent; 420 421 gchar *thesaurus_name; 422 }; 423 424 struct _MXFDMS1Framework { 425 MXFDMS1 parent; 426 427 gchar framework_extended_text_language_code[13]; 428 gchar *framework_thesaurus_name; 429 gchar *framework_title; 430 gchar primary_extended_spoken_language_code[13]; 431 gchar secondary_extended_spoken_language_code[13]; 432 gchar original_extended_spoken_language_code[13]; 433 434 guint32 n_metadata_server_locators; 435 MXFUUID *metadata_server_locators_uids; 436 /* TODO */ 437 438 guint32 n_titles_sets; 439 MXFUUID *titles_sets_uids; 440 MXFDMS1Titles **titles_sets; 441 442 guint32 n_annotation_sets; 443 MXFUUID *annotation_sets_uids; 444 MXFDMS1Annotation **annotation_sets; 445 446 guint32 n_participant_sets; 447 MXFUUID *participant_sets_uids; 448 MXFDMS1Participant **participant_sets; 449 450 MXFUUID contacts_list_set_uid; 451 MXFDMS1ContactsList *contacts_list_set; 452 453 guint32 n_location_sets; 454 MXFUUID *location_sets_uids; 455 MXFDMS1Location **location_sets; 456 }; 457 458 struct _MXFDMS1ProductionClipFramework { 459 MXFDMS1Framework parent; 460 461 MXFUUID picture_format_set_uid; 462 MXFDMS1PictureFormat *picture_format; 463 464 guint32 n_captions_description_sets; 465 MXFUUID *captions_description_sets_uids; 466 MXFDMS1CaptionsDescription **captions_description_sets; 467 468 guint32 n_contract_sets; 469 MXFUUID *contract_sets_uids; 470 MXFDMS1Contract **contract_sets; 471 472 MXFUUID project_set_uid; 473 MXFDMS1Project *project_set; 474 }; 475 476 struct _MXFDMS1ProductionFramework { 477 MXFDMS1ProductionClipFramework parent; 478 479 gchar *integration_indication; 480 481 guint32 n_identification_sets; 482 MXFUUID *identification_sets_uids; 483 MXFDMS1Identification **identification_sets; 484 485 guint32 n_group_relationship_sets; 486 MXFUUID *group_relationship_sets_uids; 487 MXFDMS1GroupRelationship **group_relationship_sets; 488 489 guint32 n_branding_sets; 490 MXFUUID *branding_sets_uids; 491 MXFDMS1Branding **branding_sets; 492 493 guint32 n_event_sets; 494 MXFUUID *event_sets_uids; 495 MXFDMS1Event **event_sets; 496 497 guint32 n_award_sets; 498 MXFUUID *award_sets_uids; 499 MXFDMS1Award **award_sets; 500 501 guint32 n_setting_period_sets; 502 MXFUUID *setting_period_sets_uids; 503 MXFDMS1SettingPeriod **setting_period_sets; 504 }; 505 506 struct _MXFDMS1ClipFramework { 507 MXFDMS1ProductionClipFramework parent; 508 509 gchar *clip_kind; 510 gchar clip_number[33]; 511 512 guint8 extended_clip_id[64]; 513 gboolean extended_clip_id_full; 514 515 MXFTimestamp clip_creation_date_and_time; 516 517 guint16 take_number; 518 519 gchar *slate_information; 520 521 guint32 n_scripting_sets; 522 MXFUUID *scripting_sets_uids; 523 MXFDMS1Scripting **scripting_sets; 524 525 guint32 n_shot_sets; 526 MXFUUID *shot_sets_uids; 527 MXFDMS1Shot **shot_sets; 528 529 guint32 n_device_parameters_sets; 530 MXFUUID *device_parameters_sets_uids; 531 MXFDMS1DeviceParameters **device_parameters_sets; 532 533 MXFUUID processing_set_uid; 534 MXFDMS1Processing *processing_set; 535 }; 536 537 struct _MXFDMS1SceneFramework { 538 MXFDMS1Framework parent; 539 540 gchar scene_number[33]; 541 542 guint32 n_setting_period_sets; 543 MXFUUID *setting_period_sets_uids; 544 MXFDMS1SettingPeriod **setting_period_sets; 545 546 guint32 n_shot_scene_sets; 547 MXFUUID *shot_scene_sets_uids; 548 MXFDMS1Shot **shot_scene_sets; 549 }; 550 551 struct _MXFDMS1Titles { 552 MXFDMS1TextLanguage parent; 553 554 gchar *main_title; 555 gchar *secondary_title; 556 gchar *working_title; 557 gchar *original_title; 558 gchar *version_title; 559 }; 560 561 struct _MXFDMS1Identification { 562 MXFDMS1Thesaurus parent; 563 564 gchar identifier_kind[33]; 565 guint8 *identifier_value; 566 guint16 identifier_value_length; 567 MXFUUID identification_locator; 568 gchar *identification_issuing_authority; 569 }; 570 571 struct _MXFDMS1GroupRelationship { 572 MXFDMS1Thesaurus parent; 573 574 gchar *programming_group_kind; 575 gchar* programming_group_title; 576 gchar *group_synopsis; 577 guint32 numerical_position_in_sequence; 578 guint32 total_number_in_the_sequence; 579 guint16 episodic_start_number; 580 guint16 episodic_end_number; 581 }; 582 583 struct _MXFDMS1Branding { 584 MXFDMS1TextLanguage parent; 585 586 gchar *brand_main_title; 587 gchar *brand_original_title; 588 }; 589 590 struct _MXFDMS1Event { 591 MXFDMS1Thesaurus parent; 592 593 gchar *event_indication; 594 gchar event_start_date_and_time[33]; 595 gchar event_end_date_and_time[33]; 596 597 guint32 n_publication_sets; 598 MXFUUID *publication_sets_uids; 599 MXFDMS1Publication **publication_sets; 600 601 guint32 n_annotation_sets; 602 MXFUUID *annotation_sets_uids; 603 MXFDMS1Annotation **annotation_sets; 604 }; 605 606 struct _MXFDMS1Publication { 607 MXFDMS1 parent; 608 609 gchar *publication_organisation_name; 610 gchar *publication_service_name; 611 gchar *publication_medium; 612 gchar *publication_region; 613 }; 614 615 struct _MXFDMS1Award { 616 MXFDMS1Thesaurus parent; 617 618 gchar *festival; 619 gchar festival_date_and_time[33]; 620 gchar *award_name; 621 gchar *award_classification; 622 gchar *nomination_category; 623 624 guint32 n_participant_sets; 625 MXFUUID *participant_sets_uids; 626 MXFDMS1Participant **participant_sets; 627 }; 628 629 struct _MXFDMS1CaptionsDescription { 630 MXFDMS1Thesaurus parent; 631 632 gchar extended_captions_language_code[13]; 633 gchar *caption_kind; 634 }; 635 636 struct _MXFDMS1Annotation { 637 MXFDMS1Thesaurus parent; 638 639 gchar *annotation_kind; 640 gchar *annotation_synopsis; 641 gchar *annotation_description; 642 gchar *related_material_description; 643 644 guint32 n_classification_sets; 645 MXFUUID *classification_sets_uids; 646 MXFDMS1Classification **classification_sets; 647 648 MXFUUID cue_words_set_uid; 649 MXFDMS1CueWords *cue_words_set; 650 651 guint32 n_related_material_locators; 652 MXFUUID *related_material_locators; 653 /* TODO */ 654 655 guint32 n_participant_sets; 656 MXFUUID *participant_sets_uids; 657 MXFDMS1Participant **participant_sets; 658 }; 659 660 struct _MXFDMS1SettingPeriod { 661 MXFDMS1Thesaurus parent; 662 663 MXFTimestamp setting_date_and_time; 664 gchar *time_period_keyword; 665 gchar *setting_period_description; 666 }; 667 668 struct _MXFDMS1Scripting { 669 MXFDMS1Thesaurus parent; 670 671 gchar *scripting_kind; 672 gchar *scripting_text; 673 674 guint32 n_scripting_locators; 675 MXFUUID *scripting_locators; 676 /* TODO */ 677 }; 678 679 struct _MXFDMS1Classification { 680 MXFDMS1Thesaurus parent; 681 682 gchar content_classification[128]; 683 684 guint32 n_name_value_sets; 685 MXFUUID *name_value_sets_uids; 686 MXFDMS1NameValue **name_value_sets; 687 }; 688 689 struct _MXFDMS1Shot { 690 MXFDMS1TextLanguage parent; 691 692 gint64 shot_start_position; 693 gint64 shot_duration; 694 695 guint32 n_shot_track_ids; 696 guint32 *shot_track_ids; 697 698 gchar *shot_description; 699 gchar *shot_comment_kind; 700 gchar *shot_comment; 701 702 MXFUUID cue_words_set_uid; 703 MXFDMS1CueWords *cue_words_set; 704 705 guint32 n_key_point_sets; 706 MXFUUID *key_point_sets_uids; 707 MXFDMS1KeyPoint **key_point_sets; 708 }; 709 710 struct _MXFDMS1KeyPoint { 711 MXFDMS1Thesaurus parent; 712 713 gchar *keypoint_kind; 714 gchar *keypoint_value; 715 gint64 keypoint_position; 716 }; 717 718 struct _MXFDMS1Participant { 719 MXFDMS1Thesaurus parent; 720 721 MXFUUID participant_uid; 722 723 gchar *contribution_status; 724 gchar *job_function; 725 gchar job_function_code[33]; 726 gchar *role_or_identity_name; 727 728 guint32 n_person_sets; 729 MXFUUID *person_sets_uids; 730 MXFDMS1Person **person_sets; 731 732 guint32 n_organisation_sets; 733 MXFUUID *organisation_sets_uids; 734 MXFDMS1Organisation **organisation_sets; 735 }; 736 737 struct _MXFDMS1Contact { 738 MXFDMS1Thesaurus parent; 739 740 MXFUUID contact_uid; 741 742 guint32 n_name_value_sets; 743 MXFUUID *name_value_sets_uids; 744 MXFDMS1NameValue **name_value_sets; 745 746 guint32 n_address_sets; 747 MXFUUID *address_sets_uids; 748 MXFDMS1Address **address_sets; 749 }; 750 751 struct _MXFDMS1Person { 752 MXFDMS1Contact parent; 753 754 gchar *family_name; 755 gchar *first_given_name; 756 gchar *other_given_names; 757 gchar *linking_name; 758 gchar *salutation; 759 gchar *name_suffix; 760 gchar *honours_qualifications; 761 gchar *former_family_name; 762 gchar *person_description; 763 gchar *alternate_name; 764 gchar *nationality; 765 gchar *citizenship; 766 767 guint32 n_organisation_sets; 768 MXFUUID *organisation_sets_uids; 769 MXFDMS1Organisation **organisation_sets; 770 }; 771 772 struct _MXFDMS1Organisation { 773 MXFDMS1Contact parent; 774 775 gchar *nature_of_organisation; 776 gchar *organisation_main_name; 777 gchar *organisation_code; 778 gchar *contact_department; 779 }; 780 781 struct _MXFDMS1Location { 782 MXFDMS1Contact parent; 783 784 gchar *location_kind; 785 gchar *location_description; 786 }; 787 788 struct _MXFDMS1Address { 789 MXFDMS1 parent; 790 791 gchar *room_or_suite_number; 792 gchar *room_or_suite_name; 793 gchar *building_name; 794 gchar *place_name; 795 gchar *street_number; 796 gchar *street_name; 797 gchar *postal_town; 798 gchar *city; 799 gchar *state_or_province_or_country; 800 gchar *postal_code; 801 gchar *country; 802 guint8 geographical_coordinate[12]; 803 gchar *astronomical_body_name; 804 805 guint32 n_communications_sets; 806 MXFUUID *communications_sets_uids; 807 MXFDMS1Communications **communications_sets; 808 809 guint32 n_name_value_sets; 810 MXFUUID *name_value_sets_uids; 811 MXFDMS1NameValue **name_value_sets; 812 }; 813 814 struct _MXFDMS1Communications { 815 MXFDMS1 parent; 816 817 gchar central_telephone_number[33]; 818 gchar telephone_number[33]; 819 gchar mobile_telephone_number[33]; 820 gchar fax_number[33]; 821 gchar *email_address; 822 gchar *web_page; 823 }; 824 825 struct _MXFDMS1Contract { 826 MXFDMS1Thesaurus parent; 827 828 gchar supply_contract_number[33]; 829 830 guint32 n_rights_sets; 831 MXFUUID *rights_sets_uids; 832 MXFDMS1Rights **rights_sets; 833 834 guint32 n_participant_sets; 835 MXFUUID *participant_sets_uids; 836 MXFDMS1Participant **participant_sets; 837 }; 838 839 struct _MXFDMS1Rights { 840 MXFDMS1Thesaurus parent; 841 842 gchar *copyright_owner; 843 gchar *rights_holder; 844 gchar *rights_managment_authority; 845 gchar *region_or_area_of_ip_license; 846 gchar *intellectual_property_type; 847 gchar *right_condition; 848 gchar *right_remarks; 849 gchar *intellectual_property_right; 850 MXFTimestamp rights_start_date_and_time; 851 MXFTimestamp rights_stop_date_and_time; 852 guint16 maximum_number_of_usages; 853 }; 854 855 struct _MXFDMS1PictureFormat { 856 MXFDMS1 parent; 857 858 MXFFraction viewport_aspect_ratio; 859 gchar perceived_display_format[33]; 860 gchar *colour_descriptor; 861 }; 862 863 struct _MXFDMS1DeviceParameters { 864 MXFDMS1Thesaurus parent; 865 866 gchar *device_type; 867 gchar device_designation[33]; 868 gchar device_asset_number[33]; 869 guint8 ieee_device_identifier[6]; 870 gchar *manufacturer; 871 gchar *device_model; 872 gchar *device_serial_number; 873 gchar *device_usage_description; 874 875 guint32 n_name_value_sets; 876 MXFUUID *name_value_sets_uids; 877 MXFDMS1NameValue **name_value_sets; 878 }; 879 880 struct _MXFDMS1NameValue { 881 MXFDMS1 parent; 882 883 gchar *item_name; 884 gchar *item_value; 885 886 MXFUUID smpte_universal_label_locator; 887 }; 888 889 struct _MXFDMS1Processing { 890 MXFDMS1 parent; 891 892 gboolean quality_flag; 893 gchar *descriptive_comment; 894 gboolean logo_flag; 895 gchar *graphic_usage_type; 896 guint16 process_steps; 897 guint16 generation_copy_number; 898 guint16 generation_clone_number; 899 }; 900 901 struct _MXFDMS1Project { 902 MXFDMS1 parent; 903 904 gchar project_number[33]; 905 gchar *project_name_or_title; 906 }; 907 908 struct _MXFDMS1ContactsList { 909 MXFDMS1 parent; 910 911 guint32 n_person_sets; 912 MXFUUID *person_sets_uids; 913 MXFDMS1Person **person_sets; 914 915 guint32 n_organisation_sets; 916 MXFUUID *organisation_sets_uids; 917 MXFDMS1Organisation **organisation_sets; 918 919 guint32 n_location_sets; 920 MXFUUID *location_sets_uids; 921 MXFDMS1Location **location_sets; 922 }; 923 924 struct _MXFDMS1CueWords { 925 MXFDMS1TextLanguage parent; 926 927 gchar *in_cue_words; 928 gchar *out_cue_words; 929 }; 930 931 void mxf_dms1_initialize (void); 932 933 #endif /* _MXF_DMS1_H_ */ 934