home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri Kaikille K-CD 2003 #3 / K-CD_2003-03.iso / Winamp / winamp3_0-full.exe / Skins / Default.wal / scripts / main.m < prev    next >
Text File  |  2002-07-28  |  5KB  |  189 lines

  1. /*--------------------------------------------------------------------
  2.  Main/Normal player group script.
  3. --------------------------------------------------------------------*/
  4.  
  5. #include </lib/std.mi>
  6. #include </lib/pldir.mi>
  7.  
  8. Function setTempText(String txt);
  9. Function emptyTempText();
  10.  
  11. Global Text Songticker;
  12. Global Slider Volbar, Seeker, SeekGhost;
  13. Global Timer Wobbler;
  14. Global Int WobblerWay, Seeking, forcedwobbling;
  15.  
  16. Class GuiObject HintObject;
  17. Class ToggleButton HintToggleButton;
  18.  
  19. Global HintObject Play, Stop, Previous, Next, Pause, Thinger, Open, Eq, Ml, Pl;
  20. Global HintToggleButton ToggleXFade, ToggleShuffle, ToggleRepeat;
  21.  
  22. System.onScriptUnloading() {
  23.   delete Wobbler;
  24. }
  25.  
  26. System.onScriptLoaded() {
  27.  
  28.   Group pgroup = getScriptGroup();
  29.  
  30.   // Get songticker, Volbar & Seeker
  31.   Songticker = pgroup.findObject("Songticker");
  32.   if (songticker == null) messagebox("ooch!!", "ooch", 0, "");
  33.   Volbar = pgroup.findObject("Volume");
  34.   Seeker = pgroup.findObject("Seeker");
  35.   SeekGhost = pgroup.findObject("SeekerGhost");
  36.  
  37.   // Get Various buttons
  38.   Play = pgroup.findObject("Play");
  39.   Pause = pgroup.findObject("Pause");
  40.   Stop = pgroup.findObject("Stop");
  41.   Next = pgroup.findObject("Next");
  42.   Previous = pgroup.findObject("Previous");
  43.   Thinger = pgroup.findObject("Thinger");
  44.   Open = pgroup.findObject("Eject");
  45.  
  46.   Eq = pgroup.findObject("Eq");
  47.   Ml = pgroup.findObject("Ml");
  48.   Pl = pgroup.findObject("Pl");
  49.  
  50.   if (SeekGhost != NULL)
  51.     SeekGhost.setAlpha(1);
  52.  
  53.   forcedwobbling = 0;
  54.   if (Thinger != NULL) {
  55.     Wobbler = new Timer;
  56.     Wobbler.setDelay(50);
  57.   }
  58.  
  59. }
  60.  
  61. Songticker.onLeftButtonDblClk(int x, int y) {
  62.   PlDir.showCurrentlyPlayingEntry();
  63. }
  64.  
  65. Volbar.onSetPosition(int p) {
  66.   Float f;
  67.   f = p;
  68.   f = f / 255 * 100;
  69.   setTempText("Volume: " + System.integerToString(f) + "%");
  70. }
  71.  
  72. Volbar.onSetFinalPosition(int p) {
  73.   Songticker.setAlternateText("");
  74. }
  75.  
  76. Seeker.onSetPosition(int p) {
  77.   if (!SeekGhost && seeking) {
  78.     Float f;
  79.     f = p;
  80.     f = f / 255 * 100;
  81.     Float len = getPlayItemLength();
  82.     if (len != 0) {
  83.       int np = len * f / 100;
  84.       setTempText("Seek to " + integerToTime(np) + " / " + integerToTime(len) + " (" + integerToString(f) + "%)");
  85.     }
  86.   }
  87. }
  88.  
  89. Seeker.onLeftButtonDown(int x, int y) {
  90.   seeking = 1;
  91. }
  92.  
  93. Seeker.onLeftButtonUp(int x, int y) {
  94.   seeking = 0;
  95.   setTempText("");
  96. }
  97.  
  98. SeekGhost.onSetPosition(int p) {
  99.   if (getalpha() == 1) return;
  100.   Float f;
  101.   f = p;
  102.   f = f / 255 * 100;
  103.   Float len = getPlayItemLength();
  104.   if (len != 0) {
  105.     int np = len * f / 100;
  106.     setTempText("Seek to " + integerToTime(np) + " / " + integerToTime(len) + " (" + integerToString(f) + "%)");
  107.   }
  108. }
  109.  
  110. SeekGhost.onLeftButtonDown(int x, int y) {
  111.   SeekGhost.setAlpha(128);
  112. }
  113.  
  114. SeekGhost.onLeftButtonUp(int x, int y) {
  115.   SeekGhost.setAlpha(1);
  116. }
  117.  
  118. Seeker.onSetFinalPosition(int p) {
  119.   Songticker.setAlternateText("");
  120. }
  121.  
  122. SeekGhost.onsetfinalposition(int p) {
  123.   Songticker.setAlternateText("");
  124.   SeekGhost.setAlpha(1);
  125. }
  126.  
  127. HintObject.onLeftButtonDown(int x, int y) {
  128.   if (HintObject == Play) setTempText("Play");
  129.   else if (HintObject == Stop) setTempText("Stop");
  130.   else if (HintObject == Pause) setTempText("Pause");
  131.   else if (HintObject == Next) setTempText("Next");
  132.   else if (HintObject == Previous) setTempText("Previous");
  133.   else if (HintObject == Thinger) setTempText("Thinger");
  134.   else if (HintObject == Open) setTempText("Open");
  135.   else if (HintObject == Eq) setTempText("Equalizer");
  136.   else if (HintObject == ML) setTempText("Media Library");
  137.   else if (HintObject == Pl) setTempText("Playlist Editor");
  138. }
  139.  
  140. HintObject.onLeftButtonUp(int x, int y) {
  141.   emptyTempText();
  142. }
  143.  
  144. Thinger.onEnterArea() {
  145.  if (forcedwobbling) return;
  146.  WobblerWay = 1;
  147.  Wobbler.start();
  148. }
  149.  
  150. Thinger.onLeaveArea() {
  151.  if (forcedwobbling) return;
  152.  Wobbler.stop();
  153.  setAlpha(255);
  154. }
  155.  
  156. Thinger.onRightButtonUp(int x, int y) {
  157.   windowMenu();
  158.   complete;
  159. }
  160.  
  161. Wobbler.onTimer() {
  162.   int curalpha = Thinger.getAlpha() + WobblerWay * 24;
  163.   if (curalpha <= 96) { curalpha = 96; WobblerWay = -WobblerWay; }
  164.   if (curalpha > 255) { curalpha = 255; WobblerWay = -WobblerWay; }
  165.   Thinger.setAlpha(curalpha);
  166. }
  167.  
  168. setTempText(String txt) {
  169.   Songticker.setAlternateText(txt);
  170. }
  171.  
  172. emptyTempText() {
  173.   Songticker.setAlternateText("");
  174. }
  175.  
  176. Thinger.onNotify(String msg, String param, int p1, int p2) {
  177.   if (msg == "forcedwobbling") {
  178.     if (p1) {
  179.       forcedwobbling = 1;
  180.       WobblerWay = 1;
  181.       Wobbler.start();
  182.     } else {
  183.       forcedwobbling = 0;
  184.       Wobbler.stop();
  185.       Thinger.setAlpha(255);
  186.     }
  187.   }
  188. }
  189.