There are different Metadata Types:
Selection: drop-down box, containing several, user-definable <item> elements.
Text: text field.
Checkbox: checkbox, can either be off ("0") or on ("1").
Date: Date selection via a text input field or a “DatePicker”.
Time: Time selection via a text input field.
DateTime: “DateTime” selection via text field or “DateTimePicker”.
All of these elements can be used as often as you want and in any possible order and combination.
Overview
All metadata elements follow the same XML structure. Each element starts with the following XML element:
<control></control>
This element can only have one attribute ("resetAfterRecord"), which resets the Metadata Field's value after each Recording (“0”, means the value stays as it is. “1” will reset the value):
<control resetAfterRecord="1"></control>
Within this <control> element, you have to define the “name”, “label”, “currentValue”, and “type”:
<control resetAfterRecord="0"> <name>quality</name> #use this name to address the value of this element within the ExportXML <label>Quality</label> #this name will be used to tag the element within the just:in interface (inspector) <currentValue>Medium</currentValue> #sets the default value for this element <type class="Selection"> #defines the control type (selection, text, checkbox, etc.) <item>Low</item> <item>Medium</item> <item>High</item> </type> </control>
Selection Box
The “Selection Box” element can be used if the operator should choose from a predefined set of options:
<control resetAfterRecord="0"> <name>quality</name> <label>Quality</label> <currentValue>Medium</currentValue> <type class="Selection"> <item>Low</item> <item>Medium</item> <item>High</item> </type> </control>
Text Box
The “Text Box” element can be used for any element, which should contain text only:
<control resetAfterRecord="0"> <name>customText</name> <label>Custom Text</label> <currentValue>Insert your text here</currentValue> <type class="Text" default="Insert your text here"></type> </control>
Checkbox
The “Checkbox” is for any elements, that can only have two states:
<control resetAfterRecord="0"> <name>special</name> <label>Special</label> <currentValue>0</currentValue> <type class="Checkbox"> </type> </control>
Date
This element lets you choose a “Date”:
<control resetAfterRecord="0"> <name>date</name> <label>Date</label> <currentValue></currentValue> <type class="Date" default=""/> </control>
Time
This element lets you choose a specific “Time”:
<control resetAfterRecord="0"> <name>time</name> <label>Time</label> <currentValue></currentValue> <type class="Time" default=""/> </control>
DateTime
With this element, a specific “Date” and “Time” can be defined.
<control resetAfterRecord="0"> <name>datetime</name> <label>DateTime</label> <currentValue></currentValue> <type class="DateTime" default=""/> </control>
Date/Time/DateTime Format (REWRITE AND NEW SCREENS)
Changing the format of these metadata elements is straightforward. To simplify this task even more, we use the default system settings. To change it, open the custom format settings for “Dates” and “Times”, please proceed as follows:
First, open the macOS System Settings, click on “General” and select “Language & Region”
Switch to the “Advanced” Settings (OBSOLETE)
Change “Dates” and/or “Times” Format Settings here ("Full:")(OBSOLETE)
StartUpXML Example
Please note that the “StartUpXML” file structure must follow the rules mentioned above; otherwise, the Metadata Sets will not work correctly and can lead to unexpected results.
<metadataSet> <name>Example</name> <extension>xml</extension> <control resetAfterRecord="0"> <name>quality</name> <label>Quality</label> <currentValue>Medium</currentValue> <type class="Selection" default="2"> <item>Low</item> <item>Medium</item> <item>High</item> </type> </control> <control resetAfterRecord="0"> <name>customText</name> <label>Custom Text</label> <currentValue>Insert your text here</currentValue> <type class="Text" default="Insert your text here"></type> </control> <control resetAfterRecord="0"> <name>Just_In_Custom_Date</name> <label>Custom Date</label> <currentValue>YYYY.MMM.dd</currentValue> <type class="Text" default="YYYY.MMM.dd"></type> </control> <control resetAfterRecord="0"> <name>special</name> <label>Special</label> <currentValue>0</currentValue> <type class="Checkbox" default="0"> </type> </control> <control resetAfterRecord="0"> <name>date</name> <label>Date</label> <currentValue></currentValue> <type class="Date" default=""/> </control> <control resetAfterRecord="0"> <name>time</name> <label>Time</label> <currentValue></currentValue> <type class="Time" default=""/> </control> <control resetAfterRecord="0"> <name>datetime</name> <label>DateTime</label> <currentValue></currentValue> <type class="DateTime" default=""/> </control> </metadataSet>
ExportXML Example
The “ExportXML” file can have any possible structure. As mentioned above, the variables defined in the “StartUpXML” can be addressed as shown below.
<?xml version="1.0" encoding="UTF-8" ?> <file name="%Just_In_Clipname" path="%Just_In_Full_Clipname" duration="%Just_In_Capture_Duration" inpoint="%Just_In_Capture_Inpoint" outpoint="%Just_In_Capture_Outpoint" date="%Just_In_Custom_Date"> <quality>%quality</quality> <text>%customText</text> <special>%special</special> <special>%date</special> <special>%time</special> <special>%datetime</special> <container>%Just_In_Container</container> <timecodeSource>%Just_In_Timecode_Source</timecodeSource> <framerate>%Just_In_Framerate</framerate> <aspectRatio>%Just_In_Aspect_Ratio</aspectRatio> <codec>%Just_In_Capture_Codec</codec> <audioChannels>%Just_In_Audio_Channels</audioChannels> <resolution>%Just_In_Capture_Resolution</resolution> <width>%Just_In_Capture_Width</width> <height>%Just_In_Capture_Height</height> </file>