alias mmp3 { if ($dialog(mmp3)) { dialog -ve mmp3 mmp3 } | else { dialog -md mmp3 mmp3 } } dialog mmp3 { title "Epic Mp3 Player" option dbu icon $mircdir\Graphic\KS1.ico, 0 size -1 -1 200 200 box "",230, 1 1 198 33 text "No Music Playing", 1, 4 7 154 7 text "00:00 / 00:00",2,160 7 37 7 button "<<",100,4 20 37 12 button "&Play",101,42 20 38 12 button "Paus&e",102,81 20 38 12 button "&Stop",103,120 20 38 12 button ">>",104,159 20 38 12 box "",231, 1 30 198 169 list 3, 3 36 194 154, hsbar, vsbar, sort button "+ File",105, 4 186 18 10 button "+ Dir",106, 24 186 18 10 button "- Sel",107, 158 186 18 10 button "- All",108, 178 186 18 10 menu "&File",150 menu "&Options", 170 item "Add &File",151,150 item "Add &Dir",152,150 item break,153,150 item "Delete &Selected",154,150 item "Delete &All",155,150 item break,156,150 item "&Load Playlist",157,150, item "Save &Playlist",158,150 item break,159,150 item "E&xit",160,150 menu "Play &Mode",183,170 item "&Single",184,183 item "&Continuous",185,183 menu "Play &Order",171,170 item "&Normal",172,171 item "&Shuffle",173,171 item break,177,170 menu "&Announcing",178,170 item "O&n",179,178 item "O&ff",180,178 item break,181,178 item "&Configure",182,178 button "", 255,0 0 0 0, ok default } ; EVENTS ;dialog init on *:dialog:mmp3:init:0:startup ; +File button on *:dialog:mmp3:sclick:105:plusfile ; +Dir button on *:dialog:mmp3:sclick:106:plusdir ; -Sel button on *:dialog:mmp3:sclick:107:minsel ; -All button on *:dialog:mmp3:sclick:108:minall ; Play button on *:dialog:mmp3:sclick:101:playmp3 ; Pause button on *:dialog:mmp3:sclick:102:pausemp3 ; Stop button on *:dialog:mmp3:sclick:103:stopmp3 ; Next button on *:dialog:mmp3:sclick:104:playnext ; Previous button on *:dialog:mmp3:sclick:100:playprev ; double click mp3 on *:dialog:mmp3:dclick:3:playmp3 ; menu add file on *:dialog:mmp3:menu:151:plusfile ; menu add dir on *:dialog:mmp3:menu:152:plusdir ; menu del sel on *:dialog:mmp3:menu:154:minsel ; menu del all on *:dialog:mmp3:menu:155:minall ; menu load playlist on *:dialog:mmp3:menu:157:loadplaylist ; menu save playlist on *:dialog:mmp3:menu:158:saveplaylist ; menu exit on *:dialog:mmp3:menu:160:dialog -x mmp3 ; halt enter on *:dialog:mmp3:sclick:255:halt ; menu play mode single on *:dialog:mmp3:menu:184:modesingle ; menu play mode continuous on *:dialog:mmp3:menu:185:modecontin ; menu play order normal on *:dialog:mmp3:menu:172:ordernormal ; menu play order shuffle on *:dialog:mmp3:menu:173:ordershuffle ; menu announce on on *:dialog:mmp3:menu:179:announceon ; menu announce off on *:dialog:mmp3:menu:180:announceoff ; configure announce on *:dialog:mmp3:menu:182:$dialog(mannounce,mannounce) ; on exit : cleanup on *:exit:cleanup ; on load on *:load:echo -a 9,1Script Loaded!! 11Thanks 9for choosing the m|ndless mp3 Player ! ; ALIASES alias -l mp3list return sounds\mp3list.mrc alias -l mp3src return sounds\mp3src.mrc alias -l mp3player { if ($dialog(mmp3)) return $true } alias -l history return sounds\history.tmp alias -l cleanup { unset %mmp3-paused .remove $history } alias -l announceoff { if (%mmp3-announce) { unset %mmp3-announce | did -u mmp3 179 } did -c mmp3 180 } alias -l announceon { if (!%mmp3-announce) { set %mmp3-announce true | did -u mmp3 180 } did -c mmp3 179 } alias -l ordernormal { if (%mmp3-shuffle) { unset %mmp3-shuffle | did -u mmp3 173 } did -c mmp3 172 } alias -l ordershuffle { if (!%mmp3-shuffle) { set %mmp3-shuffle true | did -u mmp3 172 } did -c mmp3 173 } alias -l modesingle { if (%mmp3-contin) { unset %mmp3-contin | did -u mmp3 185 } did -c mmp3 184 } alias -l modecontin { if (!%mmp3-contin) { set %mmp3-contin true | did -u mmp3 184 } did -c mmp3 185 } alias -l startup { if (%mmp3-paused) { unset %mmp3-paused } if (%mmp3-shuffle) { did -c mmp3 173 } else { did -c mmp3 172 } if (%mmp3-announce) { did -c mmp3 179 } else { did -c mmp3 180 } if (%mmp3-contin) { did -c mmp3 185 } else { did -c mmp3 184 } .timer -m 1 1 addmp3 } alias -l saveplaylist { :begin var %file = $sfile(*.mpl,Save Playlist ...,Ok) if (%file) { if ($right(%file,4) !== .mpl) { var %tmp = $input(Wrong file extension selected! Playlists should have extension .mpl !,260,Error) goto begin } if ($len($nopath(%file)) == 4) { var %tmp = $input(Corrupt filename selected! Playlists should have extension .mpl AND have a filename!,260,Error) goto begin } :continue .copy -o $mp3list %file .copy -o $mp3src $left(%file,$calc($len(%file) - 4)) $+ .src } } alias -l loadplaylist { :begin var %file = $sfile(*.mpl,Select Playlist to load...,Ok) if ($isfile(%file)) { minall .copy -o %file $mp3list .copy -o $left(%file,$calc($len(%file) - 4)) $+ .src $mp3src addmp3 } } alias -l plusfile { var %file = $sfile(*.mp3,Select mp3 to add,Ok) if (%file) { addlist %file addmp3 %file } } alias -l plusdir { var %dir = $sdir(Select directory, Ok) if (%dir) { var %total = $findfile(%dir,*.mp3,0,addlist $1-) addmp3 } } alias -l minsel { var %tmp = $read($mp3list, swt, $did(mmp3,3).sel) write -dl $+ $readn $mp3src write -dl $+ $readn $mp3list did -d mmp3 3 $did(mmp3,3).sel } alias -l minall { .remove $mp3list .remove $mp3src did -r mmp3 3 } alias -l getinfo { var %x = $1- var %artist = $mp3(%x).artist var %title = $mp3(%x).title if ((%artist == $null) || (%title == $null)) { return $left($nopath(%x),$calc($len($nopath(%x)) - 4)) } else { return %artist - %title } } alias -l addmp3 { var %count = $lines($mp3list) if ($1) { did -a mmp3 3 $read($mp3list,%count) } else { did -r mmp3 3 var %i = 1 while (%i <= %count) { did -a mmp3 3 $read($mp3list,%i) inc %i } } did -z mmp3 3 } alias -l playmp3 { if ($did(mmp3,3).sel) { did -a mmp3 1 $did(mmp3,3).seltext dialog -t mmp3 $did(mmp3,3).seltext .timersetinfo 0 1 setinfo if (%mmp3-paused) { unset %mmp3-paused splay resume } else { var %tmp = $read($mp3list,swt,$did(mmp3,3).seltext) var %src = $read($mp3src,$readn) .splay -p %src if (%mmp3-announce) { announce %src } } } else { var %tmp = $input(No File Selected!,260, Error) dialog -ve mmp3 } write $history $did(mmp3,3).seltext } alias -l stopmp3 { splay stop did -a mmp3 2 00:00 / 00:00 did -a mmp3 1 No Music Playing dialog -t mmp3 m|ndless' mp3 Player if (%mmp3-paused) { unset %mmp3-paused } .timersetinfo off } alias -l pausemp3 { if (%mmp3-paused) { unset %mmp3-paused | splay resume | .timersetinfo 0 1 setinfo } else { splay pause | set %mmp3-paused true | .timersetinfo off } } alias -l addlist { var %file = $1- write $mp3src %file write $mp3list $getinfo(%file) } alias -l setinfo { if ($mp3player) { if ($inmp3) { var %long = $calc($int($calc($inmp3.pos / 1000)) / 60) var %mins = $int(%long) var %secs = $calc(%long - %mins) var %secs = $round($calc(%secs * 60),0) if (%mins < 10) { %mins = $+(0,%mins) } if (%secs < 10) { %secs = $+(0,%secs) } did -a mmp3 2 $+(%mins,:,%secs) / $getlength($inmp3.fname) } else { .timersetinfo off if (!%mmp3-contin) { stopmp3 } else { if (!%mmp3-shuffle) { playnext } else { shuffle } playmp3 } } } else { splay stop | .timersetinfo off } } alias -l getlength { var %tlong = $calc($int($calc($mp3($1-).length / 1000)) / 60) var %tmins = $int(%tlong) var %tsecs = $calc(%tlong - %tmins) var %tsecs = $round($calc(%tsecs * 60),0) if (%tmins < 10) { %tmins = $+(0,%tmins) } if (%tsecs < 10) { %tsecs = $+(0,%tsecs) } return $+(%tmins,:,%tsecs) } alias -l playnext { if (%mmp3-shuffle) { shuffle } else { if ($did(mmp3,3).sel == $did(mmp3,3).lines) { did -c mmp3 3 1 } else { did -c mmp3 3 $calc($did(mmp3,3).sel + 1) } if ($inmp3) { unset %mmp3-paused | playmp3 } } if ($inmp3) { unset %mmp3-paused | playmp3 } } alias -l shuffle { if (%mmp3-paused) { unset %mmp3-paused } did -c mmp3 3 $rand(1,$did(mmp3,3).lines) } alias -l playprev { var %tmp = $read($history,w, $did(mmp3,3).seltext) did -c mmp3 3 $didwm(mmp3,3,$read($history,$calc($readn - 1))) write -d $history if ($inmp3) { unset %mmp3-paused | playmp3 } } on *:dialog:mannounce:sclick:11:{ did -e mannounce 20 | did -b mannounce 21 } on *:dialog:mannounce:sclick:12:{ did -e mannounce 21 | did -b mannounce 20 } on *:dialog:mannounce:sclick:10:{ did -b mannounce 20,21 } alias mp3 { dialog -m mp3sys mp3sys } dialog mp3sys { title "Mp3 System " size -1 -1 176 145 option dbu icon $mircdir\Graphic\KS1.ico, 0 list 1, 41 3 132 66, size hsbar vsbar button "Play", 2, 8 4 26 10 button "Stop", 3, 8 24 26 10 button "Pause", 4, 8 14 26 10 button "Mute", 5, 8 34 26 10 box "Total mp3s:", 6, 3 60 36 22 edit "", 7, 7 67 28 11, read center box "Current playing:", 8, 3 84 114 22 edit "", 9, 7 91 106 11, read autohs button "Next", 10, 117 70 24 9 button "Previous", 11, 91 70 24 9 box "Say to:", 12, 3 108 141 22 button "Close", 16, 145 134 30 10, cancel button "Help", 17, 114 134 30 10 button "Open directory", 19, 42 70 42 9 button "Current channel", 13, 8 116 50 10 button "To myself", 14, 63 116 33 10 button "All channels", 15, 102 116 37 10 box "", 20, 143 108 30 22 button "Say it", 21, 146 116 24 10 button "Resume", 22, 8 44 26 10 button "Clear all", 23, 146 70 24 9 box "Volume:", 24, 131 84 35 21 button "-", 25, 136 92 10 9 button "+", 26, 151 92 10 9 } on *:dialog:mp3sys:init:*: { did -a mp3sys 7 %mp3sys.total did -a mp3sys 9 %mp3sys.playing if (%mp3sys.say.chan == on) { did -c mp3sys 13 } elseif (%mp3sys.say.chan == off) { did -c mp3sys 13 } } on *:dialog:mp3sys:sclick:19: { set %mp3sys.lines $lines(mp3list.txt) set %mp3sys.dir $sdir(c:\,Select folder to add to mp3's playlist) set %mp3sys.num $findfile(%mp3sys.dir,*.mp3,*) set %mp3sys.artist $mp3(%filename).artist set %mp3sys.song $mp3(%filename).title } menu * { mp3 player: { if ($dialog(mmp3)) { dialog -ve mmp3 mmp3 } | else { dialog -md mmp3 mmp3 } } }