CuteLogger
Fast and simple logging solution for Qt based applications
shotcut_mlt_properties.h
1 /*
2  * Copyright (c) 2013-2017 Meltytech, LLC
3  * Author: Dan Dennedy <dan@dennedy.org>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef SHOTCUT_MLT_PROPERTIES_H
20 #define SHOTCUT_MLT_PROPERTIES_H
21 
22 /* This file contains all of the Shotcut-specific MLT properties.
23  * See also https://www.shotcut.org/notes/mltxml-annotations/
24  *
25  * A property should be prefaced with an underscore if it will not be saved
26  * in the XML even if it never has a chance of getting into there. This makes
27  * it more clear which is also an XML annotation or purely internal use.
28  */
29 
30 /* MLT XML annotations */
31 
32 #define kAudioTrackProperty "shotcut:audio"
33 #define kCommentProperty "shotcut:comment"
34 #define kShotcutFilterProperty "shotcut:filter"
35 #define kShotcutPlaylistProperty "shotcut:playlist"
36 #define kShotcutTransitionProperty "shotcut:transition"
37 #define kShotcutProducerProperty "shotcut:producer"
38 #define kShotcutVirtualClip "shotcut:virtual"
39 #define kTimelineScaleProperty "shotcut:scaleFactor"
40 #define kTrackHeightProperty "shotcut:trackHeight"
41 #define kTrackNameProperty "shotcut:name"
42 #define kTrackLockProperty "shotcut:lock"
43 #define kVideoTrackProperty "shotcut:video"
44 #define kShotcutCaptionProperty "shotcut:caption"
45 #define kShotcutDetailProperty "shotcut:detail"
46 #define kShotcutHashProperty "shotcut:hash"
47 #define kShotcutSkipConvertProperty "shotcut:skipConvert"
48 
49 /* Ideally all shotcut properties should begin with "shotcut:", but these
50  * do not and kept for legacy reasons? */
51 
52 #define kAspectRatioNumerator "shotcut_aspect_num"
53 #define kAspectRatioDenominator "shotcut_aspect_den"
54 #define kShotcutResourceProperty "shotcut_resource"
55 #define kShotcutSequenceProperty "shotcut_sequence"
56 
57 /* Special object Ids expected by Shotcut and used in XML */
58 
59 #define kBackgroundTrackId "background"
60 #define kPlaylistTrackId "main bin"
61 
62 /* Internal only */
63 
64 #define kAudioLevelsProperty "_shotcut:audio-levels"
65 #define kBackgroundCaptureProperty "_shotcut:bgcapture"
66 #define kPlaylistIndexProperty "_shotcut:playlistIndex"
67 #define kFilterInProperty "_shotcut:filter_in"
68 #define kFilterOutProperty "_shotcut:filter_out"
69 #define kThumbnailInProperty "_shotcut:thumbnail-in"
70 #define kThumbnailOutProperty "_shotcut:thumbnail-out"
71 #define kUndoIdProperty "_shotcut:undo_id"
72 #define kUuidProperty "_shotcut:uuid"
73 #define kMultitrackItemProperty "_shotcut:multitrack-item"
74 
75 #endif // SHOTCUT_MLT_PROPERTIES_H