Status
Get the live status
GET
/api/statusOpen. Open to everyone who can reach Tempolight.
What is happening now: the music source, tempo, song part, beat, the effect, loudness, key and mood, the song, the pads, home, MQTT, and per device what is sent and the sound-to-light latency. The WebSocket sends the same object 4 times a second.
Responses
200OKapplication/json
type"status"sourcestringOne of
"song" "nowplaying" "browser" "capture" "djlink" "midiclock" "link" "metronome" "idle"sourceLabelstringfpsintegerledsintegeruptimeintegerSeconds since start.
effectstringeffectNamestringstylestringstyleNamestringbpmnumber | nullpartstringOne of
"calm" "build" "drop" "silent" "idle"beatinteger | nullBeat in the bar, 0 to 3.
levelnumberLoudness.
0 to 1bandsarray | null24 spectrum bands, with live audio.
keyobject | nullmoodobject | nullhearsstring | nullvocalnumber | nullsongobject | nullrecognisedobject | nullnowPlayingobject | nullSee Now playing.
spotifyobject | nullSee Spotify.
captureobject | nullhearingobject{via, sound, level, capture, output, problem, method}.
offsetMsnumberThe light timing in use.
timingobjectLight timing (see docs/internals/runtime-and-outputs.md).
djlinkobject | nullmidiClockobject | nullMIDI clock being followed.
linkobject | nullAbleton Link session.
powerbooleanbrightnessnumber0 to 1nightbooleanoverlayobjectThe live pads' state.
homeobject | nullmqttobject | nullphonesintegerscreenstring | nullmappingobject | nullperfobjectdmxobject | null{lasers: {on, why}, fog: {...}}.
devicesobject[]Request
curl 'http://localhost:8080/api/status'const res = await fetch("http://localhost:8080/api/status");
const data = await res.json();
console.log(data);import requests
res = requests.get(
"http://localhost:8080/api/status",
)
print(res.json())Response
{
"type": "status",
"source": "browser",
"sourceLabel": "Browser audio",
"fps": 60,
"leds": 240,
"uptime": 3600,
"effect": "laser",
"effectName": "Laser",
"style": "party",
"styleName": "Party",
"bpm": 124,
"part": "drop",
"beat": 2,
"level": 0.71,
"power": true,
"brightness": 0.8,
"night": false,
"overlay": {
"strobe": false,
"blackout": false,
"freeze": false,
"hold": false,
"boost": 1,
"forced": null
},
"devices": []
}