1
2 madplay - MPEG audio decoder and player
3 Copyright (C) 2000-2004 Robert Leslie
4
5 $Id: README,v 1.60 2004/01/23 09:41:31 rob Exp $
6
7===============================================================================
8
9INTRODUCTION
10
11  `madplay' is a command-line MPEG audio decoder and player based on the MAD
12  library (libmad). For details about MAD, see the libmad package
13  distributed separately.
14
15  After decoding, `madplay' sends the output to an audio output module. The
16  following audio output modules are provided:
17
18    - an Open Sound System interface module (for Linux, et al.)
19    - a Sun audio interface module (for Solaris, NetBSD, et al.)
20    - a Mac OS Carbon audio interface module (for Mac OS X)
21    - a Win32 audio interface module (for Windows 95/98/NT/2000, et al.)
22    - an ALSA audio interface module
23    - a QNX audio interface module
24    - an EsounD interface module
25    - a CD audio output module (*.cdr, *.cda)
26    - an Audio IFF output module (*.aif, *.aiff)
27    - a Microsoft RIFF/WAVE file output module (*.wav)
28    - a Sun/NeXT audio file output module (*.au, *.snd)
29    - a raw PCM output module
30    - a hex output module (for debugging and compliance testing)
31    - a null module (for timing the decoder)
32
33  `madplay' will also read and display ID3 tag information, and further
34  supports the relative volume adjustment information (RVA2) in such tags,
35  as written by tools like `normalize'.
36
37Audio Quality
38
39  MAD produces output samples with a precision greater than 24 bits. Because
40  most output formats use fewer bits, typically 16, `madplay' implements a
41  dithering algorithm when truncating samples for output. This produces high
42  quality audio that generally sounds superior to the output of a simple
43  rounding algorithm. However, dithering may unfavorably affect an analytic
44  examination of the output (such as compliance testing), and therefore it
45  may optionally be disabled at runtime.
46
47===============================================================================
48
49BUILDING AND INSTALLING
50
51  Before you can build this package, you must first build and install the
52  libmad and libid3tag packages distributed separately.
53
54Windows Platforms
55
56  `madplay' can be built under Windows using either MSVC++ or Cygwin. A
57  MSVC++ project file and workspace can be found under the `msvc++'
58  subdirectory.
59
60  To build `madplay' using Cygwin, you will first need to install the Cygwin
61  tools:
62
63      http://www.cygwin.com/
64
65  You may then proceed with the following POSIX instructions within the
66  Cygwin shell.
67
68  Note that by default Cygwin will build an executable that depends on the
69  Cygwin DLL. You can use MinGW to build an executable that does not depend
70  on the Cygwin DLL. To do so, give the option --host=mingw32 to
71  `configure'. Be certain you also link with MinGW versions of libmad,
72  libid3tag, and any further dependent libraries (such as zlib).
73
74POSIX Platforms (including Cygwin)
75
76  The code is distributed with a `configure' script that will generate for
77  you a `Makefile' and a `config.h' in each of the subdirectories that
78  require them. See the file `INSTALL' for generic instructions.
79
80  The specific options you may want to give `configure' are:
81
82      --disable-debugging       do not compile with debugging support, and
83                                use more optimizations
84
85      --with-alsa               use ALSA for default audio output
86
87      --with-esd                use EsounD (Enlightened Sound Daemon) for
88                                default audio output
89
90  Support for the EsounD output format type (esd) is enabled automatically
91  if the EsounD library (libesd) is available, however it is not made the
92  default output format unless --with-esd is given. To disable EsounD
93  support completely, use --without-esd.
94
95  If you have installed libmad and/or libid3tag in an unusual place or
96  `configure' can't find them, you may need to indicate where they are:
97
98      ./configure ... CPPFLAGS="-I${include_dir}" LDFLAGS="-L${lib_dir}"
99
100  where ${include_dir} and ${lib_dir} are the locations of the installed
101  header and library files, respectively.
102
103Experimenting and Developing
104
105  Further options for `configure' that may be useful to developers and
106  experimenters are:
107
108      --enable-debugging        enable diagnostic debugging support and
109                                debugging symbols
110
111      --enable-profiling        generate `gprof' profiling code
112
113      --enable-experimental     enable code using the EXPERIMENTAL
114                                preprocessor define
115
116===============================================================================
117
118COPYRIGHT AND AUTHOR
119
120  Please read the `COPYRIGHT' file for copyright and warranty information.
121  Also, the file `COPYING' contains the full text of the GNU GPL.
122
123  Send inquiries, comments, bug reports, suggestions, patches, etc. to:
124
125      Robert Leslie <rob@mars.org>
126
127  See also the `madplay' home page on the Web:
128
129      http://www.mars.org/home/rob/proj/mpeg/
130
131===============================================================================
132
133