1
0
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:
thor
2007-12-23 10:35:03 +00:00
parent f1444c0f99
commit 49cf9767ab
2 changed files with 71 additions and 44 deletions

View File

@@ -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:

View File

@@ -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)
{ {