diff options
Diffstat (limited to 'Src/resources/skins/Winamp Modern/scripts/display.m')
-rw-r--r-- | Src/resources/skins/Winamp Modern/scripts/display.m | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/Src/resources/skins/Winamp Modern/scripts/display.m b/Src/resources/skins/Winamp Modern/scripts/display.m new file mode 100644 index 00000000..0ed9e1ef --- /dev/null +++ b/Src/resources/skins/Winamp Modern/scripts/display.m @@ -0,0 +1,120 @@ +#include <lib/std.mi> +#include "attribs.m" + +Global Group frameGroup; +Global Togglebutton ShuffleBtn,RepeatBtn,ShuffleBtn2,RepeatBtn2; +Global Timer SongTickerTimer; +Global Text InfoTicker; +Global GuiObject SongTicker; +Global Slider Balance; +Global Layout normal; + +function setSongtickerScrolling(); + +System.onScriptLoaded() { + initAttribs(); + frameGroup = getScriptGroup(); + SongTicker = frameGroup.findObject("songticker"); + InfoTicker = frameGroup.findObject("infoticker"); + normal = frameGroup.getParentLayout(); + + SongTickerTimer = new Timer; + SongTickerTimer.setDelay(1000); + + RepeatBtn = frameGroup.findObject("Repeat"); + ShuffleBtn = frameGroup.findObject("Shuffle"); + RepeatBtn2 = frameGroup.findObject("RepeatDisplay"); + ShuffleBtn2 = frameGroup.findObject("ShuffleDisplay"); + + Balance = frameGroup.findObject("Balance"); + setSongtickerScrolling(); +} + +normal.onAction (String action, String param, Int x, int y, int p1, int p2, GuiObject source) +{ + if (strlower(action) == "showinfo") + { + SongTicker.hide(); + SongTickerTimer.start(); + InfoTicker.setText(param); + InfoTicker.show(); + + } + else if (strlower(action) == "cancelinfo") + { + SongTickerTimer.onTimer (); + } +} + +SongTickerTimer.onTimer() { + SongTicker.show(); + InfoTicker.hide(); + SongTickerTimer.stop(); +} + +System.onScriptUnloading() { + delete SongTickerTimer; +} + +Balance.onSetPosition(int newpos) +{ + string t=translate("Balance")+":"; + if (newpos==127) t+= " " + translate("Center"); + if (newpos<127) t += " " + integerToString((100-(newpos/127)*100))+"% "+translate("Left"); + if (newpos>127) t += " " + integerToString(((newpos-127)/127)*100)+"% "+translate("Right"); + + SongTickerTimer.start(); + SongTicker.hide(); + InfoTicker.show(); + InfoTicker.setText(t); +} + +RepeatBtn.onToggle(boolean on) { + SongTickerTimer.start(); + int v = getCurCfgVal(); + SongTicker.hide(); + InfoTicker.show(); + if (v == 0) InfoTicker.setText("Repeat: OFF"); + else if (v > 0) InfoTicker.setText("Repeat: ALL"); + else if (v < 0) InfoTicker.setText("Repeat: TRACK"); +} + +ShuffleBtn.onToggle(boolean on) { + SongTickerTimer.start(); + SongTicker.hide(); + InfoTicker.show(); + if (on) InfoTicker.setText("Playlist Shuffling: ON"); else InfoTicker.setText("Playlist Shuffling: OFF"); +} + +RepeatBtn2.onToggle(boolean on) { + SongTickerTimer.start(); + int v = getCurCfgVal(); + SongTicker.hide(); + InfoTicker.show(); + if (v == 0) InfoTicker.setText("Repeat: OFF"); + else if (v > 0) InfoTicker.setText("Repeat: ALL"); + else if (v < 0) InfoTicker.setText("Repeat: TRACK"); +} + +ShuffleBtn2.onToggle(boolean on) { + SongTickerTimer.start(); + SongTicker.hide(); + InfoTicker.show(); + if (on) InfoTicker.setText("Playlist Shuffling: ON"); else InfoTicker.setText("Playlist Shuffling: OFF"); +} + +songticker_scrolling_attrib.onDataChanged() { + setSongtickerScrolling(); +} + +setSongtickerScrolling() { + if (songticker_scrolling_modern_attrib.getData()=="1") { + SongTicker.setXMLParam("ticker","bounce"); + } + else if (songticker_scrolling_classic_attrib.getData()=="1") { + SongTicker.setXMLParam("ticker","scroll"); + } + else { + SongTicker.setXMLParam("ticker","off"); + } +}
\ No newline at end of file |