mirror of
http://mpg123.de/trunk/.git
synced 2025-08-09 08:22:45 +03:00
Update remote control doc and push version of interface to v3.
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1302 35dc7657-300d-0410-a2e5-dc2837fedb53
This commit is contained in:
@@ -20,7 +20,7 @@ The command respones are still sent to standard out or standard error (depending
|
|||||||
COMMAND CODES
|
COMMAND CODES
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
You can get this info via the control command "help"
|
You can get this info via the control command "help".
|
||||||
|
|
||||||
HELP/H: command listing (LONG/SHORT forms), command case insensitve
|
HELP/H: command listing (LONG/SHORT forms), command case insensitve
|
||||||
|
|
||||||
@@ -40,10 +40,22 @@ RVA off|(mix|radio)|(album|audiophile): set rva mode
|
|||||||
|
|
||||||
EQ/E <channel> <band> <value>: set equalizer value for frequency band on channel
|
EQ/E <channel> <band> <value>: set equalizer value for frequency band on channel
|
||||||
|
|
||||||
|
SEEK/K <sample>|<+offset>|<-offset>: jump to output sample position <samples> or change position by offset
|
||||||
|
|
||||||
SEQ <bass> <mid> <treble>: simple eq setting...
|
SEQ <bass> <mid> <treble>: simple eq setting...
|
||||||
|
|
||||||
SILENCE: be silent during playback (meaning silence in text form)
|
SILENCE: be silent during playback (meaning silence in text form)
|
||||||
|
|
||||||
|
TAG/T: Print all available (ID3) tag info, for ID3v2 that gives output of all collected text fields, using the ID3v2.3/4 4-character
|
||||||
|
names.
|
||||||
|
|
||||||
|
meaning of the @S stream info:
|
||||||
|
S <mpeg-version> <layer> <sampling freq> <mode(stereo/mono/...)> <mode_ext> <framesize> <stereo> <copyright> <error_protected> <emphasis> <bitrate> <extension> <vbr(0/1=yes/no)>
|
||||||
|
The @I lines after loading a track give some ID3 info, the format:
|
||||||
|
@I ID3:artist album year comment genretext
|
||||||
|
where artist,album and comment are exactly 30 characters each, year is 4 characters, genre text unspecified.
|
||||||
|
You will encounter "@I ID3.genre:<number>" and "@I ID3.track:<number>".
|
||||||
|
Then, there is an excerpt of ID3v2 info in the structure
|
||||||
|
|
||||||
RESPONSE CODES
|
RESPONSE CODES
|
||||||
--------------
|
--------------
|
||||||
@@ -51,74 +63,89 @@ RESPONSE CODES
|
|||||||
Note: mpg123 returns errors on stderr, so your frontend should
|
Note: mpg123 returns errors on stderr, so your frontend should
|
||||||
look not only at stdout but also at stderr for responses.
|
look not only at stdout but also at stderr for responses.
|
||||||
|
|
||||||
@R MPG123
|
@R MPG123 (ThOr) v3
|
||||||
Startup version message
|
Startup version message. Rverything after MPG123 is auxilliary information about behaviour and command support, ID3v2 tag support is new in v3.
|
||||||
|
|
||||||
@I ID3:<a><b><c>
|
@I ID3:<a><b><c>
|
||||||
Status message after loading a song (ID3 song info)
|
Status message after loading a song (ID3 song info)
|
||||||
a = title (exactly 30 chars)
|
a = title (exactly 30 chars)
|
||||||
b = artist (exactly 30 chars)
|
b = artist (exactly 30 chars)
|
||||||
c = album (exactly 30 chars)
|
c = album (exactly 30 chars)
|
||||||
d = year (exactly 4 chars)
|
d = year (exactly 4 chars)
|
||||||
e = comment (exactly 30 chars)
|
e = comment (exactly 30 chars)
|
||||||
f = genre (string)
|
f = genre (string)
|
||||||
|
|
||||||
|
@I ID3.genre:<number>
|
||||||
|
@I ID3.track:<number>
|
||||||
|
Optional lines with additional ID3v1 info (if present): Genre ID and track number in set.
|
||||||
|
|
||||||
|
@I ID3v2.title:<text>
|
||||||
|
After loading a track with ID3v2 info, such lines occur for every line of the "title" data field and likewise for other fields (author, album, etc).
|
||||||
|
|
||||||
@I <a>
|
@I <a>
|
||||||
Status message after loading a song (no ID3 song info)
|
Status message after loading a song (no ID3 song info)
|
||||||
a = filename without path and extension
|
a = filename without path and extension
|
||||||
|
|
||||||
@S <a> <b> ...
|
@S <a> <b> ...
|
||||||
Stream info at beginning of playback, meaning
|
Stream info at beginning of playback, meaning
|
||||||
S <mpeg-version> <layer> <sampling freq> <mode(stereo/mono/...)> <mode_ext> <framesize> <stereo> <copyright> <error_protected> <emphasis> <bitrate> <extension> <vbr(0/1=yes/no)>
|
S <mpeg-version> <layer> <sampling freq> <mode(stereo/mono/...)> <mode_ext> <framesize> <stereo> <copyright> <error_protected> <emphasis> <bitrate> <extension> <vbr(0/1=yes/no)>
|
||||||
|
|
||||||
@S <a> <b> <c> <d> <e> <f> <g> <h> <i> <j> <k> <l>
|
@S <a> <b> <c> <d> <e> <f> <g> <h> <i> <j> <k> <l>
|
||||||
Status message after loading a song (stream info)
|
Status message after loading a song (stream info)
|
||||||
a = mpeg type (string)
|
a = mpeg type (string)
|
||||||
b = layer (int)
|
b = layer (int)
|
||||||
c = sampling frequency (int)
|
c = sampling frequency (int)
|
||||||
d = mode (string)
|
d = mode (string)
|
||||||
e = mode extension (int)
|
e = mode extension (int)
|
||||||
f = framesize (int)
|
f = framesize (int)
|
||||||
g = stereo (int)
|
g = stereo (int)
|
||||||
h = copyright (int)
|
h = copyright (int)
|
||||||
i = error protection (int)
|
i = error protection (int)
|
||||||
j = emphasis (int)
|
j = emphasis (int)
|
||||||
k = bitrate (int)
|
k = bitrate (int)
|
||||||
l = extension (int)
|
l = extension (int)
|
||||||
|
|
||||||
@F <a> <b> <c> <d>
|
@F <a> <b> <c> <d>
|
||||||
Status message during playing (frame info)
|
Status message during playing (frame info)
|
||||||
a = framecount (int)
|
a = framecount (int)
|
||||||
b = frames left this song (int)
|
b = frames left this song (int)
|
||||||
c = seconds (float)
|
c = seconds (float)
|
||||||
d = seconds left (float)
|
d = seconds left (float)
|
||||||
|
|
||||||
@P <a>
|
@P <a>
|
||||||
Playing status
|
Playing status
|
||||||
a = 0: playing stopped
|
a = 0: playing stopped
|
||||||
a = 1: playing paused
|
a = 1: playing paused
|
||||||
a = 2: playing unpaused
|
a = 2: playing unpaused
|
||||||
|
|
||||||
@E <a>
|
@E <a>
|
||||||
An error occured
|
An error occured
|
||||||
Errors may be also reported by mpg123 through
|
Errors may be also reported by mpg123 through
|
||||||
stderr (without @E)
|
stderr (without @E)
|
||||||
a = error message (string)
|
a = error message (string)
|
||||||
|
|
||||||
@J <n>
|
@J <n>
|
||||||
Jumped to frame n.
|
Jumped to frame n.
|
||||||
|
|
||||||
@RVA <mode>
|
@RVA <mode>
|
||||||
Switched to specified RVA mode.
|
Switched to specified RVA mode.
|
||||||
|
|
||||||
@V <volume>%
|
@V <volume>%
|
||||||
Set volume to specified value (float, percent).
|
Set volume to specified value (float, percent).
|
||||||
|
|
||||||
@<x> : <y> : <z>
|
@<x> : <y> : <z>
|
||||||
Set equalizer value z for band y of channel x.
|
Set equalizer value z for band y of channel x.
|
||||||
|
|
||||||
@bass: <b> mid: <m> treble: <t>
|
@bass: <b> mid: <m> treble: <t>
|
||||||
Set simple equalizer control for bass, mid, treble.
|
Set simple equalizer control for bass, mid, treble.
|
||||||
|
|
||||||
|
@T <response from TAG command>
|
||||||
|
The output is multiple lines, begin marked by "@T {", end by "@T }".
|
||||||
|
ID3v1 data is like in the @I info lines, just with "@T" in front.
|
||||||
|
An ID3v2 data field is introduced via ([ ... ] means optional):
|
||||||
|
@T ID3v2.<NAME>[ [lang(<LANG>)] desc(<description>)]:
|
||||||
|
The lines of data follow with "=" prefixed:
|
||||||
|
@T =<one line of content in UTF-8 encoding>
|
||||||
|
|
||||||
|
|
||||||
Info about the equalizer control:
|
Info about the equalizer control:
|
||||||
|
@@ -261,7 +261,7 @@ int control_generic (mpg123_handle *fr)
|
|||||||
#endif
|
#endif
|
||||||
/* the command behaviour is different, so is the ID */
|
/* the command behaviour is different, so is the ID */
|
||||||
/* now also with version for command availability */
|
/* now also with version for command availability */
|
||||||
fprintf(outstream, "@R MPG123 (ThOr) v2\n");
|
fprintf(outstream, "@R MPG123 (ThOr) v3\n");
|
||||||
#ifdef FIFO
|
#ifdef FIFO
|
||||||
if(param.fifo)
|
if(param.fifo)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user