- Layer III files can now be decoded! However, more optimization needs to be done, as decoding a stereo stream takes 75% of the CPU time on
a Pentium-100. Also I have not implemented mono playback of a stereo stream or the Low Frequency Extensions of MPEG-2.
- Threading cleanups are much better, but still have problems. This causes memory leaks.
11/29/96 : Version 1.72 (not officially released)
- Added syncword detection. If the stream does not sync, maplay
skips a byte and attempts to sync again. This is an Intel
specific change due to the stupid byte order. The change
makes it possible to playback Layer II files produced by
DALET.
10/10/96 : Version 1.71
- Installation is now through an InstallShield application. If you want
the source files, choose the custom installation. Otherwise, just choose the typical installation. Also, the MP2 extension is
automatically ssociated to maplay, so you don't have to do this yourself.
- Discovered that memory leaks as waveform audio is being played in
Windows 95. This is not a bug in maplay, but in Windows 95 itself.
The result is that the allocated memory slowly rises as MPEG and WAV
files are being played.
- Received Borland C++ 5.01 courtesy of Borland International through
Mike Weisert. The program now reports that it is a 32-bit 4.0 application instead of 32-bit 3.1 application. The MPEG..Options dialog box looks much better with 4.0's color scheme. Also there is real Pentium optimization.
- Fixed the MPEG..Options dialog box which did not allow the user to
decode only one channel of stereo streams. This option works as before
but displays a warning if a stream is being decoded in the background.
- Added the capability to take playlists from the command line. The
file extension LST is now interpreted as a playlist also. (Before
playlists had to have the extension TXT.) Now you can have your lists
play by double-clicking the LST file in Explorer. (InstallShield will
automatically associate LST files for you.) Also the batch file
"makelist.bat" creates a file called "playlist.lst" instead of
"playlist.txt".
- Made the application window larger to accommodate larger fonts.
- Fixed the time per frame for Layer I files. The playback time should now be accurate for all layers.
- Memory for the playlists and mpeg objects is now freed correctly. Also
the current track is now reset when loading new playlists.
08/01/96 : Version 1.70
- Interface changes:
* Replaced the scrollbar with a trackbar.
* Added status bar for current action, current file in playlist, current playtime, and
if Repeat is enabled (an "R" will appear in the rightmost pane).
* Removed the repeat button for playlists, and placed the previous track and next track
buttons next to the rewind and fast foward buttons, repectively. The rewind and fast
forward look like this: << and >>. The previous track and next track buttons look
like this: |< and >|.
* Added rewind and fast forward to the Audio menu.
* The MPEG...Decoding Options dialog box has been changed. The background is now
light gray, but the text is still black on white. Right now the dialog box looks
quite ugly, but once I figure out how to get black on light gray text, it will
look much better.
* Colored in the play and stop buttons. Added 3D look to disabled buttons.
- Fixed MIDI playback so that MIDI files can also be seeked.
- Widened the application window so that Large Fonts at 1024x768 don't make the
menu bar wrap around to the next line.
- Included a batch file to make playlists from the command line. Type
"makelist /?" for instructions.
- Layer III code is already in maplay, but it needs to be debugged. Attempting
to decode Layer III streams will result in memory access violations. I will
not include the buggy code for the Layer III stuff in the source code
version.
07/09/96 (version 1.61)
- Changed the default extension of MPEG audio files from "MP2" to "MP*".
This will allow more MPEG audio files to be opened easily, and prepares
for Layer III (MP3) files.
- Fixed a bug which sometimes caused the scroll bar to not be reset after
playing.
- Changed the MPEG...Decoding Options dialog box back to the ugly default
Windows dialog box. The Borland style one cannot load unless BWCC.DLL
is loaded before the application is run, so I took it out.
- Made the libararies link statically, which increases the code size, but
reduces the possibility that the application will fail to work due to
missing DLL files. (I think)
- Started work on layer III. Some layer III stuff has been added in the
source code, but of course, it doesn't work yet.
06/26/96 (version 1.60)
- Added a scroll bar that updates as sounds play. You can also use it to
seek anywhere in the sound. Fast forward and rewind also have been
implemented.
- Reduced the buffer size by one half again, to reduce latency when seeking.
Again, if you had version 1.51 or earlier working correctly, and version
1.60 messes up, just let me know.
- A couple more cosmetic changes, and additions to the maplay classes that
allow seeks.
- The output buffer now uses fixed memory which is more likely to be available.
- Reduced the size of the executable (from 180 KB to 83 KB) by not including
debug information.
03/31/96 : Version 1.51
- Added the ability to play MIDI files. Wow, I'm a genius (NOT). Still,
it's cool that you can just use maplay to play everything. You can also
put MIDI files in the playlists.
03/28/96 : Version 1.50
- Replaced buttons with neat looking icons. 3D too!
- Added ability to stop after pausing playback.
- Added a dialog box to play files in stereo or in mono. This function works
but the pre-decode feature has not been implemented yet. Selecting mono will
take half as much CPU time, and may be necessary for 486 or lower CPUs.
- Fixed a minor bug with play lists, but lists still do not play perfectly.
- Made all the buffers of all versions (386, 486, Pentium) the same size. I
don't think the size of the buffer makes much difference anyway. If you
had a version that worked before, but doesn't work now, please contact
me.
- Discovered a minor "bug" - Wave files will not play if you have spaces
in the filename or the directory that the WAV file is in.
03/11/96 : Version 1.30
- Added play list functionality. To play a list of files, create a text
file with a filenames (MP2 or WAV) separated by newlines (hit enter after
each filename). Make sure you include the full path in the filename, and
that the name of the list file ends with a TXT extension. Here is a sample
list (arg.txt):
sucky_american_music.mp2
grunge_bites.wav
anime_rules.mp2
send_donations_to_Jeff-san.wav
The play list is far from perfect, as it frequently freezes in the middle of
files. I'll work on fixing it.
- Fixed lack of stereo playback. The previous version only played the first
file in stereo, but after loading a mono file, the playback remained in mono
for stereo streams. This has been completely fixed.
I'll continue to try to improve maplay until it is perfect. Better playlist manipulation, and Netscape plug-in functionality are in the plans.