Sayonara Player
Public Member Functions | List of all members
RemoteControl Class Reference

Remote control allows to control Sayonara from an external application via network. Various commands are implemented. Sayonara also delivers information about state changes,. More...

#include <RemoteControl.h>

Inheritance diagram for RemoteControl:

Public Member Functions

 RemoteControl (Playlist::Handler *playlistHandler, PlayManager *playManager, QObject *parent=nullptr)
 
bool isConnected () const
 

Detailed Description

Remote control allows to control Sayonara from an external application via network. Various commands are implemented. Sayonara also delivers information about state changes,.

The current implemented commands are:

play \t start playing
pause \t pause playing
prev \t previous song
next \t next song
playpause \t toggle play/pause
stop \t stop playing
volup \t increase volume
voldown \t decrease volume
setvol <int>\t change volume
pl \t fetch the active playlist
curSong \t fetch the current song index
idAndName \t send Sayonara's unique id and instance name
seekrel <int> \t seek within song in percent
seekrelms <int> \t seek within song in relative to current position in milliseconds
seekabsms <int> \t seek within song in relative to current position in milliseconds
chtrk <int> \t change track
state \t request state: every answer except playlists are returned

Answers are sent in JSON format. Each answer is terminated with 10 bytes long ENDMESSAGE.
The list of attributes is:

volume<int> \t current volume value between 0 and 100

Current track
track-title<string> \t current track title
track-artist<string> \t current track artist
track-album<string> \t current track album
track-total-time<int> \t current track total time in seconds
track-current-position<int> \t current track position in seconds

Broadcasting
broadcast-active<bool> \t is broadcast active?
broadcast-port<int> \t port where broadcasts can be received from

Cover
cover-data<string> \t Base64 encoded JPG file
cover-width<int> \t width of cover pixmap
cover-height<int> \t height of cover pixmap
playstate<string> \t one of the values "playing", "paused" or "stopped"

Playlist
playlist-current-index<int>\t current playing track index
playlist<array> \t array of tracks
pl-track-title<int> \t title of track
pl-track-album<string> \t album of track
pl-track-artist<string> \t artist of track
pl-track-total-time<int> \t length of track in seconds