Summary
The Hive Beeblade is a media player/server that supports real-time control of layer playback parameters, effects, and playlist operations via UDP messages sent to port 8083. Commands use the localSVPatch API to set double values, strings, and JSON objects. The device also supports reading current parameter values back over the same UDP interface.
Transport
protocols:
- udp
addressing:
port: 8083
auth:
type: none # inferred: no auth procedure in source
Traits
- levelable # inferred: volume, intensity, play speed, color channels all adjustable
- queryable # inferred: GetPatchDouble/GetPatchString/GetPatchJSON read commands present
Actions
# All commands are UDP strings sent to port 8083.
# Layer parameters use the path pattern "/LAYER N/..." - source only documents LAYER 1.
# "X" denotes a numeric value substituted into the command string.
- id: layer_file_select
label: File Select
kind: action
description: Selects current media file on the layer
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FILE SELECT/Value", X)'
params:
- name: file_index
type: integer
min: 0
max: 255
- id: layer_folder_select
label: Folder Select
kind: action
description: Selects current media folder on the layer
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FOLDER SELECT/Value", X)'
params:
- name: folder_index
type: integer
min: 0
max: 255
- id: layer_in_frame
label: In Frame
kind: action
description: Frame number from which media playback should start
command: 'localSVPatch.SetPatchDouble("/LAYER 1/IN FRAME/Value", X)'
params:
- name: frame
type: integer
min: 0
max: 4294967295
- id: layer_out_frame
label: Out Frame
kind: action
description: Frame number at which media playback should end or loop
command: 'localSVPatch.SetPatchDouble("/LAYER 1/OUT FRAME/Value", X)'
params:
- name: frame
type: integer
min: 0
max: 4294967295
- id: layer_play_mode
label: Play Mode
kind: action
description: How the media should play
command: 'localSVPatch.SetPatchDouble("/LAYER 1/PLAY MODE/Value", X)'
params:
- name: mode
type: enum
values:
- id: 0
label: In Frame
- id: 1
label: Out Frame
- id: 2
label: Loop Forward
- id: 3
label: Loop Reverse
- id: 4
label: Play Once Forward
- id: 5
label: Play Once Reverse
- id: 6
label: Stop
- id: 7
label: Pause
- id: 8
label: Bounce (Ping-Pong)
- id: 9
label: Take Over Frame
- id: 10
label: Loop Forward with pause on zero intensity
- id: 11
label: Loop Reverse with pause on zero intensity
- id: 12
label: Play Once Forward with pause on zero intensity
- id: 13
label: Play Once Reverse with pause on zero intensity
- id: 15
label: Bounce (Ping-Pong) with pause on zero intensity
- id: 20
label: Synchronise to Timecode
- id: 40
label: Loop Forward with re-trigger on intensity
- id: 41
label: Loop Reverse with re-trigger on intensity
- id: layer_play_speed
label: Play Speed
kind: action
description: Play speed of media (0.5 = 100%)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/PLAY SPEED/Value", X)'
params:
- name: speed
type: number
min: 0.0
max: 1.0
description: "0.0=Stop, 0.001-0.499=Slower, 0.5=100%, 0.501-1.0=Faster (up to 10x)"
- id: layer_scale
label: Scale
kind: action
description: Zoom into or out of the media (0.5 = 100%)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/SCALE/Value", X)'
params:
- name: scale
type: number
min: 0.0
max: 1.0
- id: layer_framing_mode
label: Framing Mode
kind: action
description: How media should fit into output rectangle
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FRAMING MODE/Value", X)'
params:
- name: mode
type: enum
values:
- id: 0
label: Letterbox
- id: 1
label: Crop
- id: 2
label: Stretch
- id: 3
label: Multi Letterbox
- id: 4
label: Centered
- id: layer_aspect_ratio
label: Aspect Ratio
kind: action
description: Horizontal and vertical adjustment of media shape
command: 'localSVPatch.SetPatchDouble("/LAYER 1/ASPECT RATIO/Value", X)'
params:
- name: ratio
type: number
min: 0.0
max: 1.0
description: "0.0=No Adjustment, 0-0.4999=Horizontal Squeeze, 0.5=Center, 0.501-1.0=Vertical Squeeze"
- id: layer_position_x
label: Position X
kind: action
description: Horizontal position of media (0.5 = center)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/POSITION X/Value", X)'
params:
- name: x
type: number
min: 0.0
max: 1.0
description: "0.0-0.4999=Left, 0.5=Center, 0.5001-1.0=Right"
- id: layer_position_y
label: Position Y
kind: action
description: Vertical position of media (0.5 = center)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/POSITION Y/Value", X)'
params:
- name: y
type: number
min: 0.0
max: 1.0
description: "0.0-0.4999=Above, 0.5=Center, 0.5001-1.0=Below"
- id: layer_rotation_x
label: Rotation X
kind: action
description: Rotate media around the horizontal axis
command: 'localSVPatch.SetPatchDouble("/LAYER 1/ROTATION X/Value", X)'
params:
- name: rotation
type: number
min: 0.0
max: 1.0
description: "0.0-0.25=Auto Rotate CCW, 0.25-0.4999=Manual CCW, 0.5=No Rotation, 0.5001-0.75=Manual CW, 0.75-1.0=Auto Rotate CW"
- id: layer_rotation_y
label: Rotation Y
kind: action
description: Rotate media around the vertical axis
command: 'localSVPatch.SetPatchDouble("/LAYER 1/ROTATION Y/Value", X)'
params:
- name: rotation
type: number
min: 0.0
max: 1.0
- id: layer_rotation_z
label: Rotation Z
kind: action
description: Rotate media around the Z axis
command: 'localSVPatch.SetPatchDouble("/LAYER 1/ROTATION Z/Value", X)'
params:
- name: rotation
type: number
min: 0.0
max: 1.0
- id: layer_blend_mode
label: Blend Mode
kind: action
description: How this layer blends with layers below
command: 'localSVPatch.SetPatchDouble("/LAYER 1/BLEND MODE/Value", X)'
params:
- name: mode
type: enum
values:
- id: 0
label: ALPHA
- id: 1
label: ADDITIVE
- id: 2
label: MULTIPLY
- id: 3
label: DIFFERENCE
- id: 4
label: SCREEN
- id: 5
label: PRESERVE LUMA
- id: 6
label: RECTANGLE WIPE
- id: 7
label: TRIANGLE WIPE
- id: 8
label: MINIMUM
- id: 9
label: MAXIMUM
- id: 10
label: SUBTRACT
- id: 11
label: DARKEN
- id: 12
label: LIGHTEN
- id: 13
label: SOFT LIGHTEN
- id: 14
label: DARK LIGHTEN
- id: 15
label: EXCLUSION
- id: 16
label: RANDOM
- id: 17
label: RIPPLE
- id: 18
label: THRESHOLD
- id: 19
label: SINE
- id: 20
label: INVERT MASK
- id: 21
label: NOISE
- id: 22
label: SWIRL
- id: 23
label: GRADIENT
- id: 24
label: PIXEL SORT
- id: 25
label: CHECKERBOARD
- id: 26
label: PULSE
- id: 27
label: HUE SHIFT
- id: 28
label: FRACTAL
- id: 29
label: WAVEFORM
- id: 30
label: RGB SPLIT
- id: 31
label: GLITCH
- id: layer_intensity
label: Intensity
kind: action
description: Media intensity / opacity
command: 'localSVPatch.SetPatchDouble("/LAYER 1/INTENSITY/Value", X)'
params:
- name: intensity
type: number
min: 0.0
max: 1.0
- id: layer_red
label: Red Channel
kind: action
description: Red channel adjustment (0.5 = 100%)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/RED/Value", X)'
params:
- name: red
type: number
min: 0.0
max: 1.0
- id: layer_green
label: Green Channel
kind: action
description: Green channel adjustment (0.5 = 100%)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/GREEN/Value", X)'
params:
- name: green
type: number
min: 0.0
max: 1.0
- id: layer_blue
label: Blue Channel
kind: action
description: Blue channel adjustment (0.5 = 100%)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/BLUE/Value", X)'
params:
- name: blue
type: number
min: 0.0
max: 1.0
- id: layer_hue
label: Hue
kind: action
description: Hue adjustment (0.0-1.0 maps to 0-360 degrees)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/HUE/Value", X)'
params:
- name: hue
type: number
min: 0.0
max: 1.0
- id: layer_saturation
label: Saturation
kind: action
description: Saturation adjustment (0.5 = unadjusted)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/SATURATION/Value", X)'
params:
- name: saturation
type: number
min: 0.0
max: 1.0
description: "0.0-0.4999=Desaturate, 0.5=Unadjusted, 0.5001-1.0=Over-saturate"
- id: layer_contrast
label: Contrast
kind: action
description: Contrast adjustment (0.5 = unadjusted)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/CONTRAST/Value", X)'
params:
- name: contrast
type: number
min: 0.0
max: 1.0
description: "0.0-0.4999=0-100%, 0.5=Unadjusted, 0.5001-1.0=100-200%"
- id: layer_lut
label: LUT Select
kind: action
description: Select LUT from LUTS folder
command: 'localSVPatch.SetPatchDouble("/LAYER 1/LUT/Value", X)'
params:
- name: lut_index
type: integer
min: 0
max: 32767
- id: layer_strobe
label: Strobe
kind: action
description: Strobe media effect
command: 'localSVPatch.SetPatchDouble("/LAYER 1/STROBE/Value", X)'
params:
- name: strobe
type: number
min: 0.0
max: 1.0
description: "0.0-0.5=On/Off Strobe slow-fast, 0.5-1.0=Punch Strobe slow-fast"
- id: layer_tc_hour
label: TC Hour
kind: action
description: Timecode trigger point hour (active when TC Offsets set to Layer Param)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/MTC HOUR/Value", X)'
params:
- name: hour
type: integer
min: 0
max: 24
- id: layer_tc_minute
label: TC Minute
kind: action
description: Timecode trigger point minute
command: 'localSVPatch.SetPatchDouble("/LAYER 1/MTC MINUTE/Value", X)'
params:
- name: minute
type: integer
min: 0
max: 60
- id: layer_tc_second
label: TC Second
kind: action
description: Timecode trigger point second
command: 'localSVPatch.SetPatchDouble("/LAYER 1/MTC SECOND/Value", X)'
params:
- name: second
type: integer
min: 0
max: 60
- id: layer_tc_frame
label: TC Frame
kind: action
description: Timecode trigger point frame
command: 'localSVPatch.SetPatchDouble("/LAYER 1/MTC FRAME/Value", X)'
params:
- name: frame
type: integer
min: 0
max: 60
- id: layer_fx1_select
label: FX1 Select
kind: action
description: Select Effect 1
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 SELECT/Value", X)'
params:
- name: effect
type: enum
values:
- id: 0
label: NONE
- id: 1
label: OLD TV
- id: 2
label: SEPIA
- id: 3
label: FEEDBACK
- id: 4
label: BLUR
- id: 5
label: CRYSTALISE
- id: 6
label: FRACTAL SOUP
- id: 7
label: RADAR
- id: 8
label: PIXELISE
- id: 9
label: SOFT EDGE OVAL
- id: 10
label: TILE
- id: 11
label: INFINITY ZOOM
- id: 12
label: DOT GRID
- id: 13
label: KALEIDOSCOPE
- id: 14
label: MULTI MIRROR
- id: 15
label: REBELLE DISTORT
- id: layer_fx1_opacity
label: FX1 Opacity
kind: action
description: Effect 1 opacity (blends effected media with original)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 OPACITY/Value", X)'
params:
- name: opacity
type: number
min: 0.0
max: 1.0
# FX1 Param 1-16 all share the same pattern: 0.0-1.0 range
- id: layer_fx1_param_1
label: FX1 Param 1
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 1/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_2
label: FX1 Param 2
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 2/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_3
label: FX1 Param 3
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 3/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_4
label: FX1 Param 4
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 4/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_5
label: FX1 Param 5
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 5/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_6
label: FX1 Param 6
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 6/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_7
label: FX1 Param 7
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 7/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_8
label: FX1 Param 8
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 8/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_9
label: FX1 Param 9
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 9/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_10
label: FX1 Param 10
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 10/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_11
label: FX1 Param 11
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 11/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_12
label: FX1 Param 12
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 12/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_13
label: FX1 Param 13
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 13/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_14
label: FX1 Param 14
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 14/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_15
label: FX1 Param 15
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 15/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx1_param_16
label: FX1 Param 16
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX1 PARAM 16/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_select
label: FX2 Select
kind: action
description: Select Effect 2 (same effect list as FX1)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 SELECT/Value", X)'
params:
- name: effect
type: enum
values:
- id: 0
label: NONE
- id: 1
label: OLD TV
- id: 2
label: SEPIA
- id: 3
label: FEEDBACK
- id: 4
label: BLUR
- id: 5
label: CRYSTALISE
- id: 6
label: FRACTAL SOUP
- id: 7
label: RADAR
- id: 8
label: PIXELISE
- id: 9
label: SOFT EDGE OVAL
- id: 10
label: TILE
- id: 11
label: INFINITY ZOOM
- id: 12
label: DOT GRID
- id: 13
label: KALEIDOSCOPE
- id: 14
label: MULTI MIRROR
- id: 15
label: REBELLE DISTORT
- id: layer_fx2_opacity
label: FX2 Opacity
kind: action
description: Effect 2 opacity
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 OPACITY/Value", X)'
params:
- name: opacity
type: number
min: 0.0
max: 1.0
# FX2 Param 1-16 follow the same pattern as FX1 Param 1-16
- id: layer_fx2_param_1
label: FX2 Param 1
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 1/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_2
label: FX2 Param 2
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 2/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_3
label: FX2 Param 3
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 3/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_4
label: FX2 Param 4
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 4/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_5
label: FX2 Param 5
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 5/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_6
label: FX2 Param 6
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 6/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_7
label: FX2 Param 7
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 7/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_8
label: FX2 Param 8
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 8/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_9
label: FX2 Param 9
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 9/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_10
label: FX2 Param 10
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 10/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_11
label: FX2 Param 11
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 11/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_12
label: FX2 Param 12
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 12/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_13
label: FX2 Param 13
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 13/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_14
label: FX2 Param 14
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 14/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_15
label: FX2 Param 15
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 15/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_fx2_param_16
label: FX2 Param 16
kind: action
command: 'localSVPatch.SetPatchDouble("/LAYER 1/FX2 PARAM 16/Value", X)'
params:
- name: value
type: number
min: 0.0
max: 1.0
- id: layer_transition_duration
label: Transition Duration
kind: action
description: Duration of the cross-fade transition on a layer
command: 'localSVPatch.SetPatchDouble("/LAYER 1/TRANSITION DURATION/Value", X)'
params:
- name: duration_ms
type: integer
min: 0
max: 65535
description: Milliseconds (1000 = 1 second)
- id: layer_transition_mode
label: Transition Mode
kind: action
description: Blend mode for the transition (same enum values as Blend Mode)
command: 'localSVPatch.SetPatchDouble("/LAYER 1/TRANSITION MODE/Value", X)'
params:
- name: mode
type: enum
values:
- id: 0
label: ALPHA
- id: 1
label: ADDITIVE
- id: 2
label: MULTIPLY
- id: 3
label: DIFFERENCE
- id: 4
label: SCREEN
- id: 5
label: PRESERVE LUMA
- id: 6
label: RECTANGLE WIPE
- id: 7
label: TRIANGLE WIPE
- id: 8
label: MINIMUM
- id: 9
label: MAXIMUM
- id: 10
label: SUBTRACT
- id: 11
label: DARKEN
- id: 12
label: LIGHTEN
- id: 13
label: SOFT LIGHTEN
- id: 14
label: DARK LIGHTEN
- id: 15
label: EXCLUSION
- id: 16
label: RANDOM
- id: 17
label: RIPPLE
- id: 18
label: THRESHOLD
- id: 19
label: SINE
- id: 20
label: INVERT MASK
- id: 21
label: NOISE
- id: 22
label: SWIRL
- id: 23
label: GRADIENT
- id: 24
label: PIXEL SORT
- id: 25
label: CHECKERBOARD
- id: 26
label: PULSE
- id: 27
label: HUE SHIFT
- id: 28
label: FRACTAL
- id: 29
label: WAVEFORM
- id: 30
label: RGB SPLIT
- id: 31
label: GLITCH
- id: layer_volume
label: Volume
kind: action
description: Audio volume for embedded audio in video file
command: 'localSVPatch.SetPatchDouble("/LAYER 1/VOLUME/Value", X)'
params:
- name: volume
type: integer
min: 0
max: 65535
description: "0-65535 maps to 0-100%"
- id: seek
label: Seek
kind: action
description: Set play head position while paused or playing
command: 'localSVPatch.SetPatchDouble("/LAYER 1/Transport Control/Media Time/Value", X)'
params:
- name: time_seconds
type: number
min: 0.0
description: Position in seconds (float)
- id: playlist_play_row
label: Playlist Play Row
kind: action
description: Play a specified row on the playlist
command: 'localSVPatch.SetPatchDouble("/Playlist Control/Playlist Controller 1/Play List Next", X)'
params:
- name: row
type: integer
description: Row number to play
- id: playlist_seek
label: Playlist Seek
kind: action
description: Seek to specified time in playlist
command: 'localSVPatch.SetPatchDouble("/Playlist Control/Playlist Controller 1/Play List Seek", X)'
params:
- name: time_seconds
type: number
description: Time in floating-point seconds to seek to
- id: update_timecode_cue_on
label: Enable Timecode Cue List
kind: action
description: Switch on timecode triggering mode for layer 0
command: 'localSVPatch.UpdatePatchJSON("/Timecode Cue List", [{"op":"replace","path":"/layers/0/useCueList","value":1}])'
params: []
- id: update_timecode_cue_off
label: Disable Timecode Cue List
kind: action
description: Switch off timecode triggering mode for layer 0
command: 'localSVPatch.UpdatePatchJSON("/Timecode Cue List", [{"op":"replace","path":"/layers/0/useCueList","value":0}])'
params: []
Feedbacks
- id: uptime
type: number
description: Time the renderer has been active
command: 'localSVPatch.GetPatchDouble("/UpTime/Up Time", UDPMsgReturn)'
- id: media_time
type: number
description: Current play head position in seconds
command: 'localSVPatch.GetPatchDouble("/LAYER 1/Transport Control/Media Time/Value", UDPMsgReturn)'
- id: playlist_row_index
type: integer
description: Current row index in the playlist
command: 'localSVPatch.GetPatchDouble("/Playlist Control/Playlist Controller 1/Row Index", UDPMsgReturn)'
- id: file_select
type: integer
description: Currently selected file index on layer 1
command: 'localSVPatch.GetPatchDouble("/LAYER 1/FILE SELECT/Value", UDPMsgReturn)'
- id: current_filename
type: string
description: Currently playing filename
command: 'localSVPatch.GetPatchString("/LAYER 1/Transport Control/String Join/Str 2", UDPMsgReturn)'
- id: media_list
type: json
description: List of all media files and metadata on device
command: 'localSVPatch.GetPatchJSON("/Media List", UDPMsgReturn)'
- id: system_settings
type: json
description: All device system settings
command: 'localSVPatch.GetPatchJSON("/System Settings", UDPMsgReturn)'
- id: output_mapping
type: json
description: Device video output mapping
command: 'localSVPatch.GetPatchJSON("/Output Mapping", UDPMsgReturn)'
- id: playlist
type: json
description: Device playlist
command: 'localSVPatch.GetPatchJSON("/Play List", UDPMsgReturn)'
- id: timecode_cue_list
type: json
description: External clock cue list
command: 'localSVPatch.GetPatchJSON("/Timecode Cue List", UDPMsgReturn)'
- id: vioso_wb_settings
type: json
description: Warp and blend settings for Vioso
command: 'localSVPatch.GetPatchJSON("/Vioso WB Settings", UDPMsgReturn)'
- id: screenberry_wb_settings
type: json
description: Warp and blend settings for Screenberry
command: 'localSVPatch.GetPatchJSON("/Screenberry WB Settings", UDPMsgReturn)'
Variables
# All layer parameters listed in Actions are also settable continuous variables.
# The source does not distinguish between "actions" and "variables" - every parameter
# is set via the same localSVPatch.SetPatchDouble mechanism.
# UNRESOLVED: no separate variable definitions in source beyond the action parameters
Events
# UNRESOLVED: no unsolicited notification mechanism described in source.
# The device appears to use a request-response model via UDPMsgReturn.
Macros
# UNRESOLVED: no multi-step sequences explicitly described in source.
# UpdatePatchJSON accepts JSON Patch arrays (RFC 6902) which could combine multiple
# operations in a single message, but no named macros are documented.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source warns "PLEASE BACKUP YOUR JSON FILES BEFORE EDITING THEM AS YOU
# CAN BREAK YOUR DEVICE BY SETTING INVALID VALUES" but no formal safety interlocks
# or power-on sequencing requirements are documented.
Notes
- The source documents layer parameters for LAYER 1 only. Commands use the path pattern
/LAYER N/...so additional layers may be addressable by incrementing the layer number, but this is not explicitly confirmed. - The
localSVPatch.SetPatchDoublefunction is the primary write mechanism.localSVPatch.UpdatePatchJSONuses JSON Patch (RFC 6902) operations for structured updates to device settings files. - Read operations use
localSVPatch.GetPatchDouble,localSVPatch.GetPatchString, andlocalSVPatch.GetPatchJSONwith aUDPMsgReturncallback identifier. - Descriptor variants (
GetPatchDoubleWithDescriptor,GetPatchStringWithDescriptor,GetPatchJSONWithDescriptor) return{"descriptor": "<path>", "data": "<value>"}objects, useful when reading many values simultaneously. - Many numeric ranges use a normalized 0.0–1.0 scale where 0.5 represents the default/center value (e.g., play speed, scale, color channels, position).
- The command list is described as "non-exhaustive and for illustrative purposes only" — additional parameters may be accessible via the same
localSVPatchAPI.
Provenance
source_domains:
- hive.run
source_urls:
- https://hive.run/knowledge-base/files/resources/UDP_Command_List.pdf
retrieved_at: 2026-04-30T04:41:21.039Z
last_checked_at: 2026-06-02T17:26:38.800Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T17:26:38.800Z
matched_actions: 72
action_count: 72
confidence: medium
summary: "All 72 spec actions match verbatim source commands; only MOVEMENT SPEED (reserved for future use) is in source but not spec, giving 0.98 coverage ratio. (13 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "localSVPatch.SetPatchDouble(\"/LAYER 1/MOVEMENT SPEED/Value\", X)"
- "exact hardware capabilities, number of layers supported, maximum resolution, codec support details not stated"
- "no separate variable definitions in source beyond the action parameters"
- "no unsolicited notification mechanism described in source."
- "no multi-step sequences explicitly described in source."
- "source warns \"PLEASE BACKUP YOUR JSON FILES BEFORE EDITING THEM AS YOU"
- "number of supported layers not stated"
- "UDP message format/encoding details not specified (raw text, binary framing, etc.)"
- "maximum UDP message size not stated"
- "error handling / response format for invalid commands not documented"
- "whether device sends responses to SetPatchDouble commands not stated"
- "FX per-effect parameter meanings not documented beyond numeric range"
- "complete list of JSON settings file paths and their schemas not provided"
- "firmware version compatibility not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0