1 /* 2 * Copyright (c) 2013-2020 Meltytech, LLC 3 * 4 * This program is free software: you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation, either version 3 of the License, or 7 * (at your option) any later version. 8 * 9 * This program 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 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 #ifndef SHOTCUT_MLT_PROPERTIES_H 19 #define SHOTCUT_MLT_PROPERTIES_H 20 21 /* This file contains all of the Shotcut-specific MLT properties. 22 * See also https://www.shotcut.org/notes/mltxml-annotations/ 23 * 24 * A property should be prefaced with an underscore if it will not be saved 25 * in the XML even if it never has a chance of getting into there. This makes 26 * it more clear which is also an XML annotation or purely internal use. 27 */ 28 29 /* MLT XML annotations */ 30 31 #define kShotcutXmlProperty "shotcut" 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 #define kShotcutAnimInProperty "shotcut:animIn" 49 #define kShotcutAnimOutProperty "shotcut:animOut" 50 // Shotcut's VUI (video user interface) components set this so that glwidget can 51 // hide the VUI when the play head is not over the clip with the current filter. 52 #define kShotcutVuiMetaProperty "meta.shotcut.vui" 53 #define kDefaultAudioIndexProperty "shotcut:defaultAudioIndex" 54 #define kOriginalResourceProperty "shotcut:resource" 55 #define kOriginalInProperty "shotcut:originalIn" 56 #define kOriginalOutProperty "shotcut:originalOut" 57 #define kDisableProxyProperty "shotcut:disableProxy" 58 59 /* Project specific properties */ 60 #define kShotcutProjectAudioChannels "shotcut:projectAudioChannels" 61 #define kShotcutProjectFolder "shotcut:projectFolder" 62 63 /* Ideally all shotcut properties should begin with "shotcut:", but these 64 * do not and kept for legacy reasons? */ 65 66 #define kAspectRatioNumerator "shotcut_aspect_num" 67 #define kAspectRatioDenominator "shotcut_aspect_den" 68 #define kShotcutSequenceProperty "shotcut_sequence" 69 70 /* Special object Ids expected by Shotcut and used in XML */ 71 72 #define kBackgroundTrackId "background" 73 #define kLegacyPlaylistTrackId "main bin" 74 #define kPlaylistTrackId "main_bin" 75 76 /* Internal only */ 77 78 #define kAudioLevelsProperty "_shotcut:audio-levels" 79 #define kBackgroundCaptureProperty "_shotcut:bgcapture" 80 #define kPlaylistIndexProperty "_shotcut:playlistIndex" 81 #define kPlaylistStartProperty "_shotcut:playlistStart" 82 #define kFilterInProperty "_shotcut:filter_in" 83 #define kFilterOutProperty "_shotcut:filter_out" 84 #define kThumbnailInProperty "_shotcut:thumbnail-in" 85 #define kThumbnailOutProperty "_shotcut:thumbnail-out" 86 #define kUndoIdProperty "_shotcut:undo_id" 87 #define kUuidProperty "_shotcut:uuid" 88 #define kMultitrackItemProperty "_shotcut:multitrack-item" 89 #define kExportFromProperty "_shotcut:exportFromDefault" 90 #define kIsProxyProperty "shotcut:proxy" 91 92 #define kDefaultMltProfile "atsc_1080p_25" 93 94 #endif // SHOTCUT_MLT_PROPERTIES_H 95