This is a modified version of the opensource mp3 prx for irshell. It will play 
mp3 files from ms0:/PSP/MUSIC (if you don't change the config).
It has random and sequential play modes, pause, next and a builtin "overclocker".

This new version has a config file located in seplugins/mp3conf.txt. See that file
to customize controls or change the mp3 directory.

seplugins/irsmp3.prx is the plugin. Read an 3.02OE (or higher) plugin install guide
(http://forums.qj.net/f-psp-firmware-discussion-253/t-302oe-prx-loading-compatibility-thread-80310.html)
near the bottom of the first post,
or just copy the seplugins directory to the root of your memory stick if you don't have 
any other plugins installed.

Having too many prxs loading at the same time can reduce compatibility or 
prevent it from working properly.

It is also a good idea to wait until the game is finished loading up before starting playback.

Default Controls:
(The Note button is to the left of select)
Note + Left Trigger = pause/resume playback
Note + Right Trigger = switch playback mode between random and seqeuntial
Note + D-Pad Left  = previous song (only in sequential mode)
Note + D-Pad Right  = next song
Note + D-Pad Up = Volume up (for the mp3)
Note + D-Pad Down = Volume Down (for the mp3)
Note + Triangle = Change CPU speed forwards
Note + Cross = Change CPU speed backwards
Note + Square = Toggle On Screen Display (default off)
Note + Circle = Reload list of mp3 files (needed if you change the files in the music folder using usb)

Changelog:
0.1: Initial release
0.2: Fixed usb,suspend and resume bugs
     Added a seperate flasher for vsh mode
0.2b: Fixed a bug which could crash the psp if the mp3 filename was too long (Note there is still a limit of 100 mp3 files)
      Added subdirectory scanning (there can be any number of subdirectories)
      Added previous mode in Sequential mode 
      Modified the controls
0.2c: Fixed a bug that would cause a crash if there were more than the max # of mp3s on the memorystick
      Raised the playlist limit to 300 files
      Made on screen display off by default because it sometimes causes a crash 
      Moved allocation of playlist to user mem. This may increase compatibility.
0.3:  Re-did the playlist code so no memory allocation is needed. This saves alot of mem and will reduce crashes.
      Reset to default CPU speed on exit
0.3a: Added more CPU speeds
      Added a brightness toggle including maximum brightness(the one that normally requires your psp to be plugged in) (NOTE+X)  
0.3b: Added an independent volume button
      Should startup faster
      Made the on screen display stay on when Note + Square is pressed
      Added volume and filename to the on screen display
0.4:  Fixed for use under 3.02OE
0.4b: Uploaded fixed vsh.txt
0.4c: Added a config file ms0:/seplugins/mp3conf.txt to change the MP3 playback directory and have custom controls
0.4d: Fixed overclocking for speeds > 222MHz
      Made the 4th level brightness work by pressing the screen button
      Added an option (see the config file) to allow overclocking and wireless to be used at the same time
0.4e: Fixed the on screen display in other display modes
      Reduced the flicker of the on screen display
      Added an option (see the config file) to disable the vsh from changing the clock speed when the screen turns off
      Added a back to the cpu selection 
      (**NOTE: for some reason, the bus speed when going backwards is slower for speeds <222MHz than when going forwards)
      (I don't think this is a big problem, but I will see if I can fix it later)
0.4f: Fixed the wifi @ 333mHz for 3.03OE-A+
      Fixed disable underclocking in vsh while the screen is off for 3.03OE-A+
      Fixed a bug that messes up the sound in the browser (although something else may have been broken) (only works on 3.03OE-A+)
      Fixed a bug (that was introduced in the last release) that broke suspend support
Uses blitting code from the vshex module in the devhook 043sdk and from the unofficial psp sdk.
-----------------------------------------------------------------------
from orginal irsmp3.prx by AhMan
This MP3 Player plugin is based on the MP3 player from neogeoCD 0.91
from Yoyofr & ZeLurker and is released under the terms of the GUN
General Public License (GPL).  The original MP3 player from neogeoCD
is based on MAD (libmad) MPEG audio decoder library.

To compile this MP3 player, you'll need to download the neogeoCD 0.91
soruce code from http://www.rainemu.com/html/archive/tux/neocdpsp.html.  
After download and extracted the source codes, you'll need to remove
serveral "assert" statements (remove them or comment them out) from
timer.c & layer3.c from the libmad library source.
Then, compile neogeoCD and a libmad.a library will be generated.

To compile the MP3 player, modify the Makefile to point to the newly
generated libmad.a library & header file, or copy them to your MP3 player
source directory.

Cheers,
AhMan
-----------------------------------------------------------------------
//You probably won't need this
The precompiled libmad.a is included along with the source under neocdpspsrc/src/libmad.
To recompile it:
cd neocdpspsrc/src/libmad
./configure
cd ../..
make obj/libmad.a
