Skip to content
Joakim L. Gilje edited this page Apr 15, 2021 · 5 revisions

Welcome to the reveller wiki!

Frontend

Start the frontend using

sidplayer-frontend -player {full path for player} -rootpath {root directory for SID files}

Frontend API

The frontend communicates with JSON replies using a websocket connection. Replies regarding state and current status are broadcasted to all connected clients. An action request is defined as {"action": string, "argument": string}. Not all actions take an argument. Similarly, reply messages are defined as {"type": string, "data": string}. Complex arguments/data are string-serialized JSON data.

Actions

Actions are commands sent from a client to the frontend.

  • ls (argument): list contents of directory. returns a lsReply
  • load (argument): loads a SID file into player
  • song (argument): switches subsong of current SID file
  • stop: stop playback
  • play: start playback
  • state: returns a StateReply
  • currentHeader: returns a SidFile reply for the currently loaded file
  • search: returns search results

Replies

  • lsReply
    • path: the path that was requested for the ls action
    • directories: subdirectories at this path
    • sidfiles: SID files at this path
  • StateReply
    • file: currently loaded SID file
    • state: play or stop
    • song: currently selected subsong
  • SidFile: This reply contains the SID header. Read http://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txt for a detailed description.
    • Type: PSID (PlaySID) or RSID (RealSid)
    • Version
    • DataOffset
    • LoadAddress
    • InitAddress
    • PlayAddress
    • Songs
    • StartSong
    • Speed (array of size 32), values is either "0" or "1"
    • Name (max size 32)
    • Author (max size 32)
    • Released (max size 32)
    • Flags (type SidFlags)
    • StartPage uint8
    • PageLength uint8
    • Hz
  • SidFlags: For details, refer to the SID header spec.
    • InternalPlayer bool
    • ComputePlayer bool
    • C64Compatible bool
    • PlaySIDSamples bool
    • BASIC_ROM bool
    • Speed string
    • SIDModel string
Clone this wiki locally