preset file xml format spec

FFGL, OSC, GLSL. If you like abbreviations, this is the forum for you
Post Reply
thatGuy
Posts: 4
Joined: Sun Dec 27, 2015 08:22

preset file xml format spec

Post by thatGuy »

Can I get the full spec of the preset file xml format ? I'd like to create some preset generation tools
thanx

User avatar
Oaktown
Resolume honorary member
Posts: 2837
Joined: Tue May 08, 2012 15:19
Location: Oakland, CA

Re: preset file xml format spec

Post by Oaktown »

Just open the xml file with Excel (or any spreadsheet software)

Here is what it looks like for a small 280x180 LED screen with one slice (note that I formatted the text as code to show you the indentation):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>									
<XmlState name="280x180 LED Preset">									
	<versionInfo name="Resolume Arena" majorVersion="5" minorVersion="0" microVersion="1" revision="56307"/>								
	<ScreenSetup name="ScreenSetup">								
		<Params name="ScreenSetupParams"/>							
		<sizing>							
			<inputs>						
				<InputSize name="3:1" width="280" height="180"/>					
				<InputSize name="0:1" width="5376" height="1024"/>					
			</inputs>						
		</sizing>							
		<screens>							
			<Screen name="280x180 LED" uniqueId="1448728746957">						
				<Params name="Params">					
					<Param name="Name" default="" value="280x180 LED"/>				
					<Param name="Enabled" default="1" value="1"/>				
					<Param name="Hidden" default="0" value="0"/>				
				</Params>					
				<Params name="Output">					
					<ParamRange name="Opacity" default="1" value="1">				
						<ValueRange name="defaultRange" min="0" max="1"/>			
					</ParamRange>				
					<ParamRange name="Brightness" default="0" value="0">				
						<ValueRange name="defaultRange" min="-1" max="1"/>			
					</ParamRange>				
					<ParamRange name="Contrast" default="0" value="0">				
						<ValueRange name="defaultRange" min="-1" max="1"/>			
					</ParamRange>				
					<ParamRange name="Red" default="0" value="0">				
						<ValueRange name="defaultRange" min="-1" max="1"/>			
					</ParamRange>				
					<ParamRange name="Green" default="0" value="0">				
						<ValueRange name="defaultRange" min="-1" max="1"/>			
					</ParamRange>				
					<ParamRange name="Blue" default="0" value="0">				
						<ValueRange name="defaultRange" min="-1" max="1"/>			
					</ParamRange>				
				</Params>					
				<layers>					
					<Slice uniqueId="1448728746958">				
						<Params name="Common">			
							<Param name="Name" default="Layer" value="Slice 1"/>		
							<Param name="Enabled" default="1" value="1"/>		
						</Params>			
						<Params name="Input">			
							<ParamChoice name="Input Source" default="0:1" value="0:1" storeChoices="0"/>		
							<Param name="Input Opacity" default="1" value="1"/>		
							<Param name="Input Bypass/Solo" default="1" value="1"/>		
							<Param name="SoftEdgeEnable" default="0" value="0"/>		
						</Params>			
						<Params name="Output">			
							<Param name="Flip" default="0" value="0"/>		
							<ParamRange name="Brightness" default="0" value="0">		
								<ValueRange name="defaultRange" min="-1" max="1"/>	
							</ParamRange>		
							<ParamRange name="Contrast" default="0" value="0">		
								<ValueRange name="defaultRange" min="-1" max="1"/>	
							</ParamRange>		
							<ParamRange name="Red" default="0" value="0">		
								<ValueRange name="defaultRange" min="-1" max="1"/>	
							</ParamRange>		
							<ParamRange name="Green" default="0" value="0">		
								<ValueRange name="defaultRange" min="-1" max="1"/>	
							</ParamRange>		
							<ParamRange name="Blue" default="0" value="0">		
								<ValueRange name="defaultRange" min="-1" max="1"/>	
							</ParamRange>		
							<Param name="Is Key" default="0" value="0"/>		
							<Param name="Black BG" default="0" value="0"/>		
							<ParamRange name="BRed" default="0" value="0">		
								<ValueRange name="defaultRange" min="0" max="0.4000000000000000222"/>	
							</ParamRange>		
							<ParamRange name="BGreen" default="0" value="0">		
								<ValueRange name="defaultRange" min="0" max="0.4000000000000000222"/>	
							</ParamRange>		
							<ParamRange name="BBlue" default="0" value="0">		
								<ValueRange name="defaultRange" min="0" max="0.4000000000000000222"/>	
							</ParamRange>		
						</Params>			
						<InputRect orientation="0">			
							<v x="0" y="0"/>		
							<v x="280" y="0"/>		
							<v x="280" y="180"/>		
							<v x="0" y="180"/>		
						</InputRect>			
						<OutputRect orientation="0">			
							<v x="-320" y="-620"/>		
							<v x="880" y="-620"/>		
							<v x="880" y="980"/>		
							<v x="-320" y="980"/>		
						</OutputRect>			
						<Warper>			
							<Params name="Warper">		
								<ParamChoice name="Point Mode" default="PM_LINEAR" value="PM_LINEAR" storeChoices="0"/>	
							</Params>		
							<BezierWarper controlWidth="4" controlHeight="4">		
								<vertices>	
									<v x="-320" y="-620"/>
									<v x="80" y="-620"/>
									<v x="480" y="-620"/>
									<v x="880" y="-620"/>
									<v x="-320" y="-86.6666259765625"/>
									<v x="80" y="-86.6666259765625"/>
									<v x="480" y="-86.6666259765625"/>
									<v x="880" y="-86.6666259765625"/>
									<v x="-320" y="446.6666259765625"/>
									<v x="80" y="446.6666259765625"/>
									<v x="480" y="446.6666259765625"/>
									<v x="880" y="446.6666259765625"/>
									<v x="-320" y="980"/>
									<v x="80" y="980"/>
									<v x="480" y="980"/>
									<v x="880" y="980"/>
								</vertices>	
							</BezierWarper>		
							<Homography>		
								<src>	
									<v x="-320" y="-620"/>
									<v x="880" y="-620"/>
									<v x="880" y="980"/>
									<v x="-320" y="980"/>
								</src>	
								<dst>	
									<v x="-320" y="-620"/>
									<v x="880" y="-620"/>
									<v x="880" y="980"/>
									<v x="-320" y="980"/>
								</dst>	
							</Homography>		
						</Warper>			
					</Slice>				
				</layers>					
				<OutputDevice>					
					<OutputDeviceVirtual name="Virtual" deviceId="Virtual" idHash="0" width="280" height="180">				
						<Params name="Params">			
							<ParamRange name="Width" default="800" value="280">		
								<ValueRange name="defaultRange" min="1" max="16384"/>	
							</ParamRange>		
							<ParamRange name="Height" default="600" value="180">		
								<ValueRange name="defaultRange" min="1" max="16384"/>	
							</ParamRange>		
						</Params>			
					</OutputDeviceVirtual>				
				</OutputDevice>					
			</Screen>						
		</screens>							
		<SoftEdging>							
			<Params name="Soft Edge">						
				<ParamRange name="Gamma Red" default="2" value="2">					
					<ValueRange name="defaultRange" min="1" max="3"/>				
				</ParamRange>					
				<ParamRange name="Gamma Green" default="2" value="2">					
					<ValueRange name="defaultRange" min="1" max="3"/>				
				</ParamRange>					
				<ParamRange name="Gamma Blue" default="2" value="2">					
					<ValueRange name="defaultRange" min="1" max="3"/>				
				</ParamRange>					
				<ParamRange name="Gamma" default="1" value="1">					
					<ValueRange name="defaultRange" min="0" max="1"/>				
				</ParamRange>					
				<ParamRange name="Luminance" default="0.5" value="0.5">					
					<ValueRange name="defaultRange" min="0" max="1"/>				
				</ParamRange>					
				<ParamRange name="Power" default="2" value="2">					
					<ValueRange name="defaultRange" min="0.10000000000000000555" max="7"/>				
				</ParamRange>					
			</Params>						
		</SoftEdging>							
	</ScreenSetup>								
</XmlState>

thatGuy
Posts: 4
Joined: Sun Dec 27, 2015 08:22

Re: preset file xml format spec

Post by thatGuy »

I had a look inside and most things are self explanatory, I was wondering however if there is a document that has the full spec listing all nodes/attributes as some stuff might be missing from a specific set up.

Joris
Posts: 5186
Joined: Fri May 22, 2009 11:38

Re: preset file xml format spec

Post by Joris »

There is no official listing.

Although it's accessible, the setup xml is primarily for internal use. We'll occasionally add, remove or change features in the Screensetup. So we can't guarantee that the structure stays valid between updates, which is something we'd need to commit to, if we were to officially open it up.

So hacking the xml like that is not officially supported. It's still a lot of fun to mess around with and we'll be happy to answer your questions about it.

Post Reply