;
;Mpxplay-MMC v2.00 configuration file (not recommended to use it for other versions)
;
;always write a ';' char before the remark and empty lines
;
;If you don't need some configurations ([keyboard],[serialport],etc.) then you can delete their settings from here
;
;Keyboard mapping
;
;important: 1. don't give the same value for two different key variables,
;              because only the first one will work (the functions for the
;              keys are in the same order like the key variables)
;           2. if you want to disable a key-function, then set it to 0xffff
;              (if you remove a key-mapping (line), then the default/built-in (in keyboard.c)
;              setting will be used (usually what you see here too))
;           3. Some GUI functions call directly keyboard functions, if you disable the keycode
;              of those functions, they will not work on the GUI neither
;
;Check the KEYCODES.LST for all available keyboard codes
;
[keyboard]
KeyRewind1      =0x4b00 ; white left        rewind 50 frames (configurable with SeekFrames)
KeyRewind2      =0x4be0 ; gray  left
KeyForward1     =0x4d00 ; white right       forward
KeyForward2     =0x4de0 ; gray  right
KeyQRewind1     =0x7300 ; ctrl-white left   4x rewind (200 frames)
KeyQRewind2     =0xffff ; no key
KeyQForward1    =0x7400 ; ctrl-white right  4x forward
KeyQForward2    =0xffff ; no key
KeyPRewind      =0x73e0 ; ctrl-gray  left   seek -1% (or 4*50 frames at least)
KeyPForward     =0x74e0 ; ctrl-gray  right  seek +1%
KeyCRewind      =0xff01 ; alias for UIR     continuous 1x seeking (while you don't press again key)
KeyCForward     =0xff02 ;
KeyStepBegin    =0x0e08 ; backspace         step to begin of song
KeyStepBack     =0x4a2d ; gray -            step (back) to previous song
KeyStepForward  =0x4e2b ; gray +            step to next song in playlist
KeyStepBackCD   =0x0c2d ; white -           step back like a CD player
KeySkipAlbumBack=0xe02f ; gray /            step to previous album (subdirectory (level 0))
KeySkipAlbumFrwd=0x372a ; gray *            step to next album
KeySkipAlbL1Back=0xffff ; no key            step to previous album-group (subdir level -1)
KeySkipAlbL1Frwd=0xffff ;                   step to -"-
KeySkipAlbL2Back=0xffff ;                   step to previous album-group (subdir level -2)
KeySkipAlbL2Frwd=0xffff ;                   step to -"-
KeyExit1        =0x011b ; esc
KeyExit2        =0x2e03 ; ctrl-c
KeyExit3        =0x4400 ; F10               exit without shutdown
KeyShutDownExit =0xffff ; no key            exit with shutdown
KeyStop1        =0x1f73 ; s
KeyStop2        =0x1f53 ; S
;
KeyPlayPause1   =0x1970 ; p                 pause/start playing
KeyPlayPause2   =0x1950 ; P
KeyPlayPause3   =0x3920 ; space
KeyTimeMode1    =0x1474 ; t                 change display of time mode
KeyTimeMode2    =0x1454 ; T
KeyCrossfade1   =0x2e63 ; c                 crossfade enable/disable
KeyCrossfade2   =0x2e43 ; C
KeyFadeType1    =0x2166 ; f                 fade out/in enable/disable
KeyFadeType2    =0x2146 ; F
KeyPlayReplay1  =0x1372 ; r                 replay (repeat) playlist one/all/disable
KeyPlayReplay2  =0x1352 ; R
KeyPlayRandom1  =0x316e ; n                 random (shuffle) mode enable/disable
KeyPlayRandom2  =0x314e ; N
KeyAutoPause    =0x1910 ; ctrl-p            autopause enable/disable
KeyPauseNext    =0x1f13 ; ctrl-s            pause (before) next song
KeyHiLiteScan   =0x2064 ; d                 hi-lite scan start/stop
KeyCDdoor       =0xffff ; no key            open/close CD door (tray)
KeyID3winscroll =0xff20 ; virtual key       on/off ID3-window scroll
;
KeyVolumeReset  =0x2f16 ; ctrl-v            reset software volume to 100%
KeyAutoVolume1  =0x2f76 ; v                 autovolume enable/disable
KeyAutoVolume2  =0x2f56 ; V
KeySwapchan1    =0x2d78 ; x                 swap channels (reverse stereo)
KeySwapchan2    =0x2d58 ; X
KeyPlayMute1    =0x326d ; m                 mute sound (while push)
KeyPlayMute2    =0x324d ; M
KeyPlayMuteSw   =0x320d ; ctrl-m            mute sound (on/off switch)
KeyVolumeUp1    =0x4700 ; white-home        increase software volume
KeyVolumeUp2    =0x342e ; .
KeyVolumeDown1  =0x4f00 ; white-end         decrease software volume
KeyVolumeDown2  =0x332c ; ,
KeyVolBalanceL  =0x333c ; <                 volume balance
KeyVolBalanceR  =0x343e ; >
KeySurroundUp   =0x2827 ; '                 more surround (superb stereo)
KeySurroundDown =0x273b ; ;                 less surround (mono)
KeySpeedUp      =0x1b5d ; ]                 playing speed up
KeySpeedDown    =0x1a5b ; [                       -"-     down
KeySpeedSeekFrwd=0x2b5c ; \                 fast forward/seek (3x-9x) with speed control
KeySCardVolUp   =0x34f0 ; alt-'.'           soundcard (hardware) volume up
KeySCardVolDown =0x33f0 ; alt-','                     -"-               down
KeyBassUp       =0x2822 ; "                 more bass
KeyBassDown     =0x273a ; :                 less -"-
KeyTrebleUp     =0x1b7d ; }                 more treble
KeyTrebleDown   =0x1a7b ; {                 less -"-
KeyLoudness     =0x2b7c ; |                 50<->80 bass & treble
;
KeyEditUp1      =0x4800 ; white up          playlist editor keys
KeyEditUp2      =0x48e0 ; gray up
KeyEditDown1    =0x5000 ; white down
KeyEditDown2    =0x50e0 ; gray down
KeyEditPgUp1    =0x4900 ; white page up
KeyEditPgUp2    =0x49e0 ; gray page up
KeyEditPgDn1    =0x5100 ; white page down
KeyEditPgDn2    =0x51e0 ; gray page down
KeyEditHome     =0x47e0 ; gray home         move cursor to the top of the playlist
KeyEditEnd      =0x4fe0 ; gray end          move cursor to the bottom of the playlist
KeyEditAlbumUp  =0x9900 ; alt-gray page up  move cursor one album up (album=subdir difference in playlist)
KeyEditAlbumDn  =0xa100 ; alt-gray page dn  move cursor one album down
KeyEditCurHigh  =0x266c ; l                 move cursor to the currently played song/entry on the playside
KeyEditFieldTyp1=0x1265 ; e                 switch between player and commander mode playlist editor
KeyEditFieldTyp2=0x1245 ; E
KeyEditChgSide  =0x0f09 ; TAB               change editor side
KeyEditSubDirLst=0xff40 ; virtual key       load files from subdirs into a sublist
KeyEditUpDir1   =0x8400 ; ctrl-white-PgUp   jump to updir/uplist
KeyEditUpDir2   =0x84e0 ; ctrl-gray-PgUp
KeyEditSubDir1  =0x7600 ; ctrl-white-PgDn   jump to (open) subdir/sublist
KeyEditSubDir2  =0x76e0 ; ctrl-gray-PgDn
KeyEditRootDir  =0x2b1c ; ctrl-\            jump to rootdir/rootlist
KeyEditPListPrev=0x9500 ; ctrl-gray /       jump to previous paralell playlist
KeyEditPListNext=0x9600 ; ctrl-gray *       jump to next paralell playlist
KeyEditReLoad   =0x1312 ; ctrl-r            refresh browser / reload playlist, rescan disk
KeyEditMovSngUp1=0x8d00 ; ctrl-white-up     move highlighted entry in playlist
KeyEditMovSngUp2=0x8de0 ; ctrl-gray-up
KeyEditMovSngDn1=0x9100 ; ctrl-white-down
KeyEditMovSngDn2=0x91e0 ; ctrl-gray-down
KeyEditDelSng1  =0x4200 ; F8                delete group of selected playlist entries
KeyEditDelSng2  =0x5300 ; white del         delete playlist entry
KeyEditDelSng3  =0x53e0 ; gray del
KeyEditDelFile  =0x6f00 ; alt-F8            delete file from disk (and from playlist)
KeyEditCopyFile =0x6c00 ; alt-F5            copy file to target dir (of directory browser)
KeyEditMoveFile =0x6d00 ; alt-F6            move file to target dir (of directory browser)
KeyEditRenByID3 =0x1205 ; ctrl-e            rename file(s) by ID3
KeyEditStartSng1=0x1c0d ; enter             start selected (highlighted) song
KeyEditStartSng2=0xe00d ; keypad enter
KeyEditSelNxtSg1=0x1c0a ; ctrl-enter        select next song
KeyEditSelNxtSg2=0xe00a ; ctrl-keypad enter
KeyEditOrdFile  =0x5e00 ; ctrl-F1           order side-entries by filenames
KeyEditOrdArtist=0x5f00 ; ctrl-F2           order side-entries by artist
KeyEditOrdTitle =0x6000 ; ctrl-F3           order side-entries by titles
KeyEditOrdTime  =0x6100 ; ctrl-F4           order side-entries by time
KeyEditOrdRand  =0x310e ; ctrl-n            order side-entries random
KeyShowFileinfos=0x3d00 ; F3                show file infos (id3,header) in window
KeyEditFileinfos=0x3e00 ; F4                edit file infos (id3) in window
KeyEditCpySng   =0x3f00 ; F5                copy (group of selected) playlist entry(s) (song/list/dir/drive) to the other side (load playlist/dir entries)
KeyEditInsSng   =0xffff ; no key
KeyEditCpySngEhl=0xffff ; no key            copy entry to editorhighline pos (of other side)
KeyEditCpyEntry =0x5800 ; shift-F5          copy (group of selected) playlist entry(s) (song/list/dir/drive) to the other side (do not load list/dir entries)
KeyEditMovEntry =0x5900 ; shift-F6          move (group of selected) playlist entry(s) to the other side
KeyEditCpySide1 =0x92e0 ; ctrl-gray-Ins     copy all entries to other side
KeyEditCpySide2 =0x9200 ; ctrl-white-Ins
KeyEditClrList1 =0x93e0 ; ctrl-gray-Del     clear playlist (usually right side)
KeyEditClrList2 =0x9300 ; ctrl-white-Del
KeyEditFListPrev=0xa400 ; alt-gray-'/'      load previous fastlist ([fastlists] config)
KeyEditFListNext=0x37f0 ; alt-gray-'*'      load next fastlist
KeyEditSelSng1  =0x5200 ; white ins         select/deselect entry
KeyEditSelSng2  =0x52e0 ; gray ins          select/deselect entry
KeyEditSelGrp   =0x4ef0 ; alt-gray-'+'      select group of songs
KeyEditUnSelGrp =0x4af0 ; alt-gray-'-'      unselect group of songs
KeyEditInvGrp   =0x37f0 ; alt-gray-'*'      invert selection (if no fastlists, else modify keycode)
KeyEditSelAll   =0x9000 ; ctrl-gray-'+'     select all files
KeyEditUnSelAll =0x8e00 ; ctrl-gray-'-'     unselect all files
KeyEditCompDirs =0x5500 ; shift-F2          compare directories/sides
KeyEditInsIndex =0x1769 ; i                 insert index (duplicate entry with startpos=currpos)
KeyEditDelIndex =0x1709 ; ctrl-i            delete index (append index to next/previous index)
KeyEditSkipTab  =0x9400 ; ctrl-Tab          skip between side-tabs
KeyEditAddTab   =0x1414 ; ctrl-t            add a new tab
KeyEditDelTab   =0x1117 ; ctrl-w            delete tab
;
KeyResizeEditUp =0x9800 ; alt-gray-up       resize playlist editor/song browser
KeyResizeEditDn =0xa000 ; alt-gray-down
KeyEditChgSizeL =0x9b00 ; alt-gray-left     modify size of editorsizes
KeyEditChgSizeR =0x9d00 ; alt-gray-right
;
KeyDispHelpWin  =0x3b00 ; F1                help
KeySavePlaylist =0x3c00 ; F2                save playlist (usually right side of the editor)
KeyEditDrvLeft  =0x6800 ; alt-F1            select drive left
KeyEditDrvRight =0x6900 ; alt-F2            select drive right
KeyEditMakeDir  =0x4100 ; F7                create (sub)directory in directory-browser
KeyFTPOpen      =0x2106 ; ctrl-f            open ftp session
KeyFTPClose     =0x250b ; ctrl-k            close ftp session
KeyEditID3Search=0xff48 ; virtual key       start ID3-search with a single key (without ALT key)
KeyEditOpenFiles=0x180f ; ctrl-o            open (add) files and play (on current tab)
;------------------------------------------------------------------------------
;KeyGroups (execute more key-functions with one button)
;
;syntax: button=function1,function2,...,function16  ('button' and 'function' are 2-byte (4-digit) hexa codes)
;max. number of buttons (groups) is 32, max. number of functions is 16
;
[keygroups]
;0x4800=0x4800,0xff11    ; KeyEditUp1 + KeyLCDpage1
;0x5000=0x5000,0xff11    ; KeyEditDown1 + KeyLCDpage1
;------------------------------------------------------------------------------
;Fastlists (load list/files with one key) (max. 16 FastList lines)
;
;syntax: FastList=keycode,"filename"
;
[fastlists]
;FastList=0x8500,"f:\audiomp3\*.*\*.*"          ; F11
;FastList=0x8600,"f:\a_dvdre\classic\1.m3u"     ; F12
;FastList=0x0000,"f:\a_dvdre\1.m3u"             ; keycode is not required
;FastList=0x0000,"f:\*.*\*.*"                   ; you can use alt-gray-'/' and '*' too
;FastList=0x0000,"h:\*.*\*.*"                   ;
;------------------------------------------------------------------------------
;Mouse button functions (doesn't work yet here)
;
;Btn1:left, Btn2:center, Btn3:right; Pri:continuous press, Sec:single click
;
[mouse]
EnableMouse=1           ; turn on/off mouse (0 or 1)
MouseFuncBtn1Pri=0x0000 ; 
MouseFuncBtn1Sec=0x0000 ;
MouseFuncBtn2Pri=0x4be0 ; 0x4be0 : gray-left
MouseFuncBtn2Sec=0x0c2d ; 0x0c2d : white-'-'
MouseFuncBtn3Pri=0x4de0 ; 0x4de0 : gray-right
MouseFuncBtn3Sec=0x4e2b ; 0x4e2b : gray-'+'   (desktop: select/unselect song)
MouseFuncWheelUp=0x0000 ;                     (desktop: editorhighline up)
MouseFuncWheelDn=0x0000 ;                     (desktop: editorhighline down)
;------------------------------------------------------------------------------
;Joystick settings, function mappings
;
[joystick]
Joy1Port        =0x0000 ; enable joy 1 with the port setting (0x0200-0x0210)
Joy1FuncLeft    =0x7300 ; rewind
Joy1FuncRight   =0x7400 ; fast-forward
Joy1FuncUp      =0x4800 ; editorhighline up
Joy1FuncDown    =0x5000 ; editorhighline down
Joy1FuncBtn1    =0x1c0d ; enter (start song)
Joy1FuncBtn2    =0x4a2d ; skip back
Joy2Port        =0x0000 ; enable joy 2 with the port setting (0x0200-0x0210)
Joy2FuncLeft    =0x0000 ; 
Joy2FuncRight   =0x0000 ; 
Joy2FuncUp      =0x0000 ; 
Joy2FuncDown    =0x0000 ; 
Joy2FuncBtn1    =0x4e2b ; skip forward        (joy2btn1=joy1btn3)
Joy2FuncBtn2    =0x326d ; mute                (joy2btn2=joy1btn4)
JoyAxisPreDelay =16     ; pre-delay before axis (function) repeat (16 = 0.5 sec)
JoyAxisDelay    =1      ; axis delay (repeat interval) (1=20char/sec,2=13char/sec)
JoyButtonPreDly =14     ; pre-delay before button repeat
JoyButtonDelay  =1      ; button delay (repeat interval)
JoySensitivity  =2      ; joy axis sensitivity (1-3)
;------------------------------------------------------------------------------
;Serial and parallel port control (send in N bytes on COM port, execute key-function)
;(port config for COM/UIR : 8 data bits, 1 stop bit, no parity)
;
; HandlerCFG=handlername,portname,baud,indatalen
;  handlername : UIR (see control\serial.c)
;  portname    : COM1 .. COM4  (any other: ignored portname/portnumber)
;  baud        : com port speed, max. 115200
;  indatalen   : 1 - 16
;
; SerialFunc=databytes_in_hexa,keyboard_code_in_hexa (2 hexa numbers = 1 byte)
;
[serialport]
SerialEnable =0               ;     - set to 1 to enable serial control
HandlerCFG   =UIR,COM1,9600,6 ;     - configure a handler
SerialFunc =45ba00ff0000,0b30 ; '0' - set functions (buttons) for this handler
SerialFunc =45ba807f0000,0231 ; '1'  
SerialFunc =45ba40bf0000,0332 ; '2'  These values are configured
SerialFunc =45bac03f0000,0433 ; '3'  to my remote controller.
SerialFunc =45ba20df0000,0534 ; '4'
SerialFunc =45baa05f0000,0635 ; '5'  You can declare max 99 SerialFunc lines (buttons)
SerialFunc =45ba609f0000,0736 ; '6'  for one handler.
SerialFunc =45bae01f0000,0837 ; '7'
SerialFunc =45ba10ef0000,0938 ; '8'
SerialFunc =45ba906f0000,0a39 ; '9'
SerialFunc =45ba68970000,1f73 ; 's' stop
SerialFunc =45ba18e70000,1970 ; 'p' play/pause
SerialFunc =45bae8170000,1970 ; 'p' play/pause
SerialFunc =45ba52ad0000,316e ; 'n' random mode
SerialFunc =45ba88770000,4a2d ; '-' skip back
SerialFunc =45ba08f70000,4e2b ; '+' skip to next
SerialFunc =45ba7a850000,2064 ; 'd' hi-lite scan
SerialFunc =45baf00f0000,ff01 ; continuous rewind
SerialFunc =45ba708f0000,ff02 ; continuous forward
SerialFunc =45ba38c70000,4400 ; F10 exit
SerialFunc =45bad02f0000,332c ; ,   volume down
SerialFunc =45ba50af0000,342e ; .   volume up
SerialFunc =45ba6a950000,372a ; gray-'*' next album
SerialFunc =45bab04f0000,ffff ; reserved (was 'J')
;
;------------------------------------------------------------------------------
;Common & command line variables (don't modify the structure of these lines at UseVariables=3 !)
;
[global]
UseVariables =3         ;0:don't use, 1:use (load only), 3:(load and) save these variables at exit
ProgramCntrl =17        ;+1:-xce +2:-xas +8:always autodetect filetype +16: use external sysapp
Prebuffertype=2         ;0:no buffer, 1: -bs, 2: -bp, 4: -bl, 18: -bpn, 34: -bb
Intsoundcfg  =1         ;multi thread decoding config, don't modify
Bufferblocks =0         ;prebuffer blocks at -bs,-bp (0:auto setting -> 4,32) (1 block is 32 kbytes)
PlaySongCount=999999999 ;-psc
PlayRandom   =0         ;1:-prn 2:-prn2
PlayReplay   =0         ;1:-pre1 2:-pre
PlayControl  =0         ;+1:-ppa +2:-phs +4:-ppn +8:-phsh
PlayHSstart  =1:00      ;highlite scan start position
PlayHScount  =0:10      ;highlite scan length
SeekFrames   =50        ;at left/right-arrows (4x at ctrl-left/right)
Outmode      =2         ;output destination and format config (-obf)
SoundcardName=AUTO      ;-scs (AUTO, WDS, WIN, NUL)
SoundcardFreq=0         ;manual setting of output freq (0:outfreq is controlled by freq of song(s))
SoundcardChan=0         ;manual setting of output channels (WDS or wav-output)
SoundcardBits=24        ;manual setting of output bits (WIN,WDS,wav-output)
SoundcardVol =-1        ;-scv (0-100)(-1:get value from the card)
SoundcardTrbl=100       ;-sctr (0-100-200)(100: original tone)
SoundcardBass=100       ;-scbs (0-100-200)
MixerControl =1         ;+1:enable limiter, +4: 0.1% speed control (500-1000-9999)
SoundVolume  =100       ;-sv
AutoVolume   =0         ;-sva (slow volume correction (up and down too))
Surround     =100       ;-sr
Speed        =100       ;-sp
Balance      =0         ;(-99...0...+99)
Swapchan     =0         ;swap channels (reverse stereo)
LoudnessVol  =230       ;expand/loudness value of volume
LoudnessSurr =120       ; -"- surround
LoudnessBass =140       ; -"- bass
LoudnessTrebl=150       ; -"- treble
SoundLimitVol=5         ;-sl
SoundLimitBeg=400       ;check begins at EndOfFile-SoundLimitBeg (in frames)
SoundLimitLen=23        ;length of check
UseCrossfade =0         ;-cf
CFtype       =3         ;-cft
CFlimit      =0         ;-cfl
CFpoint      =120       ;-cfp
CFoutlength  =250       ;-cfo
CFinlength   =200       ;-cfi
ChannelMode  =1         ;0:-cl (mp3,ogg) 2:-cm (mp3)
CDWcontrol   =1         ;1:jitter correction
CDWspeed     =0         ;0: no change (1-48: set CD speed) (initialized at loading of root-dir and at door-close with 'o' key)
Displaymode  =126       ;see moreinfo.txt for details (126=2+4+8+16+32+64)
DesktopmodeP =491       ;see moreinfo.txt (507=1+2+8+16+32+64+128+256)
DesktopmodeC =656495    ;you can select between Desktopmode P and C with 'E'-key or Displaymode+128 flag
TimeMode     =0         ;0:elapsed, 1:remaining, 2:allelapsed, 3:allremaining
PlayListCntrl=0         ;+1:disable warnings +2:-db +4:-db2 +8:-il +16:non-filter search
Preloadinfo  =2         ;0:-inl 1:load at prg start 2:-ipl 3:-idl 4:-ihl
ID3ordertype =99        ;-io  (see readme.txt)
SortControl  =0         ;+2:sort directories too, +4:disable auto descending, +8:don't keep playlist on the top
LoadID3tag   =39        ;0: -in, +1: use mxu/extm3u/id3list, +2: load tags from audio files, +4: create id3info from filenames, +8: prefer list-tags, +16: preload from ftp,http, +32: load ID3 from low level
UseLFN       =1         ;+1 : enable (has effect at +2 option only), +2: auto SFN<->LFN conversion at playlists (conversion direction depends on the +1 flag)
FileTypesExt =MP?       ;loaded / displayed extra file types in player mode (extensions are separated with ',') (MP?,EXT2,EXT3,ETC*)
StartupType  =19        ;+1:load +2:save +4:use CMOS +8:start playing +16:restore all tabs +32:save at every new file
