
   
   
   PM123 1.01 User's Manual 
     _________________________________________________________________
   
     Contents--> 
   
    1. 
       
     Welcome to PM123! 
     
     PM123 User Interface
    1.
       
   Main menu 
   
   Playlist menu 
   
   Properties 
   
   ID3 tag editor 
   
   Sound visualization plugin 
   
   Graphical sound equalizer 
   
   Playlist Manager 
   
   Commandline parameters 
   
   Drag'n'drop 
   
   Skin Utility and WinAmp skins 
   
   Troubleshooting 
   
   How to create your own MP3s (MP3 encoders) 
   
   Remote control 
   
   Registration and support 
   
   Copyright, credits and greetings 
   
   Welcome to PM123!
     _________________________________________________________________
   
   Hello and welcome to the wonderful world of digital music on OS/2.
   First we must congratulate you for choosing the best MPEG-audio player
   available for OS/2! PM123 has been in development since beginning of
   1997 and has become the most advanced player on OS/2. Some of you may
   have used the earlier betas of PM123 and for your convienence, here
   are the new features in this release:
     * New skin options, allowing PM123 to be modified to just about
       anything. Also support for WinAmp skins are included.
     * Graphical equalizer, including pre-amplification and band mute.
     * Support for plugins, a spectrum analyzer and oscilloscope plugin
       is provided.
     * Playlist Manager for users, allowing easier managing of playlists.
     * Better HTTP streaming support: support for URLs in playlist, and
       M3Us for playlists.
     * Recursive directory adding.
     * Commandline and remote control of PM123.
     * General improvements in all parts of the player.
       
   
   
   PM123 main window
     _________________________________________________________________
   
   [INLINE]
   PM123's default main player window
   
   This is PM123's main window on startup. The window has several
   controls and lots of status information. The main playing controls are
   these:
   
   [IMAGE]
   
   From left to right: play, pause, rewind, fast forward, open/close
   palylist, repeat mode, randomize playlist, next song, previous song
   and power off. Volume can be controlled clicking and dragging the
   volume bar:
   
   [IMAGE]
   
   While playing there are some status indicators such as:
   
   
        [IMAGE]
   Stereo/mono indicator and bitrate    [INLINE]
   Playlist index/total
   
   You can right click the player to open up the main menu.
   
   Keyboard shortcuts: We have defined some keyboard shortcuts to be used
   from the main window:
     * Enter: Play/Stop
     * Number keypad 5: Pause
     * Left arrow key: Rewind
     * Right arrow key: Fast forward
     * Up arrow key: Previous song
     * Down arrow key: Next song
     * Plus/Minus: Increase/decrease volume
     * Space: Open main menu
     * Esc: Cancel slider drag
       
   
   
   PM123 main menu
     _________________________________________________________________
   
   The main menu can be invoked by clicking the right mousebutton or by
   pressing space over the main window. The following menu will then pop
   up:
   
   
        [IMAGE]         Open playlist: Opens the playlist window.
   Load file: Opens a single file.
   Open URL: Opens a file from the Internet for streaming.
   Recall: Displays shortcuts to 10 last used files.
   Edit ID3 tag: Edits the ID3 tag of the currently loaded file.
   
     _________________________________________________________________
   
   Properties: Displays PM123's configuration dialog.
   Load skin: Load a new skin into the player.
   
     _________________________________________________________________
   
   Equalizer: Displays the Graphical Equalizer.
   Playlist Manager: Displays the Playlist Manager.
   Font: A submenu which allows you to select from two fonts.
   Size: A submenu which allows you to select the size of the player from
   3 predefined sizes.
   Float on top: Toggles 'float on top' option, which allows PM123 to
   float above all windows.
   Hide window: Hides the player window. PM123 can be restored by
   selecting it from the window list.
   
   
   Keyboard shortcuts: You can use any of the commands in the main menu
   by giving focus to the PM123 window (by clicking it, for example) and
   pressing Alt and any character underlined in the main menu. For
   example, you can edit the ID3 tag by pressing Alt+3.
   
   PM123 playlist menu
     _________________________________________________________________
   
   
        [INLINE]        Use this playlist: Activates this playlist.
   
     _________________________________________________________________
   
   Add to list: Add file(s) to the playlist.
   Add URL: Add HTTP files or playlists (M3Us).
   Clear list: Clear the whole list.
   
     _________________________________________________________________
   
   Save list: Saves the list.
   Load list: Loads a saved list.
   Recall: This submenu has shortcuts to 10 last loaded playlists.
     _________________________________________________________________
   
   Sort: This submenu has options to sort the playlist by size, playing
   time, filename or songname.
   
   
   
        [IMAGE]         Load: Loads this file into the player.
   Remove from list: Removes this file from the playlist.
   Edit tag: Edits this file's ID3 tag.
   Delete tag: Removes the ID3 tag from this file.
   
   
   Keyboard shortcuts: You can use any of the commands in the playlist
   menu by giving focus to the playlist (by clicking it, for example) and
   pressing Alt and any character underlined in the playlist menu. For
   example, you can edit the ID3 tag by pressing Alt+E or load a new
   playlist by pressing Alt+L.
   
   PM123 properties
     _________________________________________________________________
   
   [INLINE]
   PM123's properties dialog, page 1 of 3
   
   The properties dialog can be accessed from the main menu. In the
   dialog you can configure PM123's audio engine and interface.
   
  Sound system
  
   DART: This is the default sound system. DART stands for Direct Audio
   Real Time. Some Warp 3 systems will need a file called DART.ZIP to
   use DART.
   MMOS/2: This sound system is not available in current release. DART is
   much faster and stabler than the old MMOS/2 playlist driven audio
   system.
   8-bit audio: 8-bit audio switch is provided for old soundcards that
   don't support 16-bit audio.
   
  Sound quality options
  
   Mix both channels (mono): This mixes the left and right channels into
   a mono stream. This reduces the stress on CPU. Useful on 486 systems.
   Downmix 2 to 1: Decodes only every second byte, therefore dropping the
   sample rate from 44100 to 22050 and from 22050 to 11025, etc. Useful
   on 486 systems.
   Play 48kHz as 44kHz: Play 48kHz files as 44kHz. Toggle this if you
   have problem with such files.
   
   
  Sound device
  
   Select a sound device to use from the drop down list.
   Sound device is shared: Opens the sound device in shared mode,
   allowing other programs to use the device while a file is being
   played. Works only on drivers that support it (the Gravis Ultrasound
   drivers, for example).
   
  Decoder settings
  
   Number of buffers: This is the amount of audio to buffer in 16kB
   chunks. You may want to increase this on a heavily loaded system.
   Trash buffers on seek: This option provides a much faster response on
   seek operations (fast forward, rewind, jump to position), but consumes
   more CPU time during the seek.
   
  Behaviour
  
   Start playing on file load: Automatically starts playing when you load
   a file.
   Auto 'use playlist' on add: Automatically selects "Use this playlist"
   when adding files or directories to the playlist. Auto play on 'use
   playlist': Automatically starts playing on "Use this playlist".
   Scroll: Infinite: Keeps scrolling the display forth and back until you
   start feeling sick :-)
   Scroll: Once: Scrolls the display forth and back once.
   Scroll: Disable: Prevents the display from scrolling. Useful if you
   are scroll-sick.
   
   
   [IMAGE]
   PM123's properties dialog, page 2 of 3
   
  Miscallenous
  
   Filename: Display the filename by default.
   ID3 tag: Display the ID3 tag by default.
   File info: Display the file information by default (bitrate,
   frequency, mode).
   
   
  Streaming audio
  
   HTTP proxy URL: Specify your HTTP proxy here.
   HTTP auth: This is your HTTP authentication string in format
   username:password.
   Buffer size: Specifies the read ahead buffer size (useful when playing
   across a network or from a streaming source).
   Fill buffer before playing: Fills the buffer (see above) before
   playing.
   
   
   [IMAGE]
   PM123's properties dialog, page 3 of 3
   
  Plugins
  
   Disable/Enable: Disables/enables the selected plugin.
   Unload: Unloads the plugin completely.
   Configure: Available only if the plugin is configurable. Click this
   button to set plugin's settings.
   Add filter plugin: Add a pure filter plugin (visual plugins are skin
   specific, see PM123 sound visualization).
   
   
  Registration
  
   Name: Enter your name here.
   Code: Enter your BMT Micro provided registration code here.
   Register: Click this button to finish your registration!
   
   
   PM123 ID3 tag editor
     _________________________________________________________________
   
   
   
   "ID3 tag editor? What's that?", you might ask. ID3 tags are way of
   appending some information to each MP3 file. The information contains
   song title, artist's name, album's name, music's style, release year
   and a comment. ID3 tags don't belong to the MPEG standard, but it has
   already become a widely spread standard among MP3 listeners. It's a
   good idea to add this tag to your MP3 files (if your filenames get
   mangled, you'll always know the songname).
   
   [IMAGE]
   PM123's ID3 tag editor window
   
   PM123's tag editor is quite simpled. It can be invoked for the current
   file from the main menu or by pressing Alt+3 on the player window. You
   can also edit the tags of the files in the playlist by right clicking
   a file in the playlist and selecting Edit tag or by pressing Alt+E in
   the playlist. You can also remote a tag by selecting Delete tag.
   
   PM123 sound visualization plugin
     _________________________________________________________________
   
   PM123 comes with a sound visualization plugin, ANALYZER.DLL which is
   located in the visplug directory. The plugin is visible right next to
   the volume bar. By default it shows the spectrum analyzer. Click it
   once to bring up the oscilloscope, a second time to bring up the CPU
   monitor and third time to disable it.
   
   [IMAGE]
   The spectrum analyzer.
   
   Note that because the spectrum analyzer is visual plugin, it is skin
   specific and will not display on older PM123 skins. But you can add
   them easily to any skin by editing the skin's .SKN file and adding
   this to it:

1=visplug/analyzer.dll,x,y,size-x,size-y

   Replace x, y, size-x and size-y with suitable coordinates (a easy way
   to find out the coordinates for a certain area is to load up PMView,
   take a Window capture of the skin and use the 'Track info' feature).
   You can also use WinAmp-compatible viscolor.txt files like this:

1=visplug/analyzer.dll,x,y,size-x,size-y,viscolor.txt

   The plugin will then read viscolor.txt and adapt to colors specified
   in it!
   
   PM123 graphical sound equalizer
     _________________________________________________________________
   
   
   
   PM123 users can enjoy and play with the graphical sound equalizer
   provided.
   
   [IMAGE]
   PM123 Graphical Equalizer window
   
   To enable the equalizer, click on "Equalizer enabled". Now you can
   adjust the bands by dragging the sliders. Preamplifier slider does
   software amplification (useful if your soundcards amplifier is
   broken). You can also mute bands by clicking on the checkboxes below
   sliders. To restore everything back to normal, click "Default". You
   can also save and load equalizer profiles.
   
   If you don't think this equalizer suits your needs well enough, you
   can use Samuel's Real Equalizer plugin, which provides excellent sound
   quality and more bands to manipulate. The plugin is provided with
   PM123 and is located in file realeq.dll. Install it via PM123's
   Properties dialog (Add filter plugin -button). You can display the
   configuration window by pressing the Configure button in the same
   dialog.
   
   [IMAGE]
   
   Adjust FIR Order to suit your machine (at least P150 recommended for
   FIR order 64).
   
   To come back on the filter order for the casual user, this is the
   number of samples processed (in addition to the current sample) to
   obtain a new sample. What does this means? Ok say you are playing at
   44100Hz, this means there are 44100 samples passing per second in the
   filter also, right? Ok, so say you'd like to catch 20Hz and filter
   that decently. This means you will need a filter order of at least
   44100/20-1 = 2204!!! With values in this range, you can make your
   stereo EQ jealous. Get a Pentium II and ditch your stereo. This also
   means that with my small 64 filter order, I cannot process frequencies
   under 44100/(64+1) = ~678Hz properly.
   
   PM123 playlist manager
     _________________________________________________________________
   
   Playlist Manager is provided for browsing and managing playlists. Note
   that Playlist Manager is not a replacement for the playlist. You can
   add and remove lists from Playlist Manager, load lists into the normal
   playlist, load single files and calculate statistics. Also note that
   some of Playlist Manager's options only work with playlists saved with
   PM123 1.0.
   
   [IMAGE]
   PM123 Playlist Manager window
   
   Playlist Manager will remember the playlist added to it next time you
   open it. Right click on an empty space (the title, for example) to get
   the main menu:
   
   [IMAGE] Add a playlist: Adds a new playlist to the Playlist Manager.
   Statistics: Shows statistics for all playlists and files in Playlist
   Manager.
   
   
   Right click on a playlist to get the list menu:
   
   [IMAGE] Load this playlist: Loads this playlist into PM123 playlist.
   Statistics: Shows statistics for this playlist only.
   
     _________________________________________________________________
   
   Remove from list: Removes this playlist from Playlist Manager.
   Delete: Removes this playlist from Playlist Manager and your hard
   disk.
   
   
   Right click on a file to get the file menu:
   
   [IMAGE] Load this file: Loads this playlist into PM123.
   
   
   PM123 playlist files
     _________________________________________________________________
   
   PM123 playlist files always have the extension .LST and they contain
   simply CR separated lines of the files in playlist (plus Playlist
   Manager special lines starting with >). PM123 also understands .MPL
   files used by WarpAMP and M3U playlists used over the Internet.
   
   PM123 commandline
     _________________________________________________________________
   
   
   
   PM123 accepts a couple commandline parameters:

        -cmd [host] command     If `host' is omitted, send commands to local PM123, otherwise
                                                        send commands to PM123running on `host'. For a command listing,
                                                        see PM123 Remote control.
        -smooth                                 Enables the smooth scroller, which supports national characters
                                                        and DBCS. Only works with the default skin.
        -shuffle                                Shuffles files added from commandline.

   PM123 also accepts MP3 files, URLs and playlists as commandline
   parameters.
   
   (the -proxy, -auth and -48as44 options in 1.0 have been moved to the
   Properties notebook)
   
   PM123 drag'n'drop
     _________________________________________________________________
   
   
   
   You can drag'n'drop one or more MP3 files to PM123's main window or
   playlist. You can also drop one or more directories to them, and of
   course playlist files.
   
   PM123 Skin Utility and WinAmp skins
     _________________________________________________________________
   
   PM123 comes with a skin utility (SKINUTIL.EXE), which can converts
   WinAmp skins to PM123 skins. Here's an example how to convert a
   WinAmp skin (SKIN.ZIP):

        [c:\pm123] md skin
        [c:\pm123] cd skin
        [c:\pm123\skin] unzip -j c:\files\skin.zip
        Archive: c:/files/skin.zip
          inflating: Viscolor.txt
          inflating: Position.bmp
          inflating: Main.BMP
          inflating: Text.BMP
          inflating: option.bmp
          inflating: Cbuttons.bmp
          inflating: Titlebar.BMP
          inflating: Monoster.bmp
          inflating: Posbar.bmp
          inflating: Shufrep.bmp
          inflating: Volume.BMP
          inflating: Numbers.BMP
          inflating: Playpaus.bmp
        [c:\pm123\skin] cd ..
        [c:\pm123] skinutil convert skin
        PM123 Skin Utility (c) 1998 Taneli Lepp <rosmo@sektori.com>
        Processing skin/cbuttons.bmp.......
        Processing skin/titlebar.bmp..........
        Processing skin/text.bmp: abcdefghijklmnopqrstuvwxyz_-()&.:0123456789
 ,+%[]
        Processing skin/posbar.bmp..
        Processing skin/volume.bmp...
        Processing skin/shufrep.bmp:....
        Processing skin/monoster.bmp:..
        Processing skin/numbers.bmp:............
        Processing skin/main.bmp:.
        Creating skin.dat...
        Creating skin.pak
        Bundling...
        124 images, total 212444 bytes (207 kB).
        Creating skin.skn
        Cleaning up...

   
   
   There you go. You can now load skin.skn from PM123. The skin utility
   also created files skin.pak and skin.dat that are required if you use
   the skin. You can also bundle your old skins with lots of small files
   into two files. Run skinutil.exe without any parameters to see help.
   
   PM123 troubleshooting
     _________________________________________________________________
   
    1. The player skips and/or the audio doesn't sound right!
    
     There might be multiple reasons if you encounter this problem. Some
     of them are listed here. First of all, check your MP3 file. It may
     be broken. It might play succesfully on another player, but mpg123
     may not necessarily like it. If you think it's not related to the
     input stream, maybe the problem is one of these:
     * You have a polling device driver (for example, a very old 2x
       CD-ROM or PRINT01.SYS without /IRQ switch)
     * Bad CD-ROMs tend to seek the disk often. This usually takes 100%
       CPU and halts I/O operation until the drive completes the seek.
       You can try cleaning the CD.
     * You have a video card that supports "automatic PCI bus retry", but
       your motherboard stops processing during those retries. Disable
       the feature (video driver).
     * You have an ATI Mach64 and you are experiencing a bug in the video
       driver using software mouse pointers (ie. colored mouse pointers).
     * You have a process that hogs all the CPU. Get a CPU monitor (we
       recommend CPUMon) and a process killer from hobbes.nmsu.edu.
     * You have Full Window Drag enabled. It sucks 100% CPU power when
       you use it. On Warp 4, disable it from System / User Interface /
       Window Manipulation / Full Window Dragging.
     * Your CPU is too slow (or overheated). We recommend you have at
       least a Pentium machine.
     * You have outdated, old or buggy sound drivers. This is a common
       problem. Many sound drivers out there for OS/2 just plain suck. We
       have tried to test PM123 on as many drivers as we can, but some
       drivers are incomplete and/or buggy.
     * You have a very old or just generally bad motherboard, video card
       or IO controller card. This is a rare problem, though.
       
     Extra effort has been put in creating a priority system that stops
     skipping. Samuel, who did the priority system, convinces us by
     saying: "I have played 2 MP3s on my P150 and watched a "dir /s"
     smooothly and happily scrolling in the foreground without either MP3
     skipping... I think that's pretty convincing."
     
    2. The player crashes on startup.
    
     * You have an old MPG123.DLL (or some other DLL PM123 comes with) in
       your LIBPATH.
     * Your system doesn't support DIVE (Direct Video Extensions). Try
       renaming visplug\analyzer.dll to something else.
     * Something is very wrong, send us a bug report.
       
    3. My mouse cursor is jerky or jumpy!
    
     * You have a colored or animated mouse pointer. They are software
       mouse cursors and they don't mix very well with high performance
       multimedia applications that draw rapidly to the screen. Switch
       back to the old black and white OS/2 default mouse pointer and/or
       disable pointer animation. The default b/w pointer is a hardware
       mouse cursor. This problem is often caused by all high speed DIVE
       applications.
     * One way to fix this problem is to set analyzer disabled by default
       (Properties -> Settings 2 -> analyzer.dll -> Configure). Of course
       you won't see the cool graphics then.
     * You have a bad video driver. We cannot help you on this matter,
       but we urge you to call/mail your video driver manufacturer about
       this problem.
       
   
   
   
   
   How to create your own MP3s (MP3 encoders and utilities)
     _________________________________________________________________
   
   
   
   There hasn't been many CD-DA or MP3 encoders for OS/2, but recently
   this situation has improved mainly because of the Win32-OS/2 project.
   To help you to create your own MP3s, Samuel has assembled a small
   review on MP3 encoders/decoders, CD-DA utilities and other useful
   software.
   
   
     _________________________________________________________________
   
   MP3 Encoders
   
   I have tried five MP3 encoders by encoding CD quality WAVs (yes, even
   Classical Music) in MP3s at 128kb/s in stereo (not joint stereo, when
   possible) and tested them with some $40 headphones and pm123's
   spectrum analyzer and equalizer. I have benchmarked the speed of the
   different encoders by comparing it with L3Enc 1.0 for OS/2's since
   probably all MP3 OS/2 users tried it at one time or an other. (You can
   also jump right to my conclusion)
   
   ToMPG 3.0 for Win32 (http://www.kiss.uni-lj.si/~k4fe0470/tompg.zip)
   
   This is a Win32 console EXE, but it converts NUMBER ONE with
   Win32-OS/2 Alpha 0.02!! (http://www.os2ss.com/win32-os2)
   
   ToMPG is fast. I mean astoundingly fast, light speed fast. WARNING!!
   it's going to blow your socks off!! It's seven (7) times faster (no
   joke) than L3Enc 1.0 for OS/2 here.
   
   Use the following options to enable 128kb/s and Stereo output though.
   The default values aren't terrific. -B64 -M0
   
   The hearing test was good. I didn't hear a difference between the
   original WAV and the MP3, but the spectrum analyzer showed a cut off
   at around 16kHz.
   
   Its downsampling filtering is BS though, so if you plan on encoding
   low quality MP3 from high quality WAV, use something else, or
   downsample it before using ToMPG.
   
   ToMPG also supports MPEG 2 Layer III (lower sampling rate MP3s).
   
   This program presumably looks free. I see it on many unofficial sites,
   that means excluding Xing's, and it never comes with any license or
   shareware restrictions. It seems to be the predecessor of the
   commercial Win32 GUI Xing encoder (http://www.xingtech.com).
     _________________________________________________________________
   
   
   
   8hz's MP3 Encoder 0.2 (http://www.8hz.com)
   
   This is a free MP3 encoder based on the public ISO MPEG code (the
   famous dist10.tar.gz). Eventhough it is at least 3 times slower than
   L3Enc 1.0 for OS/2, the source codes are available for free!! It is
   beta at the moment, it might not always work properly.
   
   The hearing test was good. I didn't hear a difference between the
   original WAV and the MP3, although it attenuates any frequency over
   16kHz upto 20kHz where it cuts off.
   
   8Hz-mp3 0.2 does not support MPEG 2 Layer III (lower sampling rate
   MP3s).
     _________________________________________________________________
   
   
   
   L3Enc 1.0 for OS/2
   (http://hobbes.nmsu.edu/pub/os2/apps/mmedia/sound/convert/l3en4os2.zip)
   
   This is actually the well known L3Enc from Fraunhofer-IIS version 1.0.
   It looks like they used EMX to compile this version of L3Enc for DOS,
   and it had the side effect to make it also run in OS/2. Somebody,
   somewhere, had that old copy and made it reappear in public. The new
   versions of L3Enc now use DJGPP and that doesn't make any OS/2
   binaries. Send shit to Fraunhofer-IIS!!
   
   It's reasonably fast, but it hogs the CPU. You should get SPE
   (http://hobbes.nmsu.edu/pub/os2/util/system/spe.zip) to reduce its
   priority to idle 0 if you want to do something else when it's
   encoding.
   
   It encodes in Joint Stereo only and the hearing test was bad, even if
   it only cuts any frequencies over 16kHz. The sound seems centered,
   probably that the Joint Stereo is too wide.
   
   The -wav parameter doesn't work properly, so you need to feed it RAW
   files or you'll hear a pop at the beginning of your MP3s.
   
   L3Enc 1.0 for OS/2 does not support MPEG 2 Layer III (lower sampling
   rate MP3s).
     _________________________________________________________________
   
   
   
   L3Enc 2.72 for DOS (ftp://ftp.cdrom.com/pub/sac/sound/l3v272d1.zip)
   
   This one is about 2 times slower than L3Enc for OS/2 without -hq. With
   it, you're better off running it over night, but I haven't figured out
   what it actually does (is it just eating CPU cycles for the fun of it
   or what?). Sadly, this is the last (and obsolete) official version. It
   doesn't even appear on Fraunhoffer site!!
   
   It encodes only in Joint Stereo, but the hearing test was good and the
   spectrum analyzer shows a cut off at 20kHz. So if you are sensitive to
   high frequencies, use this encoder.
   
   Note, since this is a DOS program, it only supports 8.3 style
   filenames.
   
   L3Enc 2.72 for DOS supports MPEG 2 Layer III (lower sampling rate
   MP3s).
   
   It requires a registration for encoding over 112kb/s.
     _________________________________________________________________
   
   
   
   MP3Enc 3.0 for Win32 (http://www.iis.fhg.de/amm/download/mp3enc/)
   
   This is a new face of L3Enc. A Win32 EXE is available, but no DOS EXE.
   It also converts fine with Win32-OS/2. Nonetheless, I was very
   disapointed by its performance.
   
   By default, it cuts off all frequencies over 11kHz. This makes the
   sound very muffled. So I tried to use -bw 22050 (to set the frequency
   bandwidth we want) and it still only goes up to 16kHz. The resulting
   MP3s also have small "drop outs" and chops in sound not found in the
   original WAV. Against all expectation, the highest quality (which is
   the default) seems to make them worse while making the encoding
   process very very very slow. In addition, we can only use Joint
   Stereo.
   
   At lowest quality, it's about the same speed as L3Enc 1.0 for OS/2.
   
   This encoder has some nice features like allowing pipes to be used
   instead of files (this can be useful for realtime encoding and
   transfer), and some other not so nice options like -l3wav which
   deliberately sticks a RIFF wav header at the beginning the MP3 file.
   
   I don't know what happened in Fraunhofer labs, maybe a visit from
   Microsoft?
   
   You should get SP to reduce its priority as it hogs the CPU.
   (http://hobbes.nmsu.edu/pub/os2/util/system/sp103.zip)
   
   MP3Enc 3.0 for Win32 supports MPEG 2 Layer III (lower sampling rate
   MP3s).
   
   This requires a registration for more than 30 seconds of MP3 encoding.
   
     _________________________________________________________________
   
   
   
   os2enc01.zip
   
   I didn't get it to work at all. Gives garbage.
     _________________________________________________________________
   
   
   
   AMPEG 4.3
   (http://hobbes.nmsu.edu/pub/os2/apps/mmedia/sound/convert/ampeg43.zip)
   
   Good free package with source codes available to encode mp2 files, but
   they need to be a bit larger (192kb/s instead of 128kb/s) than mp3 to
   achieve the same quality. I can hear the difference with my
   headphones.
     _________________________________________________________________
   
   
   
   Conclusion
     * Speed and good quality -> ToMPG 3.0
     * Low sampling frequencies -> ToMPG 3.0
     * Very low sampling frequencies (MPEG 2.5) -> L3Enc 2.72 for DOS
     * Absolute highest quality -> L3Enc 2.72 for DOS
     * Downsampling -> L3Enc 2.72 for DOS
     * Geek source code -> 8hz-MP3 and AMPEG 4.3
     * Low CPU decoding usage -> MP2 (Layer II) with ToMPG or AMPEG 4.3
       
   
     _________________________________________________________________
   
   
   
   Decoders
   
   mpg123 for OS/2 0.20
   (http://www.cam.org/~guardia/archives/mpg123_020.zip)
   
   This is my port of mpg123 (which I used to make mpg123.dll). I
   included a WAV routine to include a RIFF WAVE header output mode. So
   basically, anything that pm123 or mpg123 can play can be dumped to WAV
   files that can then be used for editing, CD burning or reencoding with
   ToMPG.
     _________________________________________________________________
   
   
   
   CD-DA utilities
   
   Leech 1.20
   (http://hobbes.nmsu.edu/pub/os2/apps/mmedia/sound/editors/leech120.zip)
   
   This is a CD grabber with dijittering capabilities. There is a very
   good reason that you want to prevent any jittering. Not only does it
   insert clicks in your PCM sample, it can also switch the left and
   right channel!!
   
   Nonetheless, I get loads of "jitter correction failed" even though
   Alfons, for example, has no problem reading it. Must be my Goldstar
   CD-ROM drive that doesn't like to jump all over the place to correct
   jittering. I heard Panasonic CD-ROM drive do 0 jitter all the way, now
   that's neat. Anyway, if your CD-ROM drive hates CD-DA like mine, try
   to use -s10 and -j100. It might be slow, but at least you get
   everything.
   
   Make sure you use the options to dump the audio track into a RAW file
   if you intend to encode it with L3Enc 1.0. If you don't do so, L3Enc
   will encode the WAV header (it doesn't recognize it), and you will get
   a click at the beginning of your MP3 files.
     _________________________________________________________________
   
   
   
   Alfons 0.99b (http://www.algonet.se/~mikkje/files/alf099b.zip)
   
   This is the best CD-DA utility after Leech. It's very easy to use, and
   because Leech can take quite a while reading a track on my CD-ROM
   drive, I use Alfons for "quick and dirty grabs".
     _________________________________________________________________
   
   
   
   Front Ends
   
   MP3 PM 0.55 (http://www.kiss.uni-lj.si/~k4fe0470/mp3pm055.zip)
   
   Looks like a promising control interface, but at the moment it only
   supports Leech and the defunct L3Enc 1.0. Nice GUI though.
     _________________________________________________________________
   
   
   
   CD2MP3 PM 0.90 (http://www.cam.org/~guardia/archives/cd2mp3pm_090.zip)
   
   
   This is a very nice (ah, I can't help being biased) utility that I
   also programmed that can use any Encoder and Grabber that can run in
   non-interactive mode using a simple configuration file. It reportably
   works very well, try it out!
     _________________________________________________________________
   
   
   
   PM123 remote control
     _________________________________________________________________
   
   
   
   PM123 can be remotely controlled via a named pipe, \PIPE\PM123. Named
   pipes were chosen because of their excellent features. Quoting from
   the Control Program Programming Guide and Reference: "Named pipes
   enable related or unrelated processes on either the same computer
   system or different systems to communicate with each other. Any
   process that knows the name of a pipe can open and use a named pipe.
   In addition, named pipe data can be transparently redirected across a
   network, such as a local area network (LAN)".
   
   To remote control PM123 on the same computer, you can use either the
   built-in "echo" command, or the PM123 executable itself. PM123
   understands a set of commands that are written to the pipe. For
   example,

        [c:\usr\pm123] pm123 -cmd volume 80
        [c:\usr\pm123] echo *volume 80 > \pipe\pm123

   These commands will set the volume to 80%.

        [c:\usr\pm123] pm123 -cmd add d:\music\test.mp3
        [c:\usr\pm123] echo *add d:\music\test.mp3 > \pipe\pm123

   These commands will add the file d:\music\test.mp3 to the playlist.
   
   If you use echo, remember to prepend any commands sent to it with a *
   character. PM123 currently understands the following commands
   (optional parameters are enclosed in parenthesis):
   
   
        play {file}     Starts playing. If file was specified, it will be first loaded and playback will be started.
        stop    Stop playback.
        pause on|off    Pauses or unpauses the playback.
        next    Selects the next song in playlist.
        previous        Selects the previous song in playlist.
        rewind  Toggles rewind of the currently playing file.
        forward         Toggles fast forward of the currently playing file.
        jump n  Jump to n seconds in the currently playing file.
        volume n        Sets volume to n% (scale 0-100, of course).
        load file       Loads a file into. Plays it too, if 'auto play on load' is set.
        shuffle         Toggles shuffling.
        repeat  Toggles repeat.
        mono on|off     Toggles mono mode on.
        downmix on|off  Toggles downmixing 2 to 1.
        autouse on|off  Toggles 'auto use playlist on add'.
        playonload on|off       Toggles 'auto play on load'.
        playonuse on|off        Toggles 'auto play on playlist use'.
        float on|off    Toggles 'float on top'.
        font 1|2        Selects font 1 or font 2.
        size regular|small|tiny         Selects the player size.
        hide    Hides the player window.
        add file1;file2;file3   Adds file(s) to playlist. Multiple files must be separated with ';' characters.
        use     Use the playlist.
        clear   Clears the playlist.
        dir directory   Add directory to the playlist (non-recursive).
        rdir directory  Add directory to the playlist (recursive).
   
   Now for the cool part. You can control PM123 over your OS/2 Local Area
   Network. Just use \\SERVER\PIPE\PM123. \\SERVER is the name of the
   computer PM123 runs on. For example,

        [c:\usr\pm123] pm123 -cmd \\mycomputer volume 80
        [c:\usr\pm123] echo *volume 80 > \\mycomputer\pipe\pm123
        [c:\usr\pm123] pm123 -cmd \\mycomputer add d:\music\test.mp3
        [c:\usr\pm123] echo *add d:\music\test.mp3 > \\mycomputer\pipe\pm123

   Will do the same as examples above, but from a different computer.
   Easy, isn't it?
   
   PM123 registration
     _________________________________________________________________
   
   PM123 costs only $15 per copy, so it's a very good investment!
   
   Why to register?
   
   Yes, why to register shareware applications? There are numerous
   reasons. One of the most important reasons is that registering ensures
   that you'll get new versions, support, bugs fixed and most of all, a
   good feeling that you've supported OS/2 and software developers. We
   won't abandon OS/2 as long as you keep supporting us. We won't do the
   same as Colorworks authors did.
   
   Register! Where?
   
   To serve users the best way, we are handling registrations via BMT
   Micro (http://www.bmtmicro.com). The price is just $15, which will get
   you a key that will work in all future releases of PM123. You can also
   use the secure ordering server at BMT Micro for instant purchases!
   Purchase PM123 online by clicking this.

                                  Mail Orders To: BMT Micro
                                                  PO Box 15016
                                                  Wilmington, NC 28408
                                                  U.S.A.

                                        Voice Orders: 8:00am - 7:00pm EST (-5 GMT)
                                                                  (800) 414-4268 (orders only)
                                                                  (910) 791-7052

                                          Fax Orders: (910) 350-2937  24 hours/ 7 Days
                                                      (800) 346-1672  24 hours / 7 Days

                 Online Orders via modem: (910) 350-8061  10 lines, all 14.4K
                                          (910) 799-0923  Direct 28.8K line

                                        via Internet: orders@bmtmicro.com
                                                      telnet@bmtmicro.com
                                                      http://www.bmtmicro.com
                   Secure Ordering: https://www.bmtmicro.com/info/placeorder.html


         Ordering and general ordering questions:

                                                        Via AOL: bmtmicro
                                                        Via MSN: bmtmicro
                                                 Via Prodigy: HNGP66D
                                        Via Compuserve: 74031,307


         We accept Visa, Mastercard, Discover, American Express, Diners
         Club, Carte Blanche, Cashiers Check, Personal Check.   Personal
         checks are subject to clearance.  Eurochecks in DM are welcome.
         DM, Sterling, and US Currency is welcome but send only by
         registered mail, return receipt requested.   We cannot be liable
         for lost cash sent through the mail.

         If you reside in a country with an unconvertible currency please
         contact us for alternatives.

         Purchase orders are welcome, subject to approval.       The minimum
         amount is $250.00.

         Information for our German customers is explained in the last
         paragraph of this order form.

         _____________________________________________________________________

         Company:_____________________________________________________________

         Name:________________________________________________________________

         Address:_____________________________________________________________

                 _____________________________________________________________

         City: _______________________________State/Province: ________________

         Postal/ZIP Code: ____________________Country:________________________

         Phone:_______________________________________________________________

         Fax:  _______________________________________________________________

         E-Mail #1____________________________________________________________

         E-Mail #2____________________________________________________________


         Product                                        Quantity Price  Number of copies
         _________________________      ______________  ________________

         _PM123___________________      ____$15.00____  x ____________ = + $ _______

         _________________________      ______________  x ____________ = + $ _______

         _________________________      ______________  x ____________ = + $ _______

         Latest Version on Diskette _____$3.00____      x ____________ = + $ _______


         North Carolina Residents add 6% Sales Tax                         $ _______

         Shipping and Handling (no quantity limit / see below)             $ _______

           Email - Subject to Credit Card Verification     Free
           Fax (USA/Canada)...........................     1.00 US
           Fax (Non-North America)....................     2.00 US
           Worldwide 1st Class .......................     Free
           2nd Day Priority, USA Only ................ $   4.00 US
           US Postal Service International Express
                 (Including Canada and Mexico), allow up to
                 7-10 days ............................... $  25.00 US
           Airborne Select Delivery  (USA Only)            $   8.00 US
           FedEx Overnight, USA Only (delivery by
                 3:00 pm the following day) .............. $  15.00 US
           FedEx Europe/Japan (guaranteed delivery
                 within 3 days) .......................... $  35.00 US


         Total:
                                         $ _______


          For credit card payment only

          Circle one: VISA / Master / Discover / American Express / Diners

          Credit card number: _____________________________________________

          Expiration date: ________________________________________________

          Authorization signature: ________________________________________

   
   
   Support
   
   Support is provided for registered users by following means (feel free
   to send bug reports, suggestions and other cool stuff):
   
   Email: pm123@bmtmicro.com
   Web: http://sektori.com/pm123
   Voice: +358505485242 (Taneli's cellfone, remember Finnish timezone
   GMT-2!)
   
   
   Copyright, credits and greetings
     _________________________________________________________________
   
   
   
   MPG123.DLL was created with help and code from following people:

  Original mpg123 decoder written/modified by:
         Michael Hipp <Michael.Hipp@student.uni-tuebingen.de>
         Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>

  with help and code from:
         Samuel Audet <guardia@cam.org>: OS/2 port
         MPEG Software Simulation Group: reference decoder package
         Tobias Bading: idea for DCT64 in subband synthesis from maplay package
         Jeff Tsay and Mikko Tommila: MDCT36 from maplay package
         Philipp Knirsch <phil@mpik-tueb.mpg.de>: DCT36/manual unroll idea
         Niklas Beisert <nbeisert@physik.tu-muenchen.de> MPEG 2.5 tables
         Henrik P Johnson: HTTP auth patch

   
   
   MPG123.DLL special features were created by Samuel Audet and the
   graphical user interface was created by Taneli Lepp. Also code from
   following people was used:

        Generalized Bitmap Module by:
          Andy Key <nyangau@interalpha.co.uk>

        Ooura Fourier Transformation library:
         Takuya OOURA <ooura@kurims.kyoto-u.ac.jp> or <ooura@mmm.t.u-tokyo.ac.jp>

   
   
   OOURA1D.DLL contains code found in the 1 dimension DFT / DCT / DST
   package by Takuya OOURA or , who owns the copyright. Thanks to him for
   the nice code!
   
   I have replaced all double precision floats to single precision. It
   gives an awful e-07 precision instead of e-17, but it's faster and
   e-07 is by far enough for my needs.
