Spark API - Switcher

BitFire Spark API - SWITCHER
CommandActionDescriptionExamples
R [SOURCE] Set PVW Bus to specified [SOURCE] R 1 - Set PVW to Input 1
R 2 - Set PVW to Input 2
T Take Cut Between PVW and PGM T
T [SOURCE] Hot Take to specified [SOURCE] Cut to INPUT on PGM directly without affecting PVW SOURCE is either the number of an input, or me1, me2, or me3 T 1 - Take IN 1
T 2 - Take IN 2
T me1 - Take ME 1
T me2 - Take ME 2
D Auto-Trans Dissolve / Wipe between PVW and PGM D
D [SOURCE] Dissolve to specified [SOURCE] Dissolve directly to SOURCE
SOURCE is either the number of an input, or me1, me2, or me3.
D 1 - Dissolve to IN 1
D 2 - Dissolve to IN 2
D me1 - Dissolve to M/E 1
D me2 - Dissolve to M/E 2
D_MAN [POS] Manually Dissolve between P/P POS is a number between 0 and 255 indicating how far along the transition is.
1 begins the dissolve.
255 completes the dissolve and swaps PVW and PGM.
D_MAN 1 - Begin dissolve; Fade 1/255 %
D_MAN 127 - 50% dissolve
D_MAN 255 - Finish dissolve. Swap PVW/PGM
K [KEY] Dissolve KEY Dissolve and Toggle Key on/off. K 1 - Dissolve and toggle Key 1.
K 2 - Dissolve and toggle Key 2.
K [KEY] [STATE] Dissolve KEY on/off based on STATE STATE is either 1 for on, or 0 for off.
If a Key is already on/off, nothing happens.
K 1 0 - Dissolve Key 1 OFF
K 1 1 - Dissolve Key 1 ON
K 2 0 - Dissolve Key 2 ON
K 2 1 - Dissolve Key 2 OFF
KT [KEY] Cut Key Toggle and cut Key on/off. K 1 0 - Cut Key 1 OFF
K 1 1 - Cut Key 1 ON
K 2 0 - Cut Key 2 ON
K 2 1 - Cut Key 2 OFF
KT [KEY] [STATE] Cut Key on/off based on STATE Cut Key on/off based on STATE.
STATE is either 1 for on, or 0 for off.
If a Key is already on/off, nothing happens.
KT 1 0 - Cut Key 1 off.
KT 1 1 - Cut Key 1 on.
KT 2 0 - Cut Key 2 off.
KT 2 1 - Cut Key 2 on.
X [ITEM] Toggle ITEM on T-Bus If ITEM is enabled, the next take/dissolve will toggle ITEM.
ITEM is either a Key between 1 and 8, or 0 for background (PVW).
X 0 - Toggle BKGD on the T-Bus
X 1 - Toggle Key 1 on the T-Bus
X 2 - Toggle Key 2 on the T-Bus
X [ITEM] [STATE] Set ITEM on T-Bus
will toggle ITEM.
or 0 for background (PVW).
If ITEM is enabled, the next take/dissolve ITEM is either a Key between 1 and 8, STATE is either 1 for on, or 0 for off. X 0 0 - Disable BKGD on the T-Bus.
X 1 0 - Disable Key 1 on the T-Bus.
X 2 0 - Disable Key 2 on the T-Bus.

X 0 1 - Enable BKGD on the T-Bus.
X 1 1 - Enable Key 1 on the T-Bus.
X 2 1 - Enable Key 2 on the T-Bus.
X_ONLY [ITEM] Set ITEM to be only thing enabled on T-Bus
ITEM is enabled.

All items except for ITEM is disabled. ITEM is either a Key between 1 and 8, or 0 for background (PVW). X 0 - Disable all Keys and enable BKGD.
X 1 - Disable all Keys except KEY 1 and
disable BKGD.
X 2 - Disable all Keys except KEY 2 and
disable BKGD.
X_DUR [FRAMES] Set the duration of dissolve / wipe. FRAMES is the duration of the dissolve / wipe in frames.
Frame numbers are at the framerate of the switcher.
X_DUR 30 - Set transition duration to 30 frames
500ms at 59.94.
X_DUR 60 - Set transition duration to 60 frames
1 second at 59.94.
FTB Toggle fade to black. Toggle Fade to black
FTB
FTB [STATE] Fade or un-fade a M/E to black depending on STATE STATE is either 1 for fade, or 0 for un-fade. No state given will toggle. Fade to black
FTB 1

Unfade to black
FTB 0
K_SRC [KEY] [SOURCE] Set Key to use SOURCE Key is a number between 1 and 8.
SOURCE is either the number of an input, or me1, me2, or me3..
K_SRC 1 1 - Set Key 1 to use input 1.
K_SRC 1 2 - Set Key 1 to use input 2.
K_SRC 2 1 - Set Key 2 to use input 1.
K_SRC 2 me3 - Set Key 2 to use M/E 3.
K_SCALE [KEY] [PCT] Scale Key to PCT Key is a number between 1 and 8.
PCT is a number representing the percent scale of this Key. 100 is normal.
PCT must be at least 10%.
K_SCALE 1 100 - Set Key 1 scale to 100%
K_SCALE 1 200 - Set Key 1 scale to 200%
K_SCALE 1 50 - Set Key 1 scale to 50%

K_SCALE 2 100 - Set Key 1 scale to 100%
K_SCALE 2 200 - Set Key 1 scale to 200%
K_SCALE 2 50 - Set Key 1 scale to 50%
K_SCALEREL [KEY] [PCT] Add PCT to the existing scale of Key Key is a number between 1 and 8.
PCT will be added to the current scale for this Key.
PCT must be at least 10%.
Set Key 1 scale to 110%
K_SCALE 1 100
K_SCALE_REL 1 10

Set Key 1 scale to 90%
K_SCALE 1 100
K_SCALE_REL 1 -10
K_POS [KEY] [X] [Y] Position Key at X, Y pixels Key is a number between 1 and 8.
X, Y is the X/Y coordinate of the Key in px.
K_POS 1 50 60 - Set Key 1 to 50 px offset
from the left edge of the screen and 50px offset from the top of the screen.
K_POS_SINGLE [KEY] [X|Y] [VALUE] Set position of Key at X or Y. Key is a number between 1 and 8.
X|Y is either the letter X or the letter Y to move the X or Y position respectively.
VALUE is the pixel position to move the Key too.
K_POS_SINGLE 1 X 50 - Set X position of Key 1 to 50. Keep Y unchanged.
K_POS_SINGLE 2 Y 75 - Set X position of Key 1 to 75. Keep Y unchanged.
K_POSREL [KEY] [X] [Y] Slide Key by X, Y pixels. Key is a number between 1 and 8.
X, Y is the X/Y coordinates to offset the current position of Key by.
Set Key 1 position to 110px, 110px
K_POS 1 100 100
K_POSREL 1 10 10

Set Key 1 position to 90px, 90px
K_POS 1 100 100
K_POSREL 1 -10 -10
K_POSREL_SINGLE [KEY] [X|Y] [VALUE] Slide position of Key by X or Y pixels. Key is a number between 1 and 8.
X|Y is either the letter X or the letter Y to move the X or Y position respectively.
VALUE is the number of pixels to move the Key by.
K_POSREL_SINGLE 1 X 50 - Slide X position of Key 1 by 50 pixels. Keep Y unchanged.
K_POSREL_SINGLE 2 Y 75 - Slide Y position of Key 2 by 75 pixels. Keep X unchanged.
K_CROP [KEY] [L] [R] [T] [B] Set the crop of Key on each side to L, R, T, and B percent. Key is a number between 1 and 8.
L is the percent to crop the left side of the Key by.
R is the percent to crop the right side of the Key by.
T is the percent to crop the top side of the Key by.
B is the percent to crop the bottom side of the Key by.
Crop Key 1 by 10% on the left side, 20%
off the top, 30% off the right side, 40% off
the bottom.
K_CROP 1 10 20 30 40
K_CROP_SINGLE [KEY] [TOP|LEFT|RIGHT|BOTTOM] [VALUE] Set the crop of Key on one side to L, R, T, and B percent. Key is a number between 1 and 8.
TOP|LEFT|RIGHT|BOTTOM is to which Key VALUEue to change.
VALUE is the amount to adjust the crop by
Crop the top, left, bottom, and right sides of Key 1 by 1%.
K_CROP_SINGLE 1 TOP 10
K_CROP_SINGLE 1 LEFT 10
K_CROP_SINGLE 1 RIGHT 10
K_CROP_SINGLE 1 BOTTOM 10
K_CROPREL [KEY] [L VALUE] [R VALUE] [T VALUE] [B VALUE] Adjust the existing crop of Key on each side by L, R, T, and B percent. Key is a number between 1 and 8.
L is the percent to crop the left side of the Key by.
R is the percent to crop the right side of the Key by.
T is the percent to crop the top side of the Key by.
B is the percent to crop the bottom side of the Key by.
Crop Key 1 by 15% on the left side, 25%
off the top, 35% off the right side, 45% off
the bottom.
K_CROP 1 10 20 30 40
K_CROPREL 1 5 5 5 5

Crop Key 1 by 5% on the left side, 15%
off the top, 25% off the right side, 35% off
the bottom.
K_CROP 1 10 20 30 40
K_CROPREL 1 -5 -5 -5 -5
K_CROPREL_SINGLE [KEY] [TOP|LEFT|RIGHT|BOTTOM] [VALUE] Adjust the crop of Key on one side by VALUE percent. Key is a number between 1 and 8.
TOP|LEFT|RIGHT|BOTTOM is to which Key value to change.
VALUE is the amount to adjust the crop by.
Adjust the crop of the top, left, bottom, and right sides by 10 pixels.
K_CROPREL_SINGLE 1 TOP 10
K_CROPREL_SINGLE 1 LEFT 10
K_CROPREL_SINGLE 1 RIGHT 10
K_CROPREL_SINGLE 1 BOTTOM 10
ALWAYS_TALLY Toggle if a M/E is always hot. Toggle the always hot state on M/E 1.
ME 1 ALWAYS_TALLY
ALWAYS_TALLY [STATE] Mark a M/E to be always hot. STATE is either 1 for always hot, or 0 for not always hot. Mark M/E 1 to be always hot
ME 1 ALWAYS_TALLY 1
Mark M/E 1 to be not always hot
ME 1 ALWAYS_TALLY 0
OUT_SET [ID] [SOURCE] Change the source of a Video Output ID to SOURCE. SOURCE a valid video source (M/E or input)
ID an id matching an output section of the switcher config file
Change the source of Output 2 to M/E 1 PGM
OUT_SET 2 999003

Change the source of Output 1 to IN 2
OUT_SET 1 2
ME [NUM] [COMMAND…] Run COMMAND on M/E NUM. NUM is the number of the M/E between 0 and the number of enabled M/E’s. 0 is P/P.
COMMAND may be any Basic switcher or Key property command:
T, D, D_MAN, R, K, KT, X, X_ONLY, X_DUR, K_SRC, K_SCALE, K_SCALEREL, K_POS, K_POS_SINGLE, K_POSREL, K_POSREL_SINGLE, K_CROP, K_CROPREL, K_CROPREL_SINGLE, F
ME 1 T 2 - Take input 2 on M/E 1.
ME 2 D 3 - Dissolve to input 3 on M/E 2.
ME 3 K_POS 1 50 50 - On M/E 3, set Key 1 position to 50px, 50px.

ME 1 T me2 - Take M/E 2 on M/E 1.
SMEM [ME] [NUMBER] Store the state of ME in E-MEM NUMBER. ME is any M/E, or 0 for P/P.
NUMBER is the number of the E-MEM for future recalls. The number may not exceed 10,000.
Memories are stored in a store that is shared across all M/E’s; E-MEM numbers are not specific to one M/E.
Save M/E 1 to E-MEM 2.
SMEM 1 2
RMEM [ME] [NUMBER] Recall previously stored E-MEM NUMBER to ME. ME is any M/E, or 0 for P/P.
NUMBER is the number for the E-MEM stored by a previous call to SMEM. NUMBER may not exceed 10,000.
PVW, PGM, the T-bus, and all Keys will be recalled.
Recall E-MEM 2 to M/E 1.
RMEM 1 2
RMEM [ME] [NUMBER] [ITEMS…] Recall previously stored E-MEM NUMBER to ME only recall what is specified by ITEMS.
ME is any M/E, or 0 for P/P.
NUMBER is the number for the E-MEM stored by a previous call to SMEM. The number may not exceed 10,000.
ITEMS is a comma separated list of the following:
PVW, PGM, T, KEY1,KEY2,…,KEY8
T is the transition bus.
Recall only PVW and PGM of E-MEM 2 to M/E 1.
RMEM 1 2 PVW,PGM

Recall the first four Keys of E-MEM 2 to M/E 1.
RMEM 1 2 KEY1,KEY2,KEY3,KEY4
SQUEEZE [ME] [NUMBER] [optional DUR] Perform a squeeze back / animation into the target memory. ME is any M/E, or 0 for P/P.
NUMBER is the number of the E-MEM stored previously with SMEM. The number may not exceed 10,000.
DUR is the duration in frames to perform the transition in. If no duration is given the default duration is used.
On M/E 1, recall memory 10 and squeeze / animate to the new state over 60 frames.
SQUEEZE 1 10 60
[ME] SQUEEZE_DUR [DUR] Change the default DUR for a squeeze back / animation on ME. ME is any M/E, or 0 for P/P.
DUR is the duration in frames to perform the transition in. The default duration is 60 frames.
Change the default squeeze duration to 30 frames
SQUEEZE_DUR 30

Use Cases

Download PDF Guide