rendered paste bodyalias mmp3 { if ($dialog(mmp3)) { dialog -ve mmp3 mmp3 } | else { dialog -md mmp3 mmp3 } }
dialog mmp3 {
title "m|ndless' 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 }
}
alias -l announce {
if ($server) {
if (!%mmp3-noid3) {
echo -at No settings for m|ndless' mp3 Player found. Running single time initialisation.
$dialog(mannounce,mannounce)
}
var %artist = $mp3($1-).artist
var %title = $mp3($1-).title
if ((%artist == $null) || (%title == $null)) {
var %msg = $replace(%mmp3-noid3,&filename,$left($nopath($inmp3.fname),$calc($len($nopath($inmp3.fname)) - 4)))
}
else {
var %msg = $replace(%mmp3-msg,&artist,%artist,&title,%title)
}
if (!%mmp3-sep) { set %mmp3-sep <> }
if (%mmp3-saylen) { %msg = $+(%msg,$chr(160),%mmp3-sep $getlength($inmp3.fname)) }
if (%mmp3-saybit) { %msg = $+(%msg,$chr(160),%mmp3-sep $mp3($inmp3.fname).bitrate,Kbs) }
if (%mmp3-saysize) { %msg = $+(%msg,$chr(160),%mmp3-sep $bytes($file($inmp3.fname).size,m),Mb) }
if (!%mmp3-ann) { set %mp3-ann all }
if (%mmp3-ann == all) {
var %chans = $chan(0)
var %i = 1
while (%i <= %chans) {
var %t = $replace(%msg,&chan,$chan(%i))
%t
inc %i
}
}
else {
if (%mmp3-ann == dont) {
var %chans = $chan(0)
var %i = 1
while (%i <= %chans) {
if ( $matchtok(%mmp3-chans-dont,$chan(%i),1,$chr(44)) ) { }
else {
var %t = $replace(%msg,&chan,$chan(%i))
%t
}
inc %i
}
}
elseif (%mmp3-ann == only) {
var %chans = $chan(0)
var %i = 1
while (%i <= %chans) {
if ( $matchtok(%mmp3-chans-only,$chan(%i),1,$chr(44)) ) {
var %t = $replace(%msg,&chan,$chan(%i))
%t
}
inc %i
}
}
}
}
}
on *:dialog:mannounce:init:0:{
if (%mmp3-saylen) { did -c mannounce 1 }
if (%mmp3-saybit) { did -c mannounce 2 }
if (%mmp3-saysize) { did -c mannounce 3 }
if (!%mmp3-sep) { set %mmp3-sep <> }
did -a mannounce 70 %mmp3-sep
if (!%mmp3-ann) { %mmp3-ann = all }
if (%mmp3-ann == all) { did -c mannounce 10 | did -b mannounce 20,21 }
if (%mmp3-ann == dont) { did -c mannounce 11 | did -b mannounce 21 }
if (%mmp3-ann == only) { did -c mannounce 12 | did -b mannounce 20 }
did -ra mannounce 20 %mmp3-chans-dont
did -ra mannounce 21 %mmp3-chans-only
if (!%mmp3-msg) { %mmp3-msg = /ame is listening to &artist - &title }
did -a mannounce 50 %mmp3-msg
if (!%mmp3-noid3) { %mmp3-noid3 = /ame is listening to &filename }
did -a mannounce 51 %mmp3-noid3
}
; Ok button
on *:dialog:mannounce:sclick:200:{
if ($did(mannounce,1).state == 1) { set %mmp3-saylen true }
else { unset %mmp3-saylen }
if ($did(mannounce,2).state == 1) { set %mmp3-saybit true }
else { unset %mmp3-saybit }
if ($did(mannounce,3).state == 1) { set %mmp3-saysize true }
else { unset %mmp3-saysize }
if ($did(mannounce,10).state == 1) { set %mmp3-ann all }
if ($did(mannounce,11).state == 1) { set %mmp3-ann dont }
if ($did(mannounce,12).state == 1) { set %mmp3-ann only }
%mmp3-chans-dont = $did(mannounce,20).text
%mmp3-chans-only = $did(mannounce,21).text
set %mmp3-msg $did(mannounce,50).text
set %mmp3-noid3 $did(mannounce,51).text
set %mmp3-sep $did(mannounce,70).text
dialog -x mannounce
dialog -v mmp3
}
; radio buttons
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 }
; mp3 system is not currently done! :S
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 } }
}
alias bprot { dialog -m ebap ebap }
dialog ebap {
title "Easy Ban Protection"
size -1 -1 103 78
option dbu
icon $mircdir\Graphic\KS1.ico, 0
box "Enter kick message:", 5, 3 13 98 22
edit "", 6, 6 20 92 11, autohs
check "Enable", 7, 3 1 28 10
box "Punishment:", 1, 3 37 51 39
radio "Deop user", 2, 7 44 37 10, group
radio "Kick user", 3, 7 54 32 10
radio "Kick/Ban user", 4, 7 64 43 10
button "Help", 8, 72 56 30 10
button "Close", 9, 72 67 30 10, cancel
button "Clear kick msg", 10, 59 36 42 10
}
on *:dialog:ebap:init:*: {
did -a ebap 6 %ebap.kmsg
if (%ebap.p == d) { did -c ebap 2 }
elseif (%ebap.p == k) { did -c ebap 3 }
elseif (%ebap.p == kb) { did -c ebap 4 }
if (%ebap.st == on) { did -c ebap 7 | did -e ebap 2,3,4,6,10 }
if (%ebap.st == off) { did -b ebap 2,3,4,6,10 }
}
on *:dialog:ebap:sclick:*: {
if ($did == 7) { if ($did(ebap,$did).state == 1) { did -e ebap 2,3,4,6,10 | set %ebap.st on | .enable #prot } | else { did -b ebap 2,3,4,6,10 | set %ebap.st off | .disable #prot } }
if ($did == 2) { set %ebap.p d }
if ($did == 3) { set %ebap.p k }
if ($did == 4) { set %ebap.p kb }
if ($did == 10) { did -r ebap 6 | unset %ebap.kmsg }
if ($did == 8) { dialog -m ebaphelp ebaphelp }
}
on *:dialog:ebap:edit:6: { set %ebap.kmsg $did(ebap,6) }
#prot on
on *:BAN:#: {
if (%ebap.st == on) {
if ($me == $nick) { return }
if ($me isop $chan) && (%ebap.p == d) && ($banmask iswm $address($me,5)) { mode $chan -b $banmask | mode $chan -o $nick | msg $nick %ebap.kmsg }
if ($me isop $chan) && (%ebap.p == k) && ($banmask iswm $address($me,5)) { mode $chan -b $banmask | mode $chan -o $nick | kick $chan $nick %ebap.kmsg }
if ($me isop $chan) && (%ebap.p == kb) && ($banmask iswm $address($me,5)) { mode $chan -o $nick | mode $chan -b $banmask | ban $chan $nick | kick $chan $nick %ebap.kmsg }
}
else { halt }
}
#prot end
dialog ebaphelp {
title "Easy Ban Protection Help"
size -1 -1 110 86
option dbu
icon $mircdir\Graphic\KS1.ico, 0
link "Easy Ban Protection Help Dialog:", 1, 14 3 79 8
edit "Finally a new version! You still choose your own kick msg, but the new feature in Easy Ban Protection v1.5 is that you can choose your own penalty.. Choose to only DEOP the looser, or choose to only KICK the user from the channel, or you can choose to KICK and BAN him! Nothing more to say i guess! exept happy using.. and stay safe! ;-)", 2, 2 12 106 63, read multi
button "Cancel", 3, 80 76 30 10, cancel
}