



|
|
3PM is an MFC application for playing
MP3 audio files.
About MP3s:
MPEG-1 audio layer 3 (MP3) is a digital audio compression algorithm that
achieves a compression factor of about twelve while preserving sound
quality. It does this by optimising the compression according to the range
of sound that people can actually hear. MP3 is currently (July 1999) the
most powerful algorithm in a series of audio encoding standards developed
under the sponsorship of the Moving Picture Experts Group (MPEG) and
formalised by the International Organization for Standardization (ISO).
MP3 is very different from Layer 2, using an additional MDCT layer to
increase frequency resolution. Its scale factor groups are more optimised
for the human ear, and it uses nonlinear sample quantisation and Huffman
coding.
MP3 files (filename extension ".mp3") can be downloaded from many World-Wide
Web sites and can be played using software available for most operating
systems (also downloadable), e.g. Winamp for PC, MacAmp for Macintosh, and
mpeg123 for Unix.
MP3 files are usually downloaded completely before playing but streaming MP3
is also possible. A program called a "ripper" can be used to copy a
selection from a music CD onto your hard disk and another program called an
encoder can convert it to an MP3 file.
(Definition acquired from FOLDOC)
Developers:
The Programming:
The dialog-based application was developed entirely in Microsoft Visual
C++. The major audio functions employs the MCIWnd series macros (VFW32.LIB).
3PM requires Windows NT 4.0 or later (Windows 98 or later is recommended).
The application was first developed in the Microsoft Visual Studio 6.0
environment and was later imported to Microsoft Visual Studio .NET.
Notes:
- CFileDialog class was used for saving and loading dialog display. The
old Windows' file dialog was used so that the applications may run under
older versions of Windows (such as Windows NT 4.0 and Windows 98).
- CListCtrl class and a linked list was used for playlist control.
- CFile class was used for reading and writing playlist data to disk.
Errors catching was implemented.
- CProgressCtrl class was used for volume control and playtime control.
Point hit testing was implemented in the OnLButtonDown function for
seeking capabilities.
- Boolean flags was used for determining mute, random, and repeat
status.
- Conditions were added to the OnSysCommand function so that the
application dialog will not be closed with the 'Enter' or 'Esc' keys.
- 3PM may be used for opening wave and midi files as well. These files,
however, do not contain any ID3 information.
Advantages:
- Small application size - for the size of about 140KB with MFC
dynamically linked or 256KB with MFC statically linked, 3PM may be fit
even on a diskette. It can also be easily sent thru email.
- Independent from the operating system - You do not need to "install"
this application in order to use it. 3PM will not alter any of your system
configurations.
- Short loading time - applications with many add-ons take time to open.
Programs such as the Windows Media Player, Real Audio Player, Quick Time,
or Winamp may take even minutes to load if the computer is low in system
resources. 3PM, on the other hand, opens almost instantaneously. If you
just wanted to enjoy your MP3s, why use an application that also plays
movies or other media types?
Version History:

3PM Player was originally developed as a software design project
for Boston University (SC447, Fall 2001).
Alpha v0.1:
- Open, play, pause, and stop functions added
- Volume control functions added
- ID3 information added
Alpha v0.2:
- Playlist functions added
- Prev and Next functions added
- Graphical buttons added
Alpha v0.3:
- Graphical background added
- Seek capabilities added
Alpha v0.4:
- Save and load playlist functions added
|