MPXPLAY Audio Mpeg Player v1.42 by PDSoft

If You find a bug, first of all read the 'known bugs' section below, 
if the bug isn't there, please write it to me with these informations:
-your hardware (CPU,RAM,Soundcard)
-your operating system (DOS,Win95/98)
-your command line options (i.e. mpxplay.exe -hq -pva -cf -@ playlist.m3u)
-description (what did you do, and what did the program do, when you found it)
 (i.e. keyboard operations)

Known bugs and limits:
- CDW : 
 - doesn't work on every CD-ROMs (only on those, witch can ripp (grab) audio tracks)
 - there's no sync buffer -> clicks & pops (bugs)(maybe)
 - doesn't work under WIN95/98
 - can't play mixed mode CDs (data + audio tracks)
 - doesn't work in -@x playlist
 - can't handle 2 (or more) audio disks at once (paralell in 2 drives)
- crossfade: - can't do between files with different freqency (i.e.: 22khz->44khz)
             - doesn't work at -bl, -pre1
- in MIDAS: - uses more CPU (Pentium needed)
            - interrupt decoding (-bp,-bl) doesn't work
            - -ddma doesn't work
- WAV: program can't play correctly some type of wav files (8 bit & mono files(?))
- VBR (Xing coded) files: incorrect timelenght, rewind/forward
- ESS,WSS,MIDAS plays only in active window under WIN95/98 (SB16 in background too)
- volume correction,surround and speed control may have quality bugs
- program doesn't support MPEG 2.0 and 2.5 (16,22,24,8,11,12khz) in Layer II (MP2)
- the analiser doesn't work under wav playing
- the spectrum analiser and the sound correction is not perfect yet
- missing error messages
- and maybe some other too (display bugs, crashing problems)

Not bugs, just info:
- the SBpro compatible cards sounds with 8 bits & 22khz only (bad quality)
- maximum number of playlist entries is: 7167 (right side), 1024 (left side,directory browser)

Plans (don't request them):
- desktop (screen) modifying (nicer and more active (for mouse) desktop)
- support of VBR files
- 'normal' CD audio player
- a little bit faster decoder
- support of more soundcards
  if you have source or document for a soundcard what my program doesn't support,
  (or if you have the card but you haven't the documents, try to get it from the manufacturer)
  send it to me, and I will try to implement it

Additional informations:

-LCD-DISPLAY:
 -you can configure the LCD in the MPXPLAY.INI (LCDlptport,LCDtype,LCDlines,LCDrows)
 -enable the LCD with the LCDlines variable (1 or 2 supported only)
 -only LCDtype 1 and 4 are tested (sould work)
 -you can find more hardware and software infos in the FAQ.TXT
 -software routines are not finished yet (under construction)

-SOUND CARD SETTINGS:
 -Low Level Sound Card Access:
   The program usually can autodetect the card if you don't set the environment 
   variable, and it sets the master and voice mixer channels to 90% (if it's bellow 40%), 
   but it's better (faster starting), if You do this before start the program.
   Use an environment variable to configure the PORT,IRQ and DMA values.
   (of course you must change the port, irq & dma numbers to your configuration)

  1. SB16: SET BLASTER=A220 I5 D1 H5  (Aport Iirq Ddma Hhdma)

  2. ESS : SET BLASTER=A220 I5 D1 H5

  3. WSS : SET ULTRA16=530,7,1,0,0 (the same settings, what you set in MIDAS configuration)

  14.SBpro: SET BLASTER=A220 I5 D1 T4 (Aport Iirq Ddma Ttype)

  (the ESS and WSS cards don't use IRQ, correct setting of IRQ not really needed)

  If the playing starts, but it runs very fast (4x-10x faster) or
  it plays a short block of music, after that it stops,
  then your DMA (or the IRQ) value is incorrect.
  Try the -sct (1,2,3,14) option, maybe it shows the correct value(s).

 -15. MIDAS Sound System (linked library) : supports more sound cards, 
  and by default it tries to detect them automatically (-scs 15), 
  but you can configure it manually (-scm) and to save it to a file (mpxmidas.ini).
  At the next start (-scs 15), the program automatically uses the saved settings.

-PLAYLIST usage:

 -you can create a playlist:
  - in dos with the DIR /B/ON *.MP3 > PLAYLIST.M3U command
  - with mpxplay: MPXPLAY.EXE d:\*.*\*.* -@s playlist.m3u

 -EXTENDED PLAYLIST:
  -create: MPXPLAY.EXE -is EXTLIST.MXU -ist 448 -@ PLAYLIST.M3U
       or: MPXPLAY.EXE -is EXTLIST.MXU -ist 448 d:\*.*\*.*
  -use (load): MPXPLAY.EXE -@x EXTLIST.MXU

 -Edit (modify) ID3 TAGS in MP3 files:
  make a text file with this form (max.12 chars filename+2space+artist:title):

filenam1.MP3  artist1:title1
filenam2.MP3  artist2:title2
filenam3.MP3  artist3:title3

  name it to !FILES and run my program with these options:

  MPXPLAY.EXE -iw !FILES -@ playlist.m3u

  (the listfile is same like playlist file, but with artist & title)
  and the program will append this ID3 info(s) (artist & title) 
  to the end of mp3 file(s).

-CD-WAV : the cd-wav support is not a simple audio CD player, this is
 a real time Digital Audio Copy (it reads the cda sectors and writes them to
 the sound card), because of this you can use crossfade, speed control,
 auto volume correction and surround on audio CDs! (recommended to use -bp)

-USING MPXPLAY 
 - WITHOUT HARDDISK: I haven't tested it, try -db option
 - WITHOUT VGA CARD: I also haven't tested it, try -f0 option

-LESS CPU USAGE: the program uses less cpu time without spectrum analiser, 
 volume correction, surround, soundlimit and volume meter
 use this for slow CPUs: mpxplay.exe -sl 0 -ddma -f0 -v -bl -bni -@ playlist.m3u

-SOUNDLIMIT: cuts (don't write to the output) the signal below 
 "soundlimit" it doesn't play (only decode) while, and it finishes the play 
 (exit or step to next song in playlist) in last 400 frame when volume is 
 bellow or equal to soundlimit.
 Set it to 50 for disco, 10 for classical music, 1 to cut at 'digital noise'
 and 0 to disable soundlimit checking.

-TEST MODE: in test mode (-t) the program write the output nowhere and you can 
 test the speed of your computer and my program.
 You get the the results in the end of running.
 The relativ index value means: 100% (or a little bit more) needed for the 
 playing (2297 frame/min)

-VERBOSE: in verbose mode (-v) you get more informations (header info:layer,bitrate,etc.,
 ,ID3tag info:artist,title,year,...)(use it for -f0,-ff or -fl)

-I have an Intel PII processor, and I can optimize for that cpu only

Spped test results on 128kbit (MsStereo) MP3 & 256kbit (Stereo) MP2 :
(test: mpxplay.exe -t -ff file.mp3 ; play: mpxplay.exe -fl file.mp3)
(full song loaded into Norton cache (memory))

 On Intel Celeron 300A (4.5*66.6) with PC100 SDRAM and ASUS BX mainboard

  MPXPLAY 1.42:     MP3: 57473 frames/min, index:2502.2%  CPU:4%
                    MP2: 76283 frames/min, index:3321.2%  CPU:3%

    DOSAMP 0.8:     MP3:  CPU:9.1%
                    MP2:  CPU:8.8%

  XTC-PLAY 0.97c:   MP3:  CPU:10-11%
		    MP2:  CPU: 9-10%

Speed comparsion of different computers with different versions of Mpxplay

CPU:Cyrix6X86MX 200+ AMD586-133 AMDDX4-100 486DX2-66  PPRO-200   PII-300
     frame/min,index                index
ver 1.42                                              37638,1639 57473,2502
ver 1.41                                              37208,1619 57157,2489
ver 1.40                            134.1  2143,93.3  37573,1636 57076,2485
ver 1.39                            125.0  2064,89.9  34538,1504 52771,2298
ver 1.38             3985,174       123.7  2046,89.1  34428,1499 52463,2284
ver 1.37                            117.9  1936,84.3  32380,1410 49750,2166
ver 1.36                            117.3  1937,84.3  32167,1401 49522,2156
ver 1.35             3850,168       119.9  1965,85.6  31435,1369 47639,2074
ver 1.34                              -    1930,84.0  29459,1283 46689,2033
ver 1.33                            118.4  1940,84.5  29283,1275 46488,2024
ver 1.32                            118.8  1944,84.7  29378,1279 46488,2024
ver 1.31                            119.0             31340,1365 48317,2104
ver 1.30  9259, 403  3550,147       118.3             29279,1275 46046,2009
ver 1.29  9259, 403                 117.1             25412,1106 39700,1729
ver 1.28  9155, 399                 115.7             26870,1170 41031,1786
ver 1.27  9045, 394                   -                    -      asm bug
ver 1.26  8878, 387                 111.1             22974,1000 35142,1530
ver 1.25  8732, 380                 110.7             24094,1049 37154,1617
ver 1.24  8602, 375                 108.8             23806,1037 36475,1588
ver 1.21  8010, 349                                   23192,1010 35420,1542
ver 1.20  7892, 344                                   22504, 980 33925,1477
ver 1.10  7795, 339                                   22244, 968 33483,1458
ver 1.00  7827, 341                                   22345, 973 33587,1462
ver 0.07  7647, 333                                   23023,1002 35165,1531
ver 0.06  7647, 333                                   23033,1003 35143,1530
ver 0.05  7378, 321                                   18903, 823 26512,1154
ver 0.04  7433, 327                                   18897, 823 26591,1158
ver 0.03  7379, 326                                   19010, 828 26937,1173
original: 4821, 210                                              18801,819
