API Docs

Actions

http://localhost:5505

PROJECT

index_select_project

					{"index": "number"}
					
next_project_item
previous_project_item
index_select_project_item

					{"index": "number"}
					

SHOWS

name_select_show

					{"value": "string"}
					
start_show

					{"id": "string"}
					

PRESENTATION

next_slide
previous_slide
random_slide
index_select_slide

					{"index": "number"}
					
name_select_slide

					{"value": "string"}
					
id_select_group

					{"id": "string"}
					
lock_output

					{"value?": "boolean"}
					
toggle_output_windows

STAGE

id_select_stage_layout

					{"id": "string"}
					

CLEAR

restore_output
clear_all
clear_background
clear_slide
clear_overlays
clear_audio
clear_next_timer

MEDIA

start_camera

					{"name?": "string", "id": "string", "groupId?": "any"}
					

OVERLAYS

index_select_overlay

					{"index": "number"}
					
name_select_overlay

					{"value": "string"}
					

AUDIO

change_volume

					{"volume?": "number", "gain?": "number"}
					
start_audio_stream

					{"id": "string"}
					
start_playlist

					{"id": "string"}
					
playlist_next
start_metronome

					{"tempo?": "number", "beats?": "number", "volume?": "number"}
					

TIMERS

name_start_timer

					{"value": "string"}
					
id_start_timer

					{"id": "string"}
					
start_slide_timers

					{"showId?": "string | "active"", "slideId?": "string"}
					
stop_timers
start_slide_recording

VISUAL

id_select_output_style

					{"id": "string"}
					
change_output_style

					{"outputStyle?": "string", "styleOutputs?": "any"}
					
change_stage_output_layout

					{"outputId?": "string", "stageLayoutId": "string"}
					
change_transition

					{"id?": ""text" | "media"", "type?": "TransitionType", "duration?": "number", "easing?": "string"}
					

OTHER

change_variable

					{"name?": "string", "index?": "number", "key?": ""text" | "number" | "enabled" | "step" | "name" | "type"", "value?": "string | number", "variableAction?": ""increment" | "decrement""}
					
start_trigger

					{"id": "string"}
					
send_midi

					{"input?": "string", "output?": "string", "type": ""noteon" | "noteoff"", "values": {"note": "number", "velocity": "number", "channel": "number"}}
					
run_action

					{"id": "string"}
					
toggle_action

					{"id": "string", "value?": "boolean"}
					
send_rest_command

					{"url": "string", "method": "string", "contentType": "string", "payload": "string"}
					

Examples

Make sure the WebSocket/REST API is active in the FreeShow "Connections" settings!

HTTP

    fetch(`http://localhost:5506?action=${ACTION_ID}&data=${JSON.stringify(data)}`)
	
REST

    fetch("http://localhost:5506", { method: "POST", body: JSON.stringify({ action: ACTION_ID, ...data }) })
	
WebSocket

    let socket = io.connect("http://localhost:5505", { transports: ["websocket"] })
    socket.emit("data", JSON.stringify({ action: ACTION_ID, ...data }))
    

For Node.js, check out the NPM Helper Package.