rendered paste bodymenu * {
.Oliver's Ultimate Mp3 Player {
if ($dialog(mp3)) dialog -x mp3 mp3
/dialog -md load load
}
}
dialog load {
title "Loading..."
size -1 -1 208 25
option dbu
box "", 1, 3 11 203 12
text "", 2, 4 15 200 7
text "Loading Songs from Library...", 3, 50 3 104 8, center
}
on *:dialog:load:init:*:{
set %j 1
.timerload 100 0.5 mp3load
}
alias mp3load {
did -ar load 2 $str(|,%j)
if (%j == 100) {
dialog -md mp3 mp3
}
inc %j 1
}
dialog mp3 {
title "Oliver's Ultimate Mp3 Player"
size -1 -1 450 342
option dbu
icon $qt($scriptdirmp3icon.bmp), 0
list 1, 83 115 10 200, size
list 2, 83 55 120 48, size vsbar
list 5, 4 55 77 260, size
list 3, 204 55 122 48, size vsbar
list 4, 327 55 120 48, size vsbar
button "", 9, 83 44 120 11, disable flat
button "", 10, 204 44 122 11, disable flat
button "", 11, 327 44 120 11, disable flat
button "", 12, 4 44 77 11, disable flat
button "Play", 13, 32 6 20 20
button ">>", 14, 56 10 13 13
button "<<", 15, 15 10 13 13
radio , 17, 8 31 7 6, push
radio , 18, 15 31 7 6, push
radio , 19, 22 31 7 6, push
radio , 20, 29 31 7 6, push
radio , 21, 36 31 7 6, push
radio , 22, 43 31 7 6, push
radio , 23, 50 31 7 6, push
radio , 24, 57 31 7 6, push
radio , 25, 64 31 7 6, push
radio , 26, 71 31 7 6, push
box "", 27, 121 4 220 33
edit "Enter Search Item", 29, 351 15 62 10
button "Search", 30, 417 14 28 12, default
box "", 16, 129 23 202 10
text "", 28, 130 27 200 4
text "Remaining Time:", 31, 190 17 83 8, center
text "No Song Selected", 32, 122 9 217 8, center
text "+", 33, 80 30 4 8, center
text "_", 34, 3 27 4 8, center
button " V", 35, 252 323 12 12
button "^", 36, 269 323 12 12
button "New Playlist", 40, 6 318 34 10
button "Delete Playlist", 41, 42 318 37 10
button "Delete", 42, 346 318 22 10
button "Add to :", 43, 373 318 26 10
list 44, 402 318 47 11, size vsbar
list 45, 92 115 111 200, size
list 46, 202 115 30 200, size
list 47, 231 115 27 200, size
list 48, 257 115 59 200, size
list 49, 315 115 52 200, size
list 50, 366 115 36 200, size
list 51, 401 115 45 200, size
button "", 52, 93 104 109 11, disable flat
button "", 53, 203 104 28 11, disable flat
button "", 54, 232 104 25 11, disable flat
button "", 55, 258 104 57 11, disable flat
button "", 56, 316 104 50 11, disable flat
button "", 57, 367 104 34 11, disable flat
button "", 58, 402 104 43 11, disable flat
button "", 59, 83 104 9 11, disable flat
button "Shuffle On", 60, 411 330 37 10
text "", 61, 106 325 133 9, center
button "<X", 70, 94 15 14 12
icon 39, 131 26 200 6
text "Source", 62, 5 45 75 9, center
text "Genre", 63, 84 45 118 9, center
text "Artist", 78, 205 45 120 9, center
text "Album", 79, 328 45 118 9, center
text "Track Name", 80, 94 105 107 9, center
text "Time", 81, 204 105 26 9, center
text "Track", 82, 233 105 23 9, center
text "Artist", 83, 259 105 55 9, center
text "Album", 84, 317 105 48 9, center
text "Genre", 85, 368 105 32 9, center
text "Play Count", 86, 403 105 41 9, center
text "", 87, 84 105 7 9
button "Loop On", 88, 379 330 27 10
button "Rename Playlist", 92, 20 330 44 10
button "Switch to Mini Player", 93, 314 330 60 10
menu "File", 6
menu "Import Tracks", 7, 6
item "Folder", 37, 7
item "Track", 38, 7
item "--------------------------", 69, 6
item "New Playlist", 71, 6
item "Delete Playlist", 90, 6
item "Rename Playlist", 91, 6
item "--------------------------", 72, 6
item "Exit", 73, 6, cancel
menu "Controls", 8
item "Play", 64, 8
item "Next", 66, 8
item "Previous", 67, 8
item "Mute", 68, 8
menu "Windows", 74
item "Mini Player", 75, 74
item "Edit Selected Song", 89, 74
item "Settings", 76, 74
item "Help", 77, 74
}
alias readtxt {
if ($3 isnum) {
if ($3 == 0) {
while (%
}
}
}
alias writetxt {
}
on *:dialog:mp3:rclick:*:{
dialog -ma info info
}
alias play {
splay -p " $+ $1- $+ "
pos
remaining
.timerplaycheck 1 5 insongcheck
:error | playerror
set %x 1
info
information
.timersong 1 3 insongcheck play
set %currentname $did(mp3,45).seltext
set %resume yes
did -ar mp3 13 Pause
if (%line isnum 1-) {
did -o mp3 1 %line $chr(160)
}
did -o mp3 1 $did(mp3,45).sel >
set %line $did(mp3,45).sel
did -c mp3 1 $did(mp3,45).sel
set %current $read($qt($scriptdirlibrary.txt) , w, * $+ $1- $+ *)
set %tempcount $gettok($read($qt($scriptdirplaycount.txt) , nw, * $+ $1- $+ *),2,34)
if ($read($qt($scriptdirplaycount.txt), w, * $+ $did($dname,45).seltext $+ *)) {
//write -dw $+ "* $+ $did(mp3,45).seltext $+ *" $qt($scriptdirplaycount.txt)
}
write $qt($scriptdirplaycount.txt) " $+ $read($qt($scriptdirlibrary.txt) , nw, * $+ $did(mp3,45).seltext $+ *) $+ " $+ $iif(%tempcount !isnum 1-,1,$calc(%tempcount + 1))
did -co mp3 51 $did(mp3,45).sel $gettok($read($qt($scriptdirplaycount.txt) , nw, * $+ $read($qt($scriptdirlibrary.txt), w, * $+ $did(mp3,45).seltext $+ *) $+ *),2,34)
}
alias playerror {
if (*/splay* iswm $error) {
return halt
.timerrem off
.timerpos off
did -a mp3 32 !!!!ERROR LOADING SONG!!!!
//echo -a $error
}
/reseterror
}
alias info {
.timerinfo off
.timerinfo 0 1 did -ar mp3 32 Title: $did(mp3,45).seltext $str($chr(160),4) Artist: $iif($sound($read($qt($scriptdircurrent.txt), w, * $+ $did(mp3,45).seltext $+ *)).artist,$v1,Unknown) $str($chr(160),4) Album: $iif($sound($read($qt($scriptdircurrent.txt), w, * $+ $did(mp3,45).seltext $+ *)).album,$v1,Unknown)
}
on *:dialog:mp3:dclick:45-51:{
if ($did($dname,45,$did($dname,$did).sel) != $chr(160)) {
play $read($qt($scriptdircurrent.txt) , w, * $+ $did(mp3,45).seltext $+ *)
}
}
on *:load: {
if ($finddir($mircdir,*mp3 player*,1)) {
.remove tempaction.txt
unset %tempaction
write -c " $+ $scriptdir $+ albums.ini"
write -c " $+ $scriptdir $+ albums.txt"
write -c " $+ $scriptdir $+ artists.ini"
write -c " $+ $scriptdir $+ artists.txt"
write -c " $+ $scriptdir $+ genres.ini"
write -c " $+ $scriptdir $+ genres.txt"
write -c " $+ $scriptdir $+ source.txt" Library $crlf Most Played $crlf $str(_,38)
write -c " $+ $scriptdir $+ library.txt"
write -c " $+ $scriptdir $+ playcount.txt"
write -c " $+ $scriptdir $+ info.txt"
icon
}
else {
set %tempaction $qt($script)
set %reloadmp3directoryplayer yes
write -c tempaction.txt $eval(alias tempaction {,0)
write tempaction.txt .timer 1 2 tempaction2
write tempaction.txt $eval(},0)
write tempaction.txt $eval(alias tempaction2 {,0)
write tempaction.txt .unload -rs %tempaction
write tempaction.txt .mkdir $qt($scriptdirmp3 player)
write tempaction.txt .rename %tempaction $qt($scriptdirmp3 player\mp3.mrc)
write tempaction.txt .load -rs $qt($scriptdirmp3 player\mp3.mrc)
write tempaction.txt .unload -rs tempaction.txt
write tempaction.txt $eval(},0)
.load -rs tempaction.txt
tempaction
.unload -rs $qt($script)
}
}
alias icon {
window -dp @icon 400 400 150 200
drawrect -f @icon 0 1 0 0 200 200
drawrect -fe @icon 4 1 35 85 70 70
drawrect -f @icon 4 1 85 5 20 110
drawsave @icon $qt($scriptdirmp3icon.bmp)
window -c @icon
}
on *:dialog:mp3:menu:*:{
if ($did == 37) {
set %getfolder " $+ $sdir(C:\,Import Folder) $+ "
search
}
elseif ($did == 38) {
var %tempsearch $sfile(C:\,Import Single Track)
if (!$read($qt($scriptdirlibrary.txt) , npw, * $+ %tempsearch $+ *)) {
write $qt($scriptdirlibrary.txt) %tempsearch
}
reload
}
elseif ($did == 64) {
playcheck 64
}
}
alias reload {
did -r mp3 45-51
did -r mp3 1
var %k 1
write -c $qt($scriptdircurrent.txt)
while (%k <= $lines($qt($scriptdirlibrary.txt))) {
write $qt($scriptdircurrent.txt) $read($qt($scriptdirlibrary.txt), %k)
inc %k
}
set %c 1
set %f 29
while (%c <= %f) {
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).title, did -a mp3 45 $v1, $iif($remove($gettok($read($qt($scriptdircurrent.txt) , n, %c),$numtok($read($qt($scriptdircurrent.txt) ,%c),92),92),.mp3), did -a mp3 45 $v1))
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).length, did -a mp3 46 $round($calc($v1 / 60000),2))
$iif($did(mp3,45,%c), did -a mp3 47 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).track isnum 1-, $v1, $chr(160)))
$iif($did(mp3,45,%c), did -a mp3 48 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).artist, $v1, $chr(160)))
$iif($did(mp3,45,%c), did -a mp3 49 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).album, $v1, $chr(160)))
$iif($did(mp3,45,%c), did -a mp3 50 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).genre, $v1, $chr(160)))
$iif($did(mp3,45,%c) , did -a mp3 1 $chr(160))
$iif($did(mp3,45,%c) , did -a mp3 51 $iif($gettok($read($qt($scriptdirplaycount.txt), w, * $+ $read($qt($scriptdircurrent.txt), np, %c) $+ *),2,34),$v1,$chr(160)))
inc %c
}
if ($lines($qt($scriptdircurrent.txt)) <= 28) {
did -h mp3 35-36
}
else {
did -v mp3 35-36
}
playcheck
information
}
alias search {
did -r mp3 45
set %total $findfile(%getfolder,*.mp3*,0)
set %b 1
while (%b <= %total) {
if ($read(C:\Program Files\mIRC\mp3 player\library.txt, npw, $findfile(%getfolder,*.mp3,%b)) == $null) {
write $qt($scriptdirlibrary.txt) $findfile(%getfolder,*.mp3,%b)
}
inc %b
}
reload
}
alias playcheck {
var %t 1
while (%t <= $did(mp3,45).lines) {
if (* $+ $did(mp3,45,%t) $+ * iswm %current) && ($insong) {
did -c mp3 45-51 %t
did -c mp3 1 %t
did -o mp3 1 %t >
set %line %t
did -c mp3 1 %t
}
inc %t
}
}
on *:dialog:mp3:init:*:{
set %mini no
set %line 0
var %r 1
while (%r <= $lines($qt($scriptdirsource.txt))) {
did -a mp3 5 $read($qt($scriptdirsource.txt),%r)
inc %r
}
set %c 1
set %d 1
var %w = 26
while (%w >= 22) {
did -c mp3 %w
dec %w
}
vol -v 37800
set %vol 22
reload
$iif($dialog(load),dialog -x load load)
did -h mp3 36
}
on *:dialog:mp3:sclick:17-26:{
vol -v $calc(6300 * ($did - 16))
var %y $did
set %vol $round($calc(($vol(master) / 6300) + 16))
while (%y <= 26) {
did -c mp3 %y
inc %y
}
}
alias information {
unset %size
unset %minutes
set %d 1
while (%d <= $lines($qt($scriptdircurrent.txt))) {
set %size $calc(%size + $file($read($qt($scriptdircurrent.txt) ,%d)).size)
inc %d
}
set %s 1
while (%s <= $lines($qt($scriptdirlibrary.txt))) {
set %minutes $calc(%minutes + $sound($read($qt($scriptdircurrent.txt) ,%s)).length)
inc %s
}
did -a mp3 61 $lines($qt($scriptdircurrent.txt)) Songs, $bytes(%size).suf $+ , $duration($round($calc(%minutes / 1000),2))
}
alias randsearch {
var %m 1
while (%m <= $findfile("C:\",* $+ $did(mp3,29) $+ *.mp3*,0)) {
write "$qt($scriptdirsearch.txt) " $findfile("C:\",* $+ $did(mp3,29) $+ *.mp3*,%m)
inc %m
}
var %n 1
while (%n <= $findfile("D:\",* $+ $did(mp3,29) $+ *.mp3*,0)) {
write "$qt($scriptdirsearch.txt) " $findfile("C:\",* $+ $did(mp3,29) $+ *.mp3*,%n)
inc %n
}
/dialog -ma search search
}
on *:dialog:mp3:sclick:*:{
if ($did == 30) {
if ($did($dname,29) != $null) {
dialog -ma searching searching
did -a searching 2 Match Text: %searchtext
did -a searching 3 Directory: $iif(%direct,$v1,C:\)
set %searchtext $did($dname,29)
.timer 1 2 randsearch
}
else {
/did -ar mp3 29 !!Enter Search Item!!
.timer 1 1 /did -ar mp3 29
.timer 1 2 /did -ar mp3 29 Enter Search Item
}
}
elseif ($did == 93) {
dialog -md mini mini
}
elseif ($did == 14) {
if ($insong) {
if (%shuffle == on) {
shuffle
}
else {
noop $read($qt($scriptdircurrent.txt), npw, * $+ %current $+ *)
play $iif(* $+ %current $+ * !iswm $read($qt($scriptdircurrent.txt), $lines($qt($scriptdircurrent.txt))),$read($qt($scriptdircurrent.txt), np, $calc($readn + 1)),shuffle)
}
}
}
elseif ($did == 15) {
if ($insong) {
if (%shuffle == on) {
shuffle
}
else {
noop $read($qt($scriptdircurrent.txt), npw, * $+ %current $+ *)
play $iif(* $+ %current $+ * !iswm $read($qt($scriptdircurrent.txt), 1),$read($qt($scriptdircurrent.txt), np, $calc($readn - 1)),shuffle)
}
}
}
elseif ($did == 88) {
if ($did($dname,88) == Loop on) {
if (%shuffle == on) {
set %shuffle off
did -a mp3 60 Shuffle On
}
set %loop on
did -a mp3 88 Loop Off
}
else {
set %loop off
did -a mp3 88 Loop On
}
}
elseif ($did == 60) {
if ($did($dname,60) == Shuffle On) {
if (%loop == on) {
set %loop off
did -a mp3 88 Loop On
}
set %shuffle on
did -a mp3 60 Shuffle Off
}
elseif ($did($dname,60) == Shuffle Off) {
set %shuffle off
did -a mp3 88 Shuffle On
}
}
elseif ($did == 42) {
write -dw $+ "* $+ $read($qt($scriptdircurrent.txt), w, * $+ $did($dname,45).seltext $+ *) $+ *" $qt($scriptdirlibrary.txt)
reload
information
}
elseif ($did isnum 45-51) || ($did == 1) {
if (%currentname != $did($dname,45).seltext) {
set %resume no
}
did -c mp3 45-51 $did($dname,$did).sel
did -c mp3 1 $did($dname,$did).sel
}
elseif ($did == 35) {
if (* $+ $did($dname,45,$did($dname,45).lines) $+ * !iswm $read($qt($scriptdircurrent.txt), $lines($qt($scriptdircurrent.txt)))) {
if (%line isnum 1-) {
did -o mp3 1 %line
}
did -r mp3 45-51
did -r mp3 1
set %f $calc(%c + 28)
set %q 1
while (%c <= %f) {
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).title, did -a mp3 45 $v1, $iif($remove($gettok($read($qt($scriptdircurrent.txt) , n, %c),$numtok($read($qt($scriptdircurrent.txt) ,%c),92),92),.mp3), did -a mp3 45 $v1))
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).length, did -a mp3 46 $round($calc($v1 / 60000),2))
$iif($did(mp3,45,%q), did -a mp3 47 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).track isnum 1-, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 48 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).artist, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 49 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).album, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 50 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).genre, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 1 $chr(160))
$iif($did(mp3,45,%q), did -a mp3 51 $iif($read($qt($scriptdirplaycount.txt), w, * $+ $read($qt($scriptdircurrent.txt), np, %c) $+ *),$gettok($v1,2,34),$chr(160)))
inc %c
inc %q
}
playcheck
if (* $+ $did($dname,45,$did($dname,45).lines) $+ * iswm $read($qt($scriptdircurrent.txt), $lines($qt($scriptdircurrent.txt)))) {
did -h mp3 35
}
else {
did -v mp3 35
}
if (* $+ $did($dname,45,1) $+ * iswm $read($qt($scriptdircurrent.txt),1)) {
did -h mp3 36
}
else {
did -v mp3 36
}
}
}
elseif ($did == 36) {
if (* $+ $did($dname,45,1) $+ * !iswm $read($qt($scriptdircurrent.txt),1)) {
if (%line isnum 1-) {
did -o mp3 1 %line
}
did -r mp3 45-51
did -r mp3 1
set %f $calc(%c - 58)
set %c $calc(%c - 29)
set %q 1
while (%f <= %c) {
$iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).title, did -a mp3 45 $v1, $iif($remove($gettok($read($qt($scriptdircurrent.txt) , n, %f),$numtok($read($qt($scriptdircurrent.txt) ,%f),92),92),.mp3), did -a mp3 45 $v1))
$iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).length, did -a mp3 46 $round($calc($v1 / 60000),2))
$iif($did(mp3,45,%q), did -a mp3 47 $iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).track isnum 1-, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 48 $iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).artist, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 49 $iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).album, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 50 $iif($sound($read($qt($scriptdircurrent.txt) , np, %f)).genre, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 1 $chr(160))
$iif($did(mp3,45,%q), did -a mp3 51 $iif($read($qt($scriptdirplaycount.txt), w, * $+ $read($qt($scriptdircurrent.txt), np, %f) $+ *),$gettok($v1,2,34),$chr(160)))
inc %f
inc %q
}
playcheck
if (* $+ $did($dname,45,1) $+ * iswm $read($qt($scriptdircurrent.txt),1)) {
did -h mp3 36
}
else {
did -v mp3 36
}
if (* $+ $did($dname,45,$did($dname,45).lines) $+ * iswm $read($qt($scriptdircurrent.txt), $lines($qt($scriptdircurrent.txt)))) {
did -h mp3 35
}
else {
did -v mp3 35
}
}
}
elseif ($did == 39) {
if ($insong) {
.timerpos off
set %x $round($calc(($mouse.x - 255) / 4),0)
did -a mp3 28 $str(|,%x)
/pos
splay -p seek $round($calc((%x * %cliplength) * 1000),0)
}
else {
did -a mp3 28 $str(|,$round($calc(($mouse.x - 255) / 4),0))
set %x $round($calc(($mouse.x - 255) / 4),0)
set %pos $round($calc(($round($calc(($mouse.x - 255) / 4),0) * %cliplength) * 1000),0)
set %resume search
}
}
elseif ($did == 70) {
if ($did($dname,70) == <X) {
vol -vu1
did -ar mp3 70 <)))
}
else {
vol -vu2
did -ar mp3 70 <X
}
}
elseif ($did == 13) {
clickplay
}
}
alias clickplay {
if ($did(mp3,13) == Play) {
did -ar mp3 13 Pause
remaining
if (%resume == yes) {
splay -p resume %pos
pos
}
elseif (%resume == no) {
play $read($qt($scriptdircurrent.txt) , w, * $+ $did(mp3,45).seltext $+ *)
}
else {
splay -p %current %pos
pos
set %resume yes
}
}
elseif ($did(mp3,13) == pause) {
if ($did(mp3,45).seltext == %currentname) {
set %x $count($did(mp3,28),|)
.timerpos off
splay -p pause
set %resume yes
did -ar mp3 13 Play
set %pos $insong.pos
}
else {
splay -p pause
did -ar mp3 13 Play
.timerpos off
set %resume no
}
}
}
alias ret {
return $round($calc(($insong.length - $insong.pos) / 60000),2)
}
alias remaining {
.timerrem $round($calc(($insong.length - $insong.pos) / 1000),0) 1 did -a mp3 31 Remaining Time: $!ret
}
alias pos {
set %cliplength $calc($sound(%current).length / 100000)
.timerpos 100 %cliplength /redo
}
alias redo {
did -ar mp3 28 $str(|,%x)
inc %x
}
on *:dialog:mp3:close:*:{
if (%mini == no) {
set %loop off
set %shuffle off
splay stop
set %resume no
set %line 0
set %shuffle off
}
elseif (%mini == on) {
set %vol $round($calc(($vol(master) / 6300) + 16))
set %pos $insong.pos
}
.timerrem off
.timerpos off
.timerinfo off
}
on *:mp3end: {
.timerpos off
.timerinfo off
set %resume no
did -ar mp3 13 Play
did -ar mp3 28 $chr(160)
did -o mp3 1 %line
if (%loop == on) {
play %current
}
if (%shuffle == on) {
shuffle
}
}
alias shuffle {
set %shuf $read($qt($scriptdircurrent.txt))
var %e 1
while (%e <= $lines($qt($scriptdircurrent.txt))) {
if (* $+ %shuf $+ * iswm $read($qt($scriptdircurrent.txt), %e)) {
set %shufline %e
break
}
inc %e
}
did -r mp3 45-51
did -r mp3 1
set %c $calc($floor($calc(%shufline / 28)) * 28)
set %f $calc(($floor($calc(%shufline / 28)) * 28) + 28)
set %q 1
while (%c <= %f) {
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).title, did -a mp3 45 $v1, $iif($remove($gettok($read($qt($scriptdircurrent.txt) , n, %c),$numtok($read($qt($scriptdircurrent.txt) ,%c),92),92),.mp3), did -a mp3 45 $v1))
$iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).length, did -a mp3 46 $round($calc($v1 / 60000),2))
$iif($did(mp3,45,%q), did -a mp3 47 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).track isnum 1-, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 48 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).artist, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 49 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).album, $v1, $chr(160)))
$iif($did(mp3,45,%q), did -a mp3 50 $iif($sound($read($qt($scriptdircurrent.txt) , np, %c)).genre, $v1, $chr(160)))
$iif($did(mp3,45,%q) , did -a mp3 1 $chr(160))
$iif($did(mp3,45,%q) , did -a mp3 51 $iif($gettok($read($qt($scriptdirplaycount.txt), w, * $+ $read($qt($scriptdircurrent.txt), np, %c) $+ *),2,34),$v1,$chr(160)))
inc %c
inc %q
}
set %g $didwm(mp3,45,* $+ $iif($sound($qt(%shuf)).title, $v1, $remove($gettok(%shuf,$numtok(%shuf,92),92),.mp3)))
did -o mp3 1 %g >
did -c mp3 45-51 %g
did -c mp3 1 %g
play %shuf
.timerinsong 1 5 insongcheck shuffle
}
alias insongcheck {
if (!$insong) {
return halt
$1
}
}
dialog search {
title "Add Search Files"
size -1 -1 443 242
option dbu
list 1, 15 16 196 170, size hsbar
list 2, 234 16 194 170, size hsbar
button "-->", 3, 214 61 17 18
button "<--", 9, 214 81 17 18
box "Add files to library", 4, 8 5 428 204
button "Add selected files", 5, 197 191 47 12,
edit "Enter Search Text", 6, 147 221 53 10
button "Search Again", 7, 251 220 37 12, default
box "", 8, 141 212 154 25
edit "Directory", 10, 203 221 40 10
}
on *:dialog:search:init:*: {
dialog -x searching searching
did -ar search 6 %searchtext
add
}
on *:dialog:search:sclick:*: {
if ($did == 3) {
did -a search 2 $did($dname,1).seltext
}
elseif ($did == 5) {
var %n 1
while (%n <= $did($dname,2).lines) {
if (!$read($qt($scriptdirlibrary.txt), w, * $+ $did($dname,2,%n) $+ *)) {
write $qt($scriptdirlibrary.txt) $read($qt($scriptdirsearch.txt), w, * $+ $did($dname,2,%n) $+ *)
}
inc %n
}
reload
dialog -x search search
}
elseif ($did == 9) {
did -d search 2 $did($dname,2).sel
}
elseif ($did == 7) {
set %direct $did($dname,10)
/write -c "$qt($scriptdirsearch.txt) "
if ($did($dname,6) != $null) {
dialog -ma searching searching
var %m 1
while (%m <= $findfile($iif($did($dname,10)," $+ $did($dname,10) $+ ","C:\"),* $+ $did($dname,6) $+ *.mp3*,0)) {
write "$qt($scriptdirsearch.txt) " $findfile($iif($did($dname,10)," $+ $did($dname,10) $+ ","C:\"),* $+ $did($dname,6) $+ *.mp3*,%m)
inc %m
}
dialog -x searching searching
/did -r search 1,2
/add
set %searchtext $did($dname,6)
}
}
else {
/did -ar mp3 29 !!Enter Search Item!!
.timer 1 1 /did -ar mp3 6
.timer 1 2 /did -ar mp3 6 Enter Search Item
}
}
alias add {
set %p 1
while (%p <= $lines("$qt($scriptdirsearch.txt) ")) {
did -a search 1 $iif($sound($read("$qt($scriptdirsearch.txt) ",%p)).title != $null,$v1 - $sound($read("$qt($scriptdirsearch.txt) ",%p)).artist,$remove($gettok($read("$qt($scriptdirsearch.txt) ", n, %p),$numtok($read("$qt($scriptdirsearch.txt) ",%p),92),92),.mp3))
inc %p
}
}
on *:dialog:search:close:*:{
write -c "$qt($scriptdirsearch.txt) "
unset %direct
}
dialog info {
title "Edit Song Info"
size -1 -1 203 140
option dbu
tab "Summary", 12, 3 -1 197 122
box "Song Summary", 16, 7 14 190 104, tab 12
text "Title:", 17, 14 38 35 8, tab 12 right
text "Album:", 18, 14 62 35 8, tab 12 right
text "Artist:", 19, 14 50 35 8, tab 12 right
text "Track Number:", 20, 13 74 36 8, tab 12 right
text "Genre:", 21, 14 86 35 8, tab 12 right
text "Playcount:", 22, 122 50 27 8, tab 12 right
text "Size:", 23, 135 38 14 8, tab 12 right
text "Bit Rate:", 24, 126 62 23 8, tab 12 right
text "Last Modified:", 25, 114 74 35 8, tab 12 right
text "Last Played:", 26, 117 86 32 8, tab 12 right
text "", 27, 51 38 85 8, tab 12
text "", 28, 51 50 71 8, tab 12
text "", 29, 51 62 75 8, tab 12
text "", 30, 51 74 63 8, tab 12
text "", 31, 51 86 66 8, tab 12
text "", 32, 151 38 43 8, tab 12
text "", 33, 151 50 43 8, tab 12
text "", 34, 151 62 43 8, tab 12
text "", 35, 151 74 43 8, tab 12
text "", 36, 151 86 43 8, tab 12
tab "Edit Song info", 13
box "Edit Info", 1, 7 14 190 104, tab 13
text "Title:", 3, 35 25 25 8, tab 13
text "Artist:", 5, 35 40 25 8, tab 13
text "Album:", 7, 35 55 25 8, tab 13
text "Genre:", 9, 35 70 25 8, tab 13
text "Tracknumber:", 11, 35 85 37 8, tab 13
edit "", 10, 82 84 16 10, tab 13
edit "", 8, 82 69 88 10, tab 13
edit "", 6, 82 54 88 10, tab 13
edit "", 4, 82 39 88 10, tab 13
edit "", 2, 82 24 88 10, tab 13
button "Save Info", 14, 86 101 37 12, tab 13
button "Close", 15, 86 126 37 12
}
dialog searching {
title "Searching..."
size -1 -1 116 44
option dbu
text "Match Text:", 2, 5 20 107 8, center
text "Directory:", 3, 5 30 107 8, center
button "", 4, 3 3 110 12, disable flat
text "Searching For Files.......", 1, 7 5 103 7, center
}
on *:dialog:searching:init:*:{
did -a searching 2 Match Text: %searchtext
did -a searching 3 Directory: $iif(%direct,$v1,C:\)
}
dialog mini {
title ""
size -1 -1 227 70
option dbu
text "_", 34, 73 58 4 8, center
radio , 17, 78 61 7 6, push
radio , 18, 85 61 7 6, push
radio , 19, 92 61 7 6, push
radio , 20, 99 61 7 6, push
radio , 21, 106 61 7 6, push
radio , 22, 113 61 7 6, push
radio , 23, 120 61 7 6, push
radio , 24, 127 61 7 6, push
radio , 25, 134 61 7 6, push
radio , 26, 141 61 7 6, push
text "+", 33, 150 60 4 8, center
button ">>", 14, 127 40 13 13
button "Play", 13, 103 36 20 20
button "<<", 15, 86 40 13 13
button "<X", 70, 163 40 13 13
button "Full Mode", 3, 38 40 26 13
box "", 16, 12 19 202 10
box "", 27, 4 0 220 33
text "", 28, 13 23 200 4
text "Remaining Time:", 31, 73 13 83 8, center
text "No Song Selected", 32, 5 5 217 8, center
icon 39, 14 22 200 6
button "Shuffle On", 1, 169 57 37 10
button "Loop On", 2, 21 57 37 10
}
on *:dialog:mini:init:*:{
if ($insong) did -a mini 13 Pause
if (%shuffle == on) did -a mini 1 Shuffle Off
set %mini yes
set %w %vol
while (%w <= 26) {
did -c mini %w
inc %w
}
vol -v $calc((%vol - 16) * 6300)
if ($insong) {
posmini
remainingmini
}
dialog -x mp3 mp3
}
on *:dialog:mini:sclick:*:{
if ($did == 70) {
if ($did($dname,70) == <X) {
vol -vu1
did -ar mini 70 <)))
}
else {
vol -vu2
did -ar mini 70 <X
}
}
elseif ($did == 13) {
if ($insong) {
splay pause
did -a mini 13 Play
set %pos $insong.pos
}
else {
splay resume
did -a mini 13 Pause
set %pos $insong.pos
}
}
elseif ($did == 1) {
if ($did($dname,1) == Shuffle on) {
did -a mini 1 Shuffle Off
set %shuffle on
}
else {
did -a mini 1 Shuffle On
set %shuffle off
}
}
elseif ($did isnum 17-26) {
vol -v $calc(6300 * ($did - 16))
var %y $did
while (%y <= 26) {
did -c mini %y
inc %y
}
}
elseif ($did == 3) {
set %mini closing
dialog -x mini mini
dialog -md mp3 mp3
}
}
on *:dialog:mini:close:*:{
if (%mini != closing) {
splay stop
}
set %vol $round($calc(($vol(master) / 6300) + 16))
}
alias remainingmini {
.timerrem $round($calc(($insong.length - $insong.pos) / 1000),0) 1 did -ar mini 31 Remaining Time: $!ret
}
alias posmini {
set %cliplength $calc($sound(%current).length / 100000)
set %x 1
.timerpos 100 %cliplength /redomini
}
alias redomini {
did -ar mini 28 $str(|,%x)
inc %x
}