diff options
Diffstat (limited to 'Src/resources/skins/Winamp Modern/scripts/seekshade.m')
-rw-r--r-- | Src/resources/skins/Winamp Modern/scripts/seekshade.m | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/Src/resources/skins/Winamp Modern/scripts/seekshade.m b/Src/resources/skins/Winamp Modern/scripts/seekshade.m new file mode 100644 index 00000000..9edfa8c5 --- /dev/null +++ b/Src/resources/skins/Winamp Modern/scripts/seekshade.m @@ -0,0 +1,64 @@ +#include <lib/std.mi> + +Global Group frameGroup; +Class Slider Seeker; +Global Seeker Seeker1, Seeker2; +Global Int Seeking; +Global Timer SongTickerTimer; +Global GuiObject SongTicker; +Global Text InfoTicker; + +System.onScriptLoaded() { + frameGroup = getScriptGroup(); + Seeker1 = frameGroup.findObject("shadeSeekerGhost"); + Seeker2 = frameGroup.findObject("shadeSeekerGhost2"); + SongTicker = frameGroup.findObject("SongtickerShade"); + InfoTicker = frameGroup.findObject("infotickerShade"); + + 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 |