Public feed
#601785
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 } }
}