Skip to content
jgilje edited this page Sep 13, 2014 · 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

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