Posted on October 2, 2006
Software Configuration
The final step was to setup the software. The harddrive contained all my music and I'd used winamp on my desktop to create various playlists I'd want to listen to. The first step was to make MPXPLAY run automatically on bootup. For this I needed to create a file called autoexec.bat in the root directory of the harddrive. It contained the following text:
autoexec.bat
c:/doslfn/doslfn c:/mpxplay/mpxplay
The next step was to configure the keyboard controls to be relevant to what I had selected. In the DOCs folder theres a list of all the codes that relate to each key. Note: where the programmer referred to certain keys as "gray" it means keys on the number pad. So you browse through the mpxplay.ini file under the keyboard control section removing keycodes relevant to the keys you are using and replacing them with the code: "0xffff" which means "no key assigned". The next step is to find the functions you want to use and assign the relevant keycode to it, so if I assigned "b" to be "skip to next track", in my mpxplay.ini file the line would read:
mpxplay.ini
KeyStepForward =0x3062 ;
The main keys I set up were volume up and down, skip to next track, pause (which unpauses when pressed again), random on/off and repeat on/off. An extra function of the software is the ability to browse a file manager or playlist independently (called the editor in the software). I assigned one key to "KeyEditChgSide" which changed the main view from the filemanager to the playlist. I also set up keys to browse up and down the editor, and a key to select. I could now control opening of files and playlists and select songs to play in playlists directly. Next I assigned a key to "KeyLCDpageNext", the function of which will be explained below.
Finally I assigned a key to Exit the software. Exiting the software saves the settings for volume, current playlist, current playing track, where in the track we are, the status of the random and repeat modes as well as other settings with no keys assigned - all of which won't otherwise be saved at power off. This does means this button needs to be pressed every time you want to save your settings for when you next start up the software.
The next stage in the mpxplay.ini file was to set-up the display
settings. Different screens are referred to as pages, and you will need 2
pages, one to show information on the current track playing and one to
show the editor, this is where the "KeyLCDpageNext" function comes in
to let you change what you see. There's a fair amount of customisation
here (information is in the Lcd_disp.txt file in the DOCS directory), and
you can create more pages if you want but here is an example of mine:
mpxplay.ini
[LCDdisplay] LCDport =LPT1 ;LPT1..LPT4 or COM1..COM4 LCDtype =1 ;1,2,3,4: LPT, 5,6,7,8:COM-port LCD LCDrows =20 ;number of characters/line (usually 8-40)(max. 512) LCDlines =4 ;number of LCD lines (1-16) LCDportdelay =5 ;for LCDtype 1,2,4 (value should be between 1 and 500 (or maybe more))(increase it if the display doesn't work properly, reduce it to get a faster displaying) LCDrefresh =0 ;refresh delay (lower value faster, higher value slower refresh (0=40fps,1=20fps,3=7fps,5=4fps)) LCDscrollspeed=4 ;(-"-) LCDscrolldelay=30 ;pre-delay before scrolling (20 = 1 sec) LCDpagereset =400 ;(re)set LCD to page 0. after n/20 sec (20 = 1 sec) if there's no desktop (keyboard) activity ;LPT to LCD controlbit configuration for LCDtype 1 and 3 (different wiring schemes, different bit configs)(0x01=LPT-pin 1, 0x02=LPT-pin 14, 0x04=LPT-pin 16, 0x08=LPT-pin 17) ;(note: old LCDtype3 cfg: RS=0x08,E1=0x01, old LCDtype4 cfg:RS=0x04,E1=0x08) (set the unused bits to 0x00) LPT_cntrlbit_RW=0x02 ;read/write bit (used at type 3) LPT_cntrlbit_RS=0x04 ;register select bit (command/data) LPT_cntrlbit_E1=0x01 ;enable (data send) for controller 1. LPT_cntrlbit_E2=0x08 ;enable for controller 2. (LCDtype 1 only: 4x40 displays) ;display-item config(s) LCD_items=1,linescroll,P_TITLE," "; LCD_items=2,linescroll,P_ARTIST," "; LCD_items=3,p_timepos,"::",p_songtime; LCD_items=4,2,"[Vol:",mix_vol,"|",s_hq,"|",s_re,"|",s_rn,"]"; LCD_items1=1,linescroll,editorhlinem1," "; LCD_items1=2,linescroll,editorhline," "; LCD_items1=3,linescroll,editorhlinep1," "; LCD_items1=4,linescroll,editorhlinep2," ";
These settings tell the software to use a 20x4 display based on the HD44780 chip. The first page will show the song title and artist, let you know how far into the track has played and what the full song length is, and tell you the volume level, whether high quality is switched on, the repeat mode, and whether random is activated. The second page will show the editorbrowser, the second line of the screen is the currently highlighted file with the other three lines showing the tracks either side.
The final thing to set is the startup setting. At the end of the mpxplay.ini file you'll find these settings and you'll need to adjust them to look something like this:
mpxplay.ini
[startup] StartupEnabled =11 OldListType =0 OldListname =C:\ OldSongname = OldFrameNum =2755
These settings tell the software to load the last saved playlist and track settings as well as any other variables for the software and when the exit key is pressed to save the current settings.
One final note: When setting up the software I found playback to be faster than it should be. When connected to a monitor, a part of the screen displays the playback speed - you can adjust this speed until the playback sounds normal. Then you need to edit this line to reflect the speed shown in the software. For some reason I found it did not save this setting when exiting:
mpxplay.ini
Speed =100 ;-sp
Quick Links
Mailing Lists:
Mini-ITX Store
Projects:
Show Random
Accordion-ITX
Aircraft Carrier
Ambulator 1
AMD Case
Ammo Box
Ammo Tux
AmmoLAN
amPC
Animal SNES
Atari 800 ITX
Attache Server
Aunt Hagar's Mini-ITX
Bantam PC
BBC ITX B
Bender PC
Biscuit Tin PC
Blue Plate
BlueBox
BMW PC
Borg Appliance
Briefcase PC
Bubbacomp
C1541 Disk Drive
C64 @ 933MHz
CardboardCube
CAUV 2008
CBM ITX-64
Coelacanth-PC
Cool Cube
Deco Box
Devilcat
DOS Head Unit
Dreamcast PC
E.T.PC
Eden VAX
EdenStation IPX
Encyclomedia
Falcon-ITX
Florian
Frame
FS-RouterSwitch
G4 Cube PC
GasCan PC
Gingerbread
Gramaphone-ITX-HD
GTA-PC
Guitar PC
Guitar Workstation
Gumball PC
Hirschmann
HTPC
HTPC2
Humidor 64
Humidor CL
Humidor II
Humidor M
Humidor PC
Humidor V
I.C.E. Unit
i64XBOX
i-EPIA
iGrill
ITX Helmet
ITX TV
ITX-Laptop
Jeannie
Jukebox ITX
KiSA 444
K'nex ITX
Leela PC
Lego 0933 PC
Legobox
Log Cabin PC
Lunchbox PC
Mac-ITX
Manga Doll
Mantle Radio
Mediabox
Mega-ITX
Micro TV
Mini Falcon
Mini Mesh Box
Mini-Cluster
Mobile-BlackBox
Moo Cow Moo
Mr OMNI
NAS4Free
NESPC
OpenELEC
Osh Kosh
Pet ITX
Pictureframe PC
Playstation 2 PC
Playstation PC
Project NFF
PSU PC
Quiet Cubid
R2D2PC
Racing The Light
RadioSphere
Restomod TV
Robotica 2003
Rundfunker
SaturnPC
S-CUBE
SEGA-ITX
SpaceCase
SpacePanel
Spartan Bluebird
Spider Case
Supra-Server
Teddybear
Telefunken 2003
TERA-ITX
The Clock
ToAsTOr
Tortoise Beetle
Tux Server
Underwood No.5
Waffle Iron PC
Windows XP Box
Wraith SE/30
XBMC-ION