The non-MDX version of the mp3 player I made. Simple to use: /xtensionmp3 to open. Everything else should be self-explanatory. ;)
; mp3 - Kyousoukyoku/XteNsion
; /xtensionmp3
; nT0xIc8 - scroll
; eXiled - $backlength
;;;;;;;;;;;;; Dialog ;;;;;;;;;;;;;;;
dialog xtenmp {
title "XteNsion mp3"
size -1 -1 206 267
option pixels
list 1, 7 72 185 136, hsbar size
edit "", 2, 3 3 197 20, read autohs
edit "", 3, 7 26 91 20, read
edit "", 4, 97 26 100 20, read
button "<<", 5, 10 48 27 19, flat
button "||", 6, 37 48 27 19, flat
button "|>", 7, 64 48 27 19, flat
button ">>", 8, 91 48 27 19, flat
button "Dir", 9, 146 48 47 19, flat
button "+", 10, 26 208 48 25, flat
button "-", 11, 74 208 48 25, flat
button "Clear", 12, 122 208 48 25, flat
scroll "", 13, 7 244 186 16, horizontal top range 0 100
button "-", 14, 118 48 28 19, flat
}
on *:dialog:xtenmp:init:0:{
var %a = 1, %b = playlist.txt
while (%a <= $lines(%b)) {
did -a $dname 1 - $remove($nopath($read(%b,%a)),.mp3)
inc %a
}
did -a $dname 2 XteNsion mp3
}
on *:dialog:xtenmp:sclick:5:{
if ($did($dname,1).sel != 1) {
did -c $dname 1 $calc($v1 - 1)
xtensionplay
}
}
on *:dialog:xtenmp:sclick:6:{
if ($inmp3) {
if (!%xtensionpause) {
set %xtensionpause 1
splay pause
.timerplay -p
did -ra $dname 3 Paused
halt
}
if (%xtensionpause = 1) {
unset %xtensionpause
splay resume
.timerplay -r
did -ra $dname 3 Playing
halt
}
}
}
on *:dialog:xtenmp:sclick:7:xtensionplay
on *:dialog:xtenmp:sclick:14:xtensionstop
on *:dialog:xtenmp:sclick:8:{
did -c $dname 1 $calc($did($dname,1).sel + 1)
xtensionplay
}
on *:dialog:xtenmp:sclick:9: xtensionchoosedir
on *:dialog:xtenmp:sclick:10: xtensionaddfile
on *:dialog:xtenmp:sclick:11: xtensionremfile
on *:dialog:xtenmp:sclick:12: xtensionremall
on *:dialog:xtenmp:scroll:13: {
if ($devent == scroll) {
if ($did == 13) {
if ($inmp3 == $true) {
var %t = $round($calc($did(xtenmp,13).sel / 22000 * $inmp3.length),0)
.splay seek $calc((%t + $did(xtenmp,13).sel) * 200)
}
}
}
}
;;;;;;;;;;;;;;;;; ALIASES ;;;;;;;;;;;;;;;;;;
alias -l xtensionchoosedir {
var %mp3dir = $$sdir($mircdir,Choose mp3 directory)
if (%mp3dir) {
if ($exists(playlist.txt)) { write -c playlist.txt }
var %x = 1, %y = playlist.txt
while ($findfile(%mp3dir,*.mp3,%x)) {
write %y $v1
did -a xtenmp 1 - $remove($nopath($v1),.mp3)
inc %x
}
}
}
alias -l xtensionaddfile {
var %mp3file = $$sfile($mircdir,Choose mp3 file to add)
if (%mp3file) {
if ($exists(playlist.txt)) {
write playlist.txt %mp3file
did -a xtenmp 1 - $remove($nopath(%mp3file),.mp3)
}
}
}
alias -l xtensionremfile {
if ($exists(playlist.txt)) {
if ($did(xtenmp,1).sel) {
write -dl playlist.txt $v1
did -d $dname 1 $v1
}
}
}
alias -l xtensionremall {
if ($exists(playlist.txt)) {
write -c playlist.txt
did -r $dname 1
if ($insong) { xtensionstop }
}
}
alias -l xtensionplay {
if ($did(xtenmp,1).sel && $exists(playlist.txt)) {
splay $read(playlist.txt,$did(xtenmp,1).sel)
.timerplay 0 1 /xtensionseek
did -ra xtenmp 2 $did(xtenmp,1).seltext
did -ra xtenmp 3 Playing
}
}
alias -l xtensionstop {
if ($inmp3) {
splay stop
.timerplay off
did -r xtenmp 2,3,4
}
}
alias xtensionseek {
did -ra xtenmp 4 $backlength
did -c xtenmp 13 $round($calc($calc($insong.pos / $insong.length) * 100),0)
}
alias -l backlength { if ($insong) { return $+(-,$gmt($calc($calc($insong.length / 1000) - $calc($insong.pos / 1000)),nn:ss)) } }
alias xtensionmp3 { dialog $iif($dialog(xtenmp),-v,-m) xtenmp xtenmp }
actually heres screenie http://img512.imageshack.us/my.php?image=dialogms1.png
nice one, am making an mp3 player myself, used PSPro to make a skin for it, and it relies on $mouse.x and $mouse.y to determine whatits doing =) look pretty sweet actually, and my first one.. might try get a screenie up soon and maybe the code,depends how much time i get, starting new job this week.