Server
API
- Anyone
- get_capabilities() -> capabilities_list
- authenticate(user_name, password) -> auth_token
- User
- get_current_song() -> song
- vote(group) -> ?
- unvote(group) -> ?
- search(?) -> songs[]
- volume_up/down -> volume
- mute/unmute -> on|off
- Admin
- admin_skip
- create_queue
Database Interface
Client Handler
Authentication Module
Government
Interface
- add group(user, songs[])
- delete group(user, songs[])
- get next song
- get current playlist
The authentication module is responsible for integrating user accounts and passwords. It exports a very simple interface that accepts a plain text user name and password and just returns true if it is a valid user.
Player
API
- play file
- volume up
- volume down
- mute
- unmute
