Status

Get the live status

GET/api/status
Open. 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"
sourcestring
One of "song" "nowplaying" "browser" "capture" "djlink" "midiclock" "link" "metronome" "idle"
sourceLabelstring
fpsinteger
ledsinteger
uptimeinteger

Seconds since start.

effectstring
effectNamestring
stylestring
styleNamestring
bpmnumber | null
partstring
One of "calm" "build" "drop" "silent" "idle"
beatinteger | null

Beat in the bar, 0 to 3.

levelnumber

Loudness.

0 to 1
bandsarray | null

24 spectrum bands, with live audio.

keyobject | null
moodobject | null
hearsstring | null
vocalnumber | null
songobject | null
recognisedobject | null
nowPlayingobject | null

See Now playing.

spotifyobject | null

See Spotify.

captureobject | null
hearingobject

{via, sound, level, capture, output, problem, method}.

offsetMsnumber

The light timing in use.

timingobject

Light timing (see docs/internals/runtime-and-outputs.md).

djlinkobject | null
midiClockobject | null

MIDI clock being followed.

linkobject | null

Ableton Link session.

powerboolean
brightnessnumber
0 to 1
nightboolean
overlayobject

The live pads' state.

homeobject | null
mqttobject | null
phonesinteger
screenstring | null
mappingobject | null
perfobject
dmxobject | null

{lasers: {on, why}, fog: {...}}.

devicesobject[]
Request
curl 'http://localhost:8080/api/status'
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": []
}
Edit on GitHub