Maplay 1.2+ for Win32
Web Site
Last modified: July 8, 1997
Latest News:
Version 1.90 is now available for Win32, which has support for MPEG-2 LSF streams
and has a lot of new useful features, like decoding to a WAV file,
saving settings in the registry, and much more. See the file whatsnew.txt
for a complete description of the changes.
I've moved to Texas for the summer, and I should have more time to
work on maplay.
Version 1.81 has been ported to Linux, Macintosh (on PowerPC), OS/2, BeOS, HP-UX, and FreeBSD successfully. For the newest source files and information on these ports, check the ports section.
Alas, I have found out that the console version does not work with Windows 3.1. Sorry for the inconvenience.
Anyone who is interested in purchasing a DLL, let me know. I have not begun work on it yet, I just want to get an idea of the demand for it.
The layer III decoder of maplay is highly optimized from the original public
c source, but still is quite CPU intensive. If you are interested in making
optimizations (and getting a share of the glory) please don't bother with
the following functions, which I've already gotten optimizations for:
-
Bit_Reserve::get_bits()
-
Ibitstream::read_buffer()
Optimizations for any other functions are welcomed. Send them to ctsay@pasteur.eecs.berkeley.edu!
What is maplay 1.2?
Maplay 1.2 is a program written for UNIX systems by Tobias Bading.
What it does is decodes MPEG
Audio Layer I and II files, which are factor of 6-12 times smaller
than uncompressed audio (like Windows PCM WAVE, Sun AU, or Apple AIFF files).
Despite the huge compression, there is no audible signal loss! Using MPEG
Audio Layer III, you can retain CD-quality sound at compression ratios
around 1:11 (112 kbit/s). Unfortunately, decoding MPEG audio streams is
a very CPU intensive process. And until now, there have been no fully-featured
decoders available for Windows.
What is maplay 1.2+ for Win32?
Thanks to Bading's hard work in maintaining portability in maplay,
I was able to re-target maplay to run on the Windows
95 and Windows NT operating systems. I also added a few features such
as WAV playing, pausing, stopping, and repeating MPEG audio playback. It
took about 4 weeks, since I had no prior Windows programming experience.
Now after a year of work, maplay 1.2+ for Win32 also has support
for layer III MPEG-1 audio streams.
What do I need to run maplay 1.2+ for Win32?
Maplay 1.2+ for Win32 requires the following hardware and software
to run:
-
486 or higher CPU (Pentium required for stereo playback.)
-
Either the Windows 95
or Windows NT operating system. It will not run on Windows 3.1 or
lower operating systems, even if you have Win32s.
-
A 16-bit sound card, and the appropriate driver for Windows. (I have
reports that 8-bit sound cards such as the SB Pro and SB work as well.)
What about the competition?
Ever since maplay 1.2 for Win32 was released, many other MPEG audio
decoders for Windows have also been released. But I still think maplay
1.2 for Win32 is still the best! Compare the features in the following
table:
Program
|
Layer I
|
Layer II
|
Layer III
|
WAV
|
Bits/sample
|
Sample freq.
|
Stereo
|
XingSound1
|
?
|
Yes
|
No
|
Yes
|
162
|
22.0 kHz
|
No
|
AMAPLAY
|
?
|
Yes
|
No
|
No
|
16
|
48.0 kHz
|
Yes
|
Philips
mpgplay
|
No
|
Yes
|
No
|
No
|
16
|
48.0 kHz
|
Yes
|
ActiveMovie
|
?
|
Yes
|
No
|
Yes4
|
16
|
22.0 kHz
|
Yes
|
WinPlay3
|
No
|
No
|
Yes
|
No
|
16
|
48.0 kHz
|
Yes
|
museArc
|
No
|
Yes
|
Yes
|
No
|
16
|
48.0 kHz
|
Yes
|
maplay for Win32
|
Yes
|
Yes
|
Yes
|
Yes
|
16
|
48.0 kHz
|
Yes
|
Program
|
Seeks
|
Playlists
|
Interface
|
Win3.1
|
Win95
|
WinNT
|
Distributed As:
|
XingSound
|
Yes
|
No
|
OK
|
Yes
|
Yes3
|
Yes3
|
Freeware
|
AMAPLAY
|
Yes
|
No
|
Ugly!
|
No
|
Yes3
|
Yes3
|
Shareware
|
Philips
mpgplay
|
No
|
No
|
Good
|
No
|
Yes3
|
Yes3
|
Freeware
|
ActiveMovie
|
Yes
|
No
|
Media Player
|
No
|
Yes
|
Yes
|
Freeware
|
WinPlay3
|
No
|
Yes
|
Good
|
Yes
|
Yes3
|
Yes3
|
Shareware
|
museArc
|
Yes
|
Yes
|
OK
|
Yes
|
Yes
|
Yes
|
Shareware
|
maplay for Win32
|
Yes
|
Yes
|
Good
|
No
|
Yes
|
Yes
|
Freeware
|
1Freeware version
of XingSound. There is a full-featured version, but it is not free.
2Low precision
3Not a native 32-bit
program
4Through Media Player
museArc has a 60 second restriction on playback time. The non-hacked
version of WinPlay3 has a 20 second restriction on playback time.
Ridiculous!
Should I even consider WinPlay3 at all?
Yes. Maplay 1.2+ for Win32 takes more CPU time to decode stereo
layer III files than WinPlay3. Also, WinPlay3 has several
modes that tradeoff audio quality for CPU usage. In general, WinPlay3
requires about 2/3 of the CPU time that maplay 1.2+ for Win32 does.
So your background tasks will also execute faster if you are using WinPlay3.
However, WinPlay3 lacks the ability to seek within a stream, and
the highest playback quality is the same as maplay's.
What kind of interface does the program have?
Check out the Maplay 1.2+ for Win32
Gallery!
Cool. Where can I get maplay for Win32, and how do I install it?
Maplay for Win32, version 1.90, is available here
(on my shell account on cory, a Berkeley EECS server) in following four
flavors:
A few notes on installing:
- The InstallShield Setup takes longer to download but will automatically
configure everything for you. If you have
WinZip, you can simply open the
archive with WinZip, choose the file "setup.exe" and select the menu option
Action...Install. If you are having difficulties (getting stuck at 42%,
etc.), close all of your other programs and add the maplay through
the Add/Remove Programs icon of the Control Panel.
- The same files are contained in archives that do not contain the InstallShield
setup. These are for people who are having problems using InstallShield,
or who are having downloading problems. The versions with InstallShield
are approximately 878 KB; the ones without InstallShield are approximately
270 KB.
- If you plan to use the version with InstallShield, you should uninstall
version 1.71 or later of maplay, if you have it, before you proceed.
- All of the above 4 archives contain the source code. If you are using the InstallShield version and want to copy the source code, choose "Custom Setup". The source code is automatically unzipped to a /src subdirectory if you have the non-InstallShield version.
- I have reports that Cyrix's 6x86 runs the 486 version a bit faster than the Pentium version.
- To play Sun AU, Apple AIFF, MPEG-1 movies, and more with maplay 1.2+ for Win32, you need to install Microsoft's ActiveMovie.
The console version is also available here in two flavors:
These command-line versions (about 83 KB) do not include source code; for the source,
please download one the GUI versions. Please see the above note
for non-Intel CPU's.
These are the NEWEST versions (1.90), last modified on
July 7, 1997. See the "whatsnew.txt"
file for details on the changes.
How do I use maplay for Win32?
Maplay for Win32 supports command-line playback, so you can associate
MP2, MP3, or MPG files with maplay in the File Manager of Windows Explorer.
Actually, this will now be partially done by the installation program,
so you don't have to do anything yourself. Just select the MP2 (MPEG-1
Layer II Audio Stream) or LST (playlist) file in Explorer, and double-click!
If you want to associate MP3 files to maplay, you will have to do this
manually. Just delete whatever association you had before, and double-click
on the MP3 file. Use maplay to open the file from now on.You can
also use it as a viewer in Netscape.
The MIME type is "audio", and the subtype is "x-mpeg". Finally, you can
use as a stand-alone program, as there is a menu item to open files. Feel
free to e-mail me if you need further instructions.
If you need more powerful playlist abilities, you can use one of the
following programs :
Also, now that the .M3U extension is supported by Maplay 1.2+ for
Win32, most other playlist managers will work also.
How much does maplay for Win32 cost?
Nothing. Well, almost nothing. Of course you still have to pay for the
access time and the long distance charges to download it! However, your
generous donations are welcomed but not required. To
donate, please send a check or money order to:
Jeff Tsay
9010 Markville Drive #507
Dallas, TX 75243
I'm an extremely poor college student, so anything I receive will go towards
my college education. I do also take donations of the form of
interesting CD's, anime CD's, videos, posters, cels, etc.,
or pretty much anything else. If you're not sure I want it, just
e-mail me before you send it. Thanks.
Also, if you would like some publicity for your company (a link on this web page
and in the About box of the application, something to the effect of "Developed with ... courtesy of ..."), I'd be glad to accept :
- From Borland : Version 5.02 or later of Borland C++ or the newest version of C++ Builder.
- From speaker manufacturers : Any decent set of computer speakers. Subwoofer, multichannel,
and/or 3D capabilties preferred.
- From US Robotics : A 56 kbps modem to test the future audio streaming capabilties
- From computer manufacturers : Any computer system above a Pentium-133, preferrably with MMX technology
I'm also open to donations of other types of hardware or software. In any case, if you are interested in making a donation, please e-mail me. Thank you!
Are there any bugs in maplay 1.2+ for Win32?
Well, as I said before, I'm new at Windows programming, so I'm sure there
are. But the following are the only bugs I know about:
- The new context menu sometimes does not go away if the systray icon is
right-clicked.
- Due to a memory leak in the waveOut functions of Windows 95,
the allocated memory slowly increases for large files. There is nothing
I can do about this.
- Sometimes the shortcut keys don't work. You just have to use the mouse.
I'll work on getting rid of these bugs, and if you find any others, please
e-mail me.
Where can I get MPEG audio files?
Check out my list of MPEG Audio links.
How do encode my own MPEG audio files?
You can use Cool Edit 96
(with the MPEG audio
extensions)
or AMPEG 4.3, which is a DOS program, but considerably faster. (AMPEG now decodes
Layer III files) Also required is the the
source that contains the tables. Remember, before WAV files are
encoded, they must be saved in 16-bit format, with a 32 kHz or above sampling
frequency.
How do I obtain or port maplay 1.2+ for other platforms?
The source is much more portable, so it should be relatively
easy to compile. The rows of this table that have links indicate that
maplay has already been ported, and you can obtain an executable. The
rows that are marked "N/A" are ports that haven't been done yet, but
should be relatively straightforward (all the code is already
written -- the only things left to do are compiling and linking).
I don't want to take away from the authors of SoundApp for the
Macintosh and maplay for Linux and OS/2;
SoundApp supports a ton of audio formats besides MPEG Audio. maplay3
for Linux and OS/2 have playlist functionality, which the pure
command-line version lacks.
The source code for the non-Win32 versions is in the file
maplay+_190_src.zip which
doesn't have those nasty ^M characters. Thanks to Gyorgy Kenez for his
conversion utility.
Please see my porting notes for information
on how to port to these and other platforms.
Credits
-
Original source code by Tobias
Bading.
-
Layer III code adopted from the ISO MPEG Audio Subgroup Software Simulation
Group.
-
Win32 port, interface, and layer III porting and optimizations by Jeff Tsay.
- Additional optimizations/modifications by Conrad Song, Timo Jantunen,
and and Mikko Tommila. Please see the file credits.txt for the full credits.
-
License rights for the original maplay granted by the Free Software
Foundation, Inc.
-
Borland C++ 5.01 compiler donated by Borland
International.
Want to contribute? Right now, I need a man page for the UNIX versions,
a HLP file for the Win32 GUI versions, and some interface code to
display characters and numbers nicely (not using fonts). If I use
your stuff, I'll be sure to mention you!
I wish to thank the following donators, whose contributions make developing
maplay worth the effort:
-
Corky Coreson
-
Rich ??? (sorry, I don't remember your last name)
-
Deutsche Welle Radio via Wilfried Solbach
The Future
New playlist capabilties, a new interface, and Netscape plug-in
functionality are planned.
The latest version of maplay is very portable, so I am waiting for people
to port the code to many other operating systems. I'd like to see a version for DOS.
[Home] [Anime] [maplay
1.2+ for Win32] [Japanese
for Windows 95]
Need more information? Broken links? Comments? Please contact me at ctsay@pasteur.eecs.berkeley.edu.