;MP3P.PLUGIN:Shake It Up!:Cynagen:Visualization:Shake It Up! will automatically shake MP3P at designated times to match timings in the songs to make it appear as if the song was so loud it was shaking MP3P!:0:0 ; Shake It Up! ; An MP3P plugin by Cynagen alias -l shake { set -u1 %d $1 if ($dialog(%d)) { set -u1 %x $dialog(%d).x set -u1 %y $dialog(%d).y .dialog -s %d $rand($calc(%x - 5),$calc(%x + 5)) $rand($calc(%y - 5),$calc(%y + 5)) -1 -1 .dialog -s %d %x %y -1 -1 } } on *:SIGNAL:mp3p.playback.play:{ set %shake.song $replace($nopath($1-),$chr(32),$chr(160)) if ($ini(songshake.ini,%shake.song)) { shakeit } } on *:SIGNAL:mp3p.playback.stop:{ unset %shake.* | .timerdoashake* off } on *:dialog:mp3p:rclick:0:{ remini songshake.ini %shake.song | .timer_do_shake_#* off } on *:dialog:mp3p:sclick:0:{ .timershake -hm 0 1 shake mp3p | set %shake.start $insong.pos } on *:dialog:mp3p:uclick:0:{ .timershake off | writeini songshake.ini %shake.song %shake.start $insong.pos } alias -l shakeit { set %shake.total $ini(songshake.ini,%shake.song,0) set %shake.count 1 while (%shake.count <= %shake.total) { set %shake.bgnshake $ini(songshake.ini,%shake.song,%shake.count) set %shake.endshake $readini(songshake.ini,%shake.song,%shake.bgnshake) .timer_do_shake_# $+ %shake.count -hm 1 %shake.bgnshake .timer $+ %shake.bgnshake -hm 0 1 doashake %shake.endshake %shake.bgnshake inc %shake.count } } alias -l doashake { if ($insong.pos > $1 || !$insong.pos) { .timer $+ $2 off } elseif ($insong.pos < $2) { halt } else { shake mp3p } }