;Thank you Fmod, Mdx and WhileFix. ;MircAmp v1.3 by talim. menu channel,status,query { - $iif($window(@MircAmp), $style(2)) Mp3 player:/mircamp_open - } menu @MircAmp { sclick { if ($in_function) { return } var %x = $mouse.x, %y = $mouse.y, %i, %fmod | if ($inrect(%x, %y, 245, 0, 40, 15)) { %i = $round($calc(((%x - 245) / 40) * 3), 0) | if (%i == 0) { window -n @MircAmp } if (%i == 1) { size_click } | elseif (%i == 2) { MircAmp_close } } elseif ($hget(Y4, state) == normal) { if ($inrect(%x, %y, 18, 73, 115, 18)) { %i = $int($calc(((%x - 18) / 115) * 5)) | draw_key %i 1 while ($mouse.key & 1) { $whilef } | if (%i != 2) && ($fmod(SOUND_GetPaused)) { draw_key %i 0 | return } if ($inrect($mouse.x, $mouse.y, $calc(18 + (%i * 23)), 73, 23, 18)) { sclick_event %i } | draw_key %i 0 } elseif ($inrect(%x, %y, 138, 73, 46, 18)) { %i = $iif(%x <= 163, 5, 6) | draw_key %i 1 | while ($mouse.key & 1) { $whilef } | sclick_event %i } elseif ($inrect(%x, %y, 189, 74, 75, 15)) { var %i = $iif(%x >= 235, 2, 1) | draw_key_b %i 1 while ($mouse.key & 1) { $whilef } | sclick_event $calc(%i + 6) | draw_key_b %i 0 } elseif ($inrect(%x, %y, 191, 42, 75, 10)) { in_function 1 while ($mouse.key & 1) { $whilef | %i = $int($round($calc((($mouse.x - 197) / 56) * 255), 0)) if (%i > 0) { fmod SOUND_SetVolume 0 %i | draw_volume 1 } } | draw_volume 0 | hadd Y4 volume %i | in_function 0 } elseif ($inrect(%x, %y, 19, 16, 91, 28)) { var %p = hadd -m Y4 vis_type if ($hget(Y4, vis_type) == 1) { %p 2 } | else { %p 1 } | vis_switch } elseif ($inrect(%x, %y, 16, 57, 249, 10) && $fmod(SOUND_IsPlaying)) { if ($fmod(SOUND_GetPaused)) { return } | in_function 1 | var %x, %y, %z fmod SOUND_SetPaused -3 1 | while ($mouse.key & 1) { %x = $gettok($hget(Y4, track_info), 1, 32) | %y = $round($calc((($mouse.x - 25) / 233) * %x), 0) %z = $fmod(SOUND_Stream_SetPosition,1 %y) | draw_scroll %y %x 1 } else { return } | fmod SOUND_SetPaused -3 0 | in_function 0 } else { var %a, %b, %c = $calc($window(-1).w - $window($active).w), %d = $calc($window(-1).h - $window($active).h) while ($mouse.key & 1) { $whilef | %a = $calc($mouse.dx - %x) | %b = $calc($mouse.dy - %y) window $active $iif(%a < %c, $iif(%a > 0, %a, 0), %c) $iif(%b < %d, $iif(%b > 0, %b, 0), %d) } } } elseif ($hget(Y4, state) == minimized) { if ($inrect(%x, %y, 80, 0, 45, 15)) { %i = $int($calc(((%x - 80) / 45) * 5)) | draw_key_c %i 1 | while ($mouse.key & 1) { $whilef } | draw_key_c %i 0 if ($inrect($mouse.x, $mouse.y, $calc(83 + (9 * %i)), 0, 9, 15)) { sclick_event %i } } elseif ($inrect(%x, %y, 200, 5, 43, 5)) { if ($fmod(SOUND_GetPaused)) { return } var %x, %y, %z | fmod SOUND_SetPaused -3 1 while ($mouse.key & 1) { %x = $gettok($hget(Y4, track_info), 1, 32) %y = $round($calc((($mouse.x - 200) / 43) * %x), 0) | %z = $fmod(SOUND_Stream_SetPosition,1 %y) draw_scroll2 %y %x } fmod SOUND_SetPaused -3 0) } else { var %a, %b, %c = $calc($window(-1).w - $window($active).w), %d = $calc($window(-1).h - $window($active).h) while ($mouse.key & 1) { $whilef | %a = $calc($mouse.dx - %x) | %b = $calc($mouse.dy - %y) window $active $iif(%a < %c, $iif(%a > 0, %a, 0), %c) $iif(%b < %d, $iif(%b > 0, %b, 0), %d) } } } } Play .$submenu($playlist_tracks($1)) Pause:/pause_track Stop:/stop_track Playlist:/sclick_event 5 Media library:/sclick_event 6 Favorite tracks .$submenu($fave_tracks($1)) .Minimum play count $+ $chr(58) $iif($hget(Y4, min_play), $v1, not set.) : hadd -m Y4 min_play $?"Display tracks played how many times? (Or more)" .Clear history : hdel -w Y3 * Options .$iif($hget(Y4, random), $style(1)) $+ Shuffle { sclick_event 7 | draw_key_b 1 0 } .$iif($hget(Y4, continue), $style(1)) $+ Continuous play { sclick_event 8 | draw_key_b 2 0 } .$iif($hget(Y4, volume_fade), $style(1)) $+ Fade tracks:/hadd Y4 volume_fade $iif($hget(Y4, volume_fade), 0, 1) .Create playlists by ..$iif($hget(Y4, playlist_method) == 1, $style(1)) $+ Folder:/set_method 1 ..$iif($hget(Y4, playlist_method) == 2, $style(1)) $+ Artist:/set_method 2 ..$iif($hget(Y4, playlist_method) == 3, $style(1)) $+ Album:/set_method 3 .$iif($hget(Y4, ontop), $style(1)) $+ On top { set_ontop $iif($hget(Y4, ontop), 0, 1) } .Add media to library:/add_media .Scan library for new files.:/rescan_media Exit:/mircamp_close } alias -l mircamp_open { var %w = @MircAmp window -Bpdh $+ $iif($hget(Y4, ontop), o) $+ k0 +d %w $iif($hget(Y4, main_coords), $v1, 0 0) 275 102 $binary(MircAmp.ico) drawpic -c %w 0 12 $bitmap(Main) drawpic -c %w 0 0 0 0 275 14 $bitmap(TitleBar) | var %i = 0 while (%i <= 6) { draw_key %i 0 | inc %i } | draw_key_b 1 0 draw_key_b 2 0 | draw_scroll 0 0 0 draw_volume | vis_start if ($hget(Y4, media_status)) { sclick_event 6 } | if ($hget(Y4, playlist_status)) { sclick_event 5 } update_display | hadd -m Y4 state normal } alias -l mircamp_close { .timerUpdateDisplay off stop_track | vis_stop | var %d = Media :top if ($dialog(%d)) { did -a %d 2 page state | if ($gettok($did(%d, 2), 3, 32) == normal) { hadd -m Y4 %d $+ _status 1 } else { hadd -m Y4 %d $+ _status 0 } | dialog -c %d } | if (%d == Media) { %d = Playlist | goto top } if ($window(@MircAmp)) { hadd -m Y4 main_coords $window(@mircAmp).x $window(@MircAmp).y | window -c @MircAmp } drawpic -c } alias -l draw_key { var %p = $calc($1 * 23) $iif(!$2, 0, 19) 22 18 $bitmap(KeyPadA) | drawpic -c @MircAmp $calc(18 + ($1 * 23) $iif($1 > 4,+ 5)) 73 %p } alias -l draw_key_b { var %p if ($1 == 1) { %p = 0 $calc($iif(!$hget(Y4, random), 0, 30) + $iif(!$2, 0, 15)) 46 15 } else { %p = 46 $calc($iif(!$hget(Y4, continue), 0, 30) + $iif(!$2, 0, 15)) 29 15 } drawpic -c @MircAmp $iif($1 == 1, 189, 235) 74 %p $bitmap(KeyPadB) } alias -l draw_key_c { var %p = $calc($1 * 9) $calc(0 + $iif(!$2, 0, 10)) 9 9 $bitmap(KeyPadC) drawpic -c @mircAmp $calc(83 + (9 * $1)) 3 %p } alias -l draw_scroll { $whilef drawpic -cn @MircAmp 16 57 0 0 249 10 $bitmap(ScrollBar) if ($1 && $2) { var %i = $calc((($1 / $2) * 249) - 14) if (%i > 221) { %i = 221 } | elseif (%i < 0) { %i = 0 } drawpic -cn @MircAmp $calc(16 + %i) 57 $calc(249 + $iif(!$3, 0, 29)) 0 28 10 $bitmap(ScrollBar) } drawdot @MircAmp } alias draw_scroll2 { $whilef | var %i = $round($calc(($1 / $2) * 43), 0) if (%i >= 0) && (%i <= 89) { drawrect -nfr @MircAmp $rgb(0,255,0) 1 200 5 %i 5 } | else { %i = 0 } drawrect -nfr @MircAmp $rgb(0,0,0) 1 $calc(200 + %i) 5 $calc(43 - %i) 5 | drawdot @MircAmp } alias draw_volume { var %x = $calc($fmod(SOUND_GetVolume,0) / 255), %y = $round($calc(191 + (%x * 68)), 0), %z = $round($calc(%x * 27), 0), %s if (%y < 197) { %y = 197 } | elseif (%y > 253) { %y = 253 } drawpic -cn @MircAmp 191 41 0 $calc(%z * 15) 68 14 $bitmap(Volume) drawpic -cn @MircAmp $calc(%y - 6) 42 $iif($1, 0, 16) 422 12 10 $bitmap(Volume) if ($round($calc(%x * 100), 0) > 2) { MircAmp_Print $v1 percent. } else { MircAmp_Print Mute. } drawdot @MircAmp } alias -l set_ontop { window - $+ $iif($1, o, u) @MircAmp | if ($dialog(Media)) { dialog - $+ $iif($1, o, n) Media } if ($dialog(Playlist)) { dialog - $+ $iif($1, o, n) Playlist } | hadd Y4 ontop $1 } alias -l sclick_event { if ($1 == 0) { skip_track - } elseif ($1 == 1) { play_track } elseif ($1 == 2) { $iif($fmod(SOUND_IsPlaying), pause_track) } elseif ($1 == 3) { stop_track } | elseif ($1 == 4) { skip_track + } elseif ($1 isnum 5-6) { var %i, %d | if ($1 == 5) { %d = Playlist } | else { %d = Media } if (!$dialog(%d)) { dialog -md $+ $iif($hget(Y4, ontop), o) %d %d | %i = 1 | goto done } | did -a %d 2 page state if ($gettok($did(%d, 2), 3, 32) == normal) { did -a %d 2 hide | %i = 0 } | else { did -a %d 2 show | %i = 1 } :done draw_key $1 %i } elseif ($1 isnum 7-8) { var %h = $iif($1 == 7, random, continue), %i = $iif($hget(Y4, %h), 0, 1) | hadd Y4 %h %i } } dialog Media { title "Media Library" size $iif($hget(Y4, media_coords), $v1, -1 -1 400 200) option pixles list 1, -1 -1 0 0, size button "", 2, 0 0 0 0, hide edit "", 3, -1 -1 0 0 } on *:dialog:Media:init:*: { mdx SetMircVersion $version | mdx MarkDialog $dname mdx SetDialog $dname style title tool | mdx SetDialog $dname bgcolor $rgb(30, 30, 50) mdx SetControlMDX $dname 1 ListView report rowselect showsel single nosortheader > $binary(views.mdx)) mdx SetControlMDX $dname 2 Positioner size > $binary(dialog.mdx) did -i $dname 1 1 headerdims $iif($hget(Y4, media_dims), $v1, 150:1 150:2 150:3 0:4) did -i $dname 1 1 headertext $+(Title, $chr(9), Artist, $chr(9), Album) | did -i $dname 1 1 setbkg color $rgb(30, 30, 50) did -i $dname 1 1 settxt bgcolor $rgb(30, 30, 50) | did -i $dname 1 1 settxt color $rgb(0, 255, 0) mdx SetColor $dname 3 background $rgb(30, 30, 50) | mdx SetColor $dname 3 textbg $rgb(30, 30, 50) mdx SetColor $dname 3 text $rgb(0, 255, 0) | mdx SetFont $dname 1,3 12 500 Arial size_controls $dname | load_media } on *:dialog:Media:sclick:*: { if ($did == 1) { hadd -m Y4 media_selected $did($dname, 1).sel } | elseif ($did == 2) { tokenize 32 $did($dname, 2) | if ($1 == exitSizeMove) { size_controls $dname } } } on *:dialog:Media:dclick:1: { create_playlist $hget(Y1, $gettok($gettok($did($dname, 1).seltext, 4, 9), 5-, 32)) } on *:dialog:Media:edit:3: { hadd Y4 filter $did($dname, 3) | .timerListFilter 1 2 media_filter $did($dname, 3) } alias -l media_filter { if (!$1) { hdel Y4 filter | var %i = $gettok($gettok($did(Media, 1).seltext, 4, 9), 5-, 32) | load_media | did -c Media 1 $didwm(Media, 1, * $+ %i) } else { in_function 1 | did -r Media 1 | did -b Media 3 var %i = 1, %x = $+($chr(42) ,$replace($1-, $chr(32), $chr(42)), $chr(42)), %y = $hmatch(Y1, %x, 0).data, %z while ($hmatch(Y1, %x, %i).data) { $whilef did -a Media 1 0 + 0 0 0 $hget(Y1, $v1) | MircAmp_print Searching, $round($calc((%i / %y) * 100), 0) percent. inc %i } did -e Media 3 | in_function 0 } } on *:dialog:Media:close:*: { hadd -m Y4 media_coords $dialog($dname).x $dialog($dname).y $calc($dialog($dname).w - 8) $calc($dialog($dname).h - 28) did -i $dname 1 1 page headerdims | hadd Y4 media_dims $gettok($did($dname, 1, 1), 3-, 32) } alias -l size_controls { if ($1 == Media) { mdx MoveControl $1 1 * * $calc($dialog($1).w - 3) $calc($dialog($1).h - 43) mdx MoveControl $1 3 -1 $calc($dialog($1).h - 44) $calc($dialog($1).w - 3) 21 } elseif ($1 == Playlist) { mdx MoveControl $1 1 * * $calc($dialog($1).w - 3) $calc($dialog($1).h - 23) } } dialog Playlist { title "Playlist" size $iif($hget(Y4, playlist_coords), $v1, -1 -1 200 200) option pixles list 1, -1 -1 0 0, size button "", 2, 0 0 0 0, hide } on *:dialog:Playlist:init:*: { mdx SetMircVersion $version | mdx MarkDialog $dname mdx SetDialog $dname style title tool | mdx SetDialog $dname bgcolor $rgb(30, 30, 50) mdx SetControlMDX $dname 1 ListView report rowselect showsel single nosortheader > $binary(views.mdx)) mdx SetControlMDX $dname 2 Positioner size > $binary(dialog.mdx) did -i $dname 1 1 headerdims $iif($hget(Y4, playlist_dims), $v1, 150:1 70:2) did -i $dname 1 1 headertext $+(Title, $chr(9), Length) | did -i $dname 1 1 setbkg color $rgb(30, 30, 50) did -i $dname 1 1 settxt bgcolor $rgb(30, 30, 50) | did -i $dname 1 1 settxt color $rgb(0, 255, 0) mdx SetFont $dname 1 12 500 Arial | size_controls $dname | load_playlist } on *:dialog:Playlist:sclick:*: { if ($did == 2) { tokenize 32 $did($dname, 2) | if ($1 == exitSizeMove) { size_controls $dname } } } on *:dialog:Playlist:dclick:1: { skip_track $calc($did($dname, 1).sel - 1) } on *:dialog:Playlist:close:*: { hadd -m Y4 playlist_coords $dialog($dname).x $dialog($dname).y $calc($dialog($dname).w - 8) $calc($dialog($dname).h - 28) did -i $dname 1 1 page headerdims | hadd Y4 playlist_dims $gettok($did($dname, 1, 1), 3-, 32) } alias -l load_media { if (!$dialog(Media)) { return } | did -r Media 1 | var %f = $hashs(X6), %i = $hget(Y4, media_selected) if ($isfile(%f)) { if ($hget(Y4, filter)) { var %i = $v1 | media_filter %i | did -a Media 3 %i } else { loadbuf $lines(%f) -o Media 1 %f | if ($did(Media, 1, %i)) { did -c Media 1 %i } } } elseif ($input(No files have been added. Do so now?, y)) { add_media } } alias -l add_media { var %d = $$sdir($iif($hget(Y4, last_dir), $v1, $mircdir), Please select your music directory $+ $chr(44) all subfolders will be scanned), %i, %x = $iif($version < 6.17, *, *.mp3;*.wma;*.ogg;*.wav) hadd -m Y4 last_dir %d | in_function 1 if ($hget(Y1) && $input(Clear library?, y)) { hfree Y1 | write -c $hashs(X6) } set %i_ 1 | set %x_ $findfile(%d, %x, 0) %i = $findfile(%d, %x, 0, add_file $1-) unset %x_ | unset %i_ | if (%i) { hsave -o Y1 $hashs(X1) | hsave -o Y5 $hashs(X5) } MircAmp_print %i files processed, done. | .timerLoadMedia 1 1 load_media | in_function 0 } alias -l add_file { $whilef | var %f = $1- if ($regex(%f, (mp3|wma|ogg|wav)$)) { tokenize 32 $+($title(%f), $chr(9), $iif($sound(%f).artist, $v1, No tag.), $chr(9), $iif($sound(%f).album, $v1, No tag.), $chr(9), $shortfn(%f)) hadd -m Y1 $shortfn(%f) $1- hadd -m Y5 $shortfn(%f) $+($sound(%f).bitrate, $chr(1), $sound(%f).vbr, $chr(1), $gettok($duration($calc($sound(%f).length / 1000), 3), 2-, 58)) write $hashs(X6) 0 + 0 0 0 $1- } MircAmp_print Hashing files, $round($calc((%i_ / %x_) * 100), 0) percent. inc %i_ } alias -l MircAmp_print { $whilef | drawrect -nfr @MircAmp $rgb(0,0,0) 1 109 23 157 13 | drawtext -c @MircAmp 9 Arial 9 109 23 157 13 $1- } alias -l set_method { hadd Y4 playlist_method $1 } alias -l title { if ($hget(Y1, $1)) { return $gettok($v1, 1, 9) } else { tokenize 32 $+(", $longfn($1-), ") | if ($sound($1-).title) { return $v1 } else { return $left($remove($replace($nopath($1-), _, $chr(32), -, $chr(32)), $chr(40), $chr(41), 1, 2, 4, 5, 6, 7, 8, 9, 0), -4) } } } alias -l create_playlist { if ($hget(Y2)) { hfree $v1 } | in_function 1 var %m = $iif($hget(Y4, playlist_method), $v1, 1), %c = $gettok($1-, 4, 9) :retry if (%m == 1) { tokenize 32 $nofile($gettok($1-, 4, 9)) } | elseif (%m == 2) { tokenize 32 $gettok($1-, 2, 9) } elseif (%m == 3) { tokenize 32 $gettok($1-, 3, 9) } | if (!$1- == No tag.) { %m = 1 | goto retry } elseif (!$1) { echo 4 -a Hash/file error. | return } | tokenize 32 $+(*, $1-, *) var %i = 1, %t = $hmatch(Y1, $1-, 0).data, %fmod | window -slh @SortTemp while (%i <= %t) { $whilef | aline @SortTemp $hmatch(Y1, $1-, %i).data MircAmp_print Creating playlist. $round($calc((%i / (%t * 2)) * 100), 0) percent. | inc %i } %i = 1 | while ($line(@SortTemp, %i)) { if ($v1 == %c) { hadd -m Y2 current_track %i } | hadd -m Y2 Track $+ %i $v1 MircAmp_print Creating playlist. $round($calc(((%t + %i) / (%t * 2)) * 100), 0) percent. | inc %i } | hadd -m Y2 total_tracks $calc(%i - 1) | window -c @SortTemp in_function 0 | load_playlist | play_track | MircAmp_print $calc(%i - 1) tracks, done. } alias -l load_playlist { if (!$dialog(Playlist)) { return } did -r Playlist 1 | var %i = 1, %f, %l, %t while ($hget(Y2, Track $+ %i)) { $whilef | %f = $v1 did -a Playlist 1 $+(0 + 0 0 0 $title(%f), $chr(9), $gettok($hget(Y5, %f), 3, 1)) inc %i } | set_playlist } alias -l set_playlist { if ($dialog(Playlist)) { %i = $calc($hget(Y2, current_track) + 1) | if ($did(Playlist, 1, %i)) { did -c Playlist 1 %i } } } alias -l fmod_open { if ($fmod(FMOD_Connect, $binary(fmod.dll))) { if ($fmod(SOUND_Init,44100 64 0)) { vis_open } else { echo -s Fmod: error } } } alias -l fmod_close { vis_stop | fmod SOUND_Close | dll -u fmod_mIRC.dll } alias -l vis_open { fmod Plugin_Load 0 $+(", $binary(plugins\fmm_vis_spectrum.dll), ") fmod Plugin_Load 1 $+(", $binary(plugins\fmm_vis_oscilloscope.dll), ") fmod Plugin_Load 2 $+(", $binary(plugins\fmm_vis_spectrum2.dll), ") } alias vis_close { fmod Plugin_UnLoad 0 | fmod Plugin_UnLoad 1 | fmod Plugin_UnLoad 2 } alias vis_start { vis 0 Set_Dim 12 23 91 28 | vis 0 Set_Bgbmp $bitmap(VisBg) vis 0 Set_Barwidth 1 | vis 0 Set_NumColors 60 vis 0 Set_Barspace 0 | vis 0 Set_BounceRate 5.0 vis 0 Set_Avg 10 | vis 0 Set_CShift 0 vis 1 Set_Dim 12 23 91 28 | vis 1 Set_Bgbmp $bitmap(VisBg) vis 1 Set_NumColors 60 | vis 1 Set_NumFades 3 vis 1 Set_BounceRate 2.0 | vis 1 Set_YSpace_Every 0 vis 1 Set_YSpace_Height 0 | vis 2 Set_Dim 153 4 43 6 vis 2 Set_Bgcolor 0/0/0 | vis 2 Set_Barwidth 1 vis 2 Set_Color 0 0/255/0 | vis 2 Set_NumColors 1 vis 2 Set_Barspace 0 | vis 2 Set_BounceRate 5.0 vis 2 Set_Avg 10 | vis 2 Set_CShift 0 var %i = 0, %x = 250, %y = 0, %z = 10 while (%i <= 60) { $whilef vis 0 Set_Color %i $+(%x, /, %y, /, %z) vis 1 Set_Color %i $+(%x, /, %y, /, %z) dec %x 4 | inc %y 4 | inc %i } vis_switch } alias -l vis_stop { vis 0 Spectrum 0 | vis 1 Oscilloscope 0 } alias -l vis_switch { if ($hget(Y4, vis_type) == 1) { vis 0 Spectrum 0 vis 1 Oscilloscope 1 1 @MircAmp 25 } else { vis 1 Oscilloscope 0 vis 0 Spectrum 1 1 @MircAmp 25 } } alias -l play_track { var %i = $hget(Y2, current_track), %f = $hget(Y2, Track $+ %i) if (%f) { fmod SOUND_Stream_Close 1 fmod SOUND_Stream_Open 1 $+(", %f, ") | fmod SOUND_Stream_Play 1 | if ($hget(Y4, volume)) { fmod SOUND_SetVolume 0 $v1 } if ($hget(Y4, continue)) { fmod SOUND_Stream_SetEndCallback 1 skip_track } tokenize 1 $hget(Y5, %f) | hadd Y4 track_info $fmod(SOUND_Stream_GetLength,1) $1 $2 $3 $shortfn(%f) display_info %f $1- | update_display | set_playlist } } alias skip_track { if (!$hmatch(Y2, Track*).item) { return } var %i, %x = hadd -m Y2 current_track, %y = $hget(Y2, current_track), %z = $hget(Y2, total_tracks) if ($1 isnum) { %x $1 } elseif ($1 == -) { %i = $calc(%y - 1) | if (%i >= 1) { %x %i } | else { %x %z } } else { if ($hget(Y4, random)) { %x $rand_track } else { %i = $calc(%y + 1) | if (%i <= %z) { %x %i } | else { %x 1 } } } if ($hget(Y4, volume_fade)) { volume_fade } | play_track } alias rand_track { var %i, %t = $hget(Y2, total_tracks) :top %i = $rand(1, %t) if (!$hget(Y2, Played $+ %i)) { hadd Y2 Played $+ %i 1 | return %i } elseif ($hmatch(Y2, Played*, 0).item < %t) { goto top } | else { hdel -w Y2 Played* | goto top } } alias pause_track { if (!$fmod(SOUND_GetPaused)) { fmod SOUND_SetPaused -3 1 | draw_key 2 1 } else { fmod SOUND_SetPaused -3 0 | draw_key 2 0 } | halt } alias -l stop_track { if ($fmod(SOUND_IsPlaying)) { fmod SOUND_Stream_Close 1 } | hadd -m Y4 display_string Not Playing... } alias -l display_info { var %w = @MircAmp, %f = $1 if (%f) { if ($hget(Y3, %f)) { hinc Y3 %f } | else { hadd -m Y3 %f 1 } drawrect -nfr %w $rgb(0,0,0) 1 111 41 16 9 | drawtext -nc @MircAmp 9 Arial 9 111 40 18 10 $2 drawrect -nfr %w $rgb(0,0,0) 1 155 40 12 10 | drawtext -nc @MircAmp 9 Arial 9 155 40 12 10 $left($fmod(SOUND_GetFrequency, 1), 2) tokenize 9 $hget(Y1, $1) | tokenize 32 $replace($+($1, $chr(32), $chr(164), $chr(32), $iif($2 != No tag., $+($v1, $chr(32), $chr(164), $chr(32))), $iif($3 != No tag., $+($v1, $chr(32), $chr(164), $chr(32))), $iif($gettok($hget(Y4, track_info), 2, 32), $+(Vbr, $chr(32), $chr(164), $chr(32))), $chr(1), 1), $chr(32), $chr(160)) if ($width($1-, Arial, 9) > 150) { hadd Y4 display_string $+($1-, $chr(1), $gettok($hget(Y4, display_string), 2, 1)) } else { hadd Y4 display_string $1- } | drawdot %w } else { MircAmp_Print File not found. } } alias -l update_display { if ($window(@MircAmp)) { .timerUpdateDisplay 1 1 update_display $1- } else { return } if ($in_function) { return } draw_scroll $iif($fmod(SOUND_IsPlaying), $fmod(SOUND_Stream_GetPosition,1) $gettok($hget(Y4, track_info), 1, 32)) if ($hget(Y4, display_string)) { tokenize 1 $v1 if ($3) { var %i = $2 | if (%i < $len($1)) { inc %i } | else { %i = 1 } hadd Y4 display_string $+($1, $chr(1), %i, $chr(1), 1) | MircAmp_print $right($1, - $+ %i) $+ $left($1, %i) } else { MircAmp_print $left($1, -2) } } else { hadd -m Y4 display_string $+(Welcome to MircAmp v1.0 by talim., $chr(32), $chr(1), 1) } } alias -l update_display2 { if ($window(@MircAmp)) { .timerUpdateDisplay2 1 1 update_display2 $1- } draw_scroll2 $iif($fmod(SOUND_IsPlaying), $fmod(SOUND_Stream_GetPosition,1) $gettok($hget(Y4, track_info), 1, 32)) } alias -l volume_fade { if ($fmod(SOUND_IsPlaying)) { var %x = $fmod(SOUND_GetVolume,1), %y = %x while (%y) { $whilef | dec %y 0.05 if ($chr(46) !isin %y) { fmod SOUND_SetVolume 0 %y } } stop_track | fmod SOUND_SetVolume 0 %x } } alias -l playlist_tracks { if ($1 == 1) { return - } | var %x tokenize 32 $calc($1 - 1) | if ($1 == $hget(Y2, current_track)) { %x = $style(1) } if ($hget(Y2, Track $+ $1)) { return %x $title($v1) : skip_track $1 } | else { return - } } alias -l fave_tracks { if ($1 == begin) { var %i = $hget(Y4,min_play) set %pattern $+([, $str(0, $calc(3 - $len(%i))), %i, -999]) | return - } elseif ($hfind(Y3, %pattern, $1, r).data) { var %f = $v1 return $title(%f) $+ $chr(44) played $hget(Y3, %f) times. : create_playlist $hget(Y1, %f) } | else { unset %pattern | return - } } alias np { if ($status == connected && $window(@mircamp)) { msg $active $part_1 $part_2 } } alias -l part_1 { tokenize 160 Now Playing: $+($left($gettok($hget(Y4, display_string), 1, 1), -9), 08) $chr(164) | var %i = 1, %s | while ($gettok($1-, %i, 32)) { %s = $v1 | tokenize 32 $reptok($1-, %s, $+(08, $left(%s, 1), 14, $right(%s, -1)), 1, 32) | inc %i } | return $1- } alias -l part_2 { tokenize 32 $hget(Y4, track_info) | return $+(08, 14, $4 08, $chr(164), 14 $2, kbps, 08) } alias -l in_function { if ($isid) { return $hget(Y4, in_function) } else { if ($1) { hadd Y4 in_function $true | vis_stop } | else { hdel Y4 in_function | vis_switch } } } on *:start: { var %i = 1 while (%i <= 5) { if ($isfile($hashs(X $+ %i))) { hmake Y $+ %i | hload Y $+ %i $hashs(X $+ %i) } inc %i } | fmod_open | MircAmp_Open } on *:exit: { window -c @MircAmp | var %i = 2 while (%i <= 4) { if ($hget(Y $+ %i)) { hsave Y $+ %i $hashs(X $+ %i) } inc %i } | fmod_close } on *:active:@MircAmp: { if ($dialog(Media)) { dialog -v $v1 } | if ($dialog(Playlist)) { dialog -v $v1 } | window -a @MircAmp } on *:close:@MircAmp: { mircamp_close } alias -l bitmap { return $shortfn($+(", $scriptdirBitmap, \, $1, .bmp")) } alias -l binary { return $shortfn($+(", $scriptdirBinary, \, $1, ")) } alias -l hashs { return $+(", $scriptdirHash, \, $1, ") } alias -l whilef { var %dll = $binary(whilefix.dll) | dll %dll WhileFix } alias -l mdx { var %dll = $binary(mdx.dll) | return $dll(%dll, $1, $2-) } alias -l fmod { var %dll = $binary(fmod_mIRC.dll) | if ($isid) { return $dll(%dll, $1, $2-) } | else { dll %dll $1 $2- } } alias -l vis { fmod Plugin_Send $1- } alias -l size_click { var %w = @MircAmp if ($hget(Y4, state) != minimized) { hadd Y4 state minimized | drawpic -c %w 0 0 0 16 275 15 $bitmap(TitleBar) var %i = 0 | while (%i <= 5) { draw_key_c %i 0 | inc %i } | vis_stop | vis 2 Spectrum 1 1 @MircAmp 25 window %w $window(%w).x $window(%w).y $window(%w).w 15 | .timerUpdateDisplay off | update_display2 } else { hadd Y4 state normal | drawpic -c %w 0 0 0 0 275 15 $bitmap(TitleBar) | vis 2 Spectrum 0 | vis_switch window %w $window(%w).x $window(%w).y $window(%w).w 102 | .timerUpdateDisplay2 off | update_display } }