diff options
Diffstat (limited to 'Src/resources/skins/Winamp Modern/scripts/seek.m')
-rw-r--r-- | Src/resources/skins/Winamp Modern/scripts/seek.m | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Src/resources/skins/Winamp Modern/scripts/seek.m b/Src/resources/skins/Winamp Modern/scripts/seek.m new file mode 100644 index 00000000..3356d3b1 --- /dev/null +++ b/Src/resources/skins/Winamp Modern/scripts/seek.m @@ -0,0 +1,65 @@ +#include <lib/std.mi> + +Global Group frameGroup; +Global Slider Seeker; +Global Int Seeking; +Global Timer SongTickerTimer; +Global Text InfoTicker; +Global GuiObject SongTicker; +Global layer SeekPos; + +System.onScriptLoaded() { + + frameGroup = getScriptGroup(); + Seeker = frameGroup.findObject("SeekerGhost"); + SongTicker = frameGroup.findObject("songticker"); + SeekPos = frameGroup.findObject("player.seekbar.pos"); + InfoTicker = frameGroup.findObject("infoticker"); + + SongTickerTimer = new Timer; + SongTickerTimer.setDelay(1000); +} + +SongTickerTimer.onTimer() { + SongTicker.show(); + InfoTicker.hide(); + SongTickerTimer.stop(); +} + +System.onScriptUnloading() { + delete SongTickerTimer; +} + + +Seeker.onSetPosition(int p) { + if (seeking) { + Float f; + f = p; + f = f / 255 * 100; + Float len = getPlayItemLength(); + if (len != 0) { + int np = len * f / 100; + SongTickerTimer.start(); + SongTicker.hide(); + InfoTicker.show(); + InfoTicker.setText(translate("Seek") + ":" + integerToTime(np) + "/" + integerToTime(len) + " (" + integerToString(f) + "%) "); + } + } +} + +Seeker.onLeftButtonDown(int x, int y) { + seeking = 1; +} + +Seeker.onLeftButtonUp(int x, int y) { + seeking = 0; + SongTickerTimer.start(); + SongTicker.show(); + InfoTicker.hide(); +} + +Seeker.onSetFinalPosition(int p) { + SongTickerTimer.start(); + SongTicker.show(); + InfoTicker.hide(); +}
\ No newline at end of file |