~ubuntu-branches/ubuntu/lucid/mpg123/lucid

« back to all changes in this revision

Viewing changes to README

Tags: upstream-0.66
ImportĀ upstreamĀ versionĀ 0.66

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
2
*   mpg123 - MPEG 1.0/2.0/2.5 audio player            *
3
 
*   README for version 0.6x, dated at 14.01.2007      *
 
3
*   README for version 0.6x, dated at 03.06.2007      *
4
4
*                                                     *
5
5
* ...still the fastest MPEG audio player for UNIX ;)  *
6
6
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
21
21
        http://mpg123.org
22
22
(or http://mpg123.orgis.org as fallback address if there is a problem with the DNS forwarding)
23
23
 
24
 
for the traditional hope page and
 
24
for the traditional home page and
25
25
 
26
26
        http://sourceforge.net/projects/mpg123
27
27
 
70
70
 
71
71
You can specify the option -C to enable a terminal control interface enabling to influence playback on current title/playlist by pressing some key:
72
72
 
73
 
'b' to seek back to beginning of track
74
 
'f' to skip to nest track
75
 
'p' for pause (actually, looping current chunk)
76
 
's' to stop/restart playback (the usual "pause" function...)
77
 
(space bar for the same)
78
 
'q' to quit playback
79
 
',' for rewind seek
80
 
'.' for forward seek
81
 
';' for fast rewind
82
 
':' for fast forward
83
 
'<' for fine rewind
84
 
'>' for fine forward
85
 
'h' for printout of current key bindings
 
73
 -= terminal control keys =-
 
74
[s] or space bar         interrupt/restart playback (i.e. 'pause')
 
75
[f]      next track
 
76
[b]      back to beginning of track
 
77
[p]      pause while looping current sound chunk
 
78
[.]      forward
 
79
[,]      rewind
 
80
[:]      fast forward
 
81
[;]      fast rewind
 
82
[>]      fine forward
 
83
[<]      fine rewind
 
84
[+]      volume up
 
85
[-]      volume down
 
86
[r]      RVA switch
 
87
[v]      verbose switch
 
88
[h]      this help
 
89
[q]      quit
86
90
 
87
91
You can change these bindings to key to your liking by modifying term.h .
88
92
 
89
93
Note: This interface needs not to be available on _every_ platform/build.
90
94
 
 
95
Another note: The volume up and down is performed by changing the scale factor (like the -f parameter) ... so the audio is scaled digitally in the given range of the output format (usually 16bits). That means the lowering the volume will decrease the dynamic range and possibly lessen the quality while increasing volume can in fact increase the dynamic range and thus make it better, if you deal with a silent source and no clipping is necessary.
 
96
It is a good idea to use RVA values stored in the file for adjusting low volume files, though - mpg123 handles that in addition to your volume setting.
 
97
 
91
98
3.3 Control Interface for Frontends
92
99
 
93
100
There used to be several interfaces for frontends left over from that past, but only one of them remains for the present and future:
102
109
4. Speed
103
110
 
104
111
mpg123 is fast. Any faster software player is probably based on some hacked mpg123;-)
105
 
This is the case with current MPlayer, wich includes mpg123-based code in its mp3lib.
106
 
There are some nice assembler optimizations (SSE, for example) that may make mplayer a faster mp3 decoder in cases where these are applicable - we are preparing to incorporate these into the mpg123 player to make it the fastest mp3 player under all circumstances.
 
112
MPlayer included mpg123 source code in it's mp3lib and we have to be thankful for the MPlayer folks adding SSE, 3DNowExt and AltiVec optimizations over the years, which we were able to backport.
 
113
 
 
114
mpg123 includes the AltiVec optimization since version 0.61 and the SSE and 3DNowExt optimizations since 0.66 .
 
115
Also, version 0.66 adds the merged x86 optimization build, which includes every applicable optimization for x86 cpus except the one for i486, wich is a bit special.
 
116
 
 
117
Now mpg123 catched up with MPlayer's mp3lib concerning decoding speed on my Pentium M (which supports SSE):
 
118
Decoding a certain album (Queensryche's Rage for Order) to /dev/null took 22.4s user time with mpg123-0.66 compared to 24.7s with MPlayer-1.0rc1 .
107
119
 
108
120
 
109
121
5. Accuracy
155
167
 
156
168
Please see doc/ROAD_TO_LGPL, COPYING and AUTHORS for details on that. Note that the only notable legacy non-LGPL file was the old alsa output that didn't work with alsa 0.9/1.0 anymore.
157
169
Also, there has been a libao output in the betas 0.60 for a short period. Libao being generally problematic for us because of its GPL license, this output is not distributed anymore in the release packages. There is now a new, LGPLed alsa output that made both the old alsa and libao obsolete for our purposes.
158
 
So, the distributed mpg123 releases actually only contains LGPL code, but you get the other files from our subversion repository if you checkout the trunk / version tags.
 
170
So, the distributed mpg123 releases actually only contain LGPL code, but you get the other files from our subversion repository if you checkout the trunk / version tags.
159
171
 
160
172
There has been quite some confusion about the licensing and "freeness" of mpg123 in the past.
161
173
The initial "free for private use, ask me when you want to do something commercial" license caused some people to avoid mpg123 and even to write a replacement mimicking the interface but using a different decoding engine - what was not actively developed for too long but entered the "free" software sections.
162
174
 
163
 
The Debian (non-free section) and Gentoo distributions cared about the last stable and the last development release of mpg123 over the years with mainly  applying security fixes. Thanks go to the distribution maintainers for not letting it alone to bitrot over the years.
 
175
The Debian (non-free section) and Gentoo distributions cared about the last stable and the last development release of mpg123 over the years with mainly applying security fixes. Thanks go to the distribution maintainers for not letting it alone to bitrot over the years.
164
176
 
165
177
Thomas Orgis started to hack on mpg123 in 2004 while working on his personal audio experience with mixplayd and later DerMixD, utilizing the generic control interface. In Feb 2005, he crammed control interface improvements together with Debian's r19 fixes and released the personal fork/patch named mpg123-thor.
166
178
Little later that year, Nicholas J. Humphrey independently created the sourceforge project and released an autotooled 0.59r under official GPL flag with Debian and MacOSX fixes.