aboutsummaryrefslogtreecommitdiff
path: root/Src/resources/skins/Winamp Modern/scripts/seekshade.m
diff options
context:
space:
mode:
Diffstat (limited to 'Src/resources/skins/Winamp Modern/scripts/seekshade.m')
-rw-r--r--Src/resources/skins/Winamp Modern/scripts/seekshade.m64
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