• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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