home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 November / CDVD1105.ISO / Util / Winamp / Skins / Anime_Shogo.wal / scripts / sonique2_timer.m < prev    next >
Text File  |  2003-02-19  |  2KB  |  76 lines

  1. // *****************************
  2. // **  Sonique2-styled timer  **
  3. // *****************************
  4. // coded by spleen (spleen@net.hr)
  5. // with assistance from ThePlague and Gonzotek
  6. // modified by FrisbeeMonkey for greater flexibility
  7. // (rather than shanghai the SongTicker, now requires
  8. // a new Text Object)
  9. #include </lib/std.mi>
  10.  
  11. Function String specialTimer(int CurPos);
  12.  
  13. Global Timer tmrWait;
  14. Global Text txtTimer;
  15. Global Boolean MinusIsOn;
  16.  
  17. System.onScriptLoaded() {
  18.   Group mainnormal = getContainer("Main").getLayout("Normal");
  19.   txtTimer = mainnormal.findObject("s2timer");
  20.  
  21.   tmrWait = new Timer;
  22.   tmrWait.setDelay(20);
  23.  
  24.   MinusIsOn = getPrivateInt("Settings","Minus",0);
  25.  
  26.   if (System.getStatus()==1) tmrWait.start();
  27. }
  28.  
  29. System.onScriptUnloading() {
  30.   tmrWait.stop();
  31.   delete tmrWait;
  32. }
  33.  
  34. System.onPlay() {
  35.   tmrWait.start();
  36. }
  37.  
  38. System.onStop() {
  39.   tmrWait.stop();
  40.   txtTimer.setText("");
  41. }
  42.  
  43. tmrWait.onTimer() {
  44.   if (MinusIsOn) txtTimer.setText(specialTimer(getPlayItemLength()-getPosition()));
  45.   else txtTimer.setText(specialTimer(getPosition()));
  46. }
  47.  
  48. txtTimer.onLeftButtonDown(int x, int y) {
  49.   if (MinusIsOn) MinusIsOn=0;
  50.   else MinusIsOn=1;
  51.   setPrivateInt("Settings","Minus",MinusIsOn);
  52. }
  53.  
  54. String specialTimer(int CurPos) {
  55.   String SpecTmr = integerToLongTime(CurPos) + ".";
  56.   String Temp = integerToString(CurPos);
  57.   int TempLen = strlen(Temp);
  58.  
  59.   if (strlen(SpecTmr)==8) SpecTmr = "0" + SpecTmr;
  60.  
  61.   if (TempLen>=3) {
  62.     Temp = strmid(Temp,TempLen-3,2);
  63.     SpecTmr = SpecTmr + Temp;
  64.   } else
  65.   if (TempLen==2) {
  66.     Temp = strmid(Temp,0,1);
  67.     SpecTmr = SpecTmr + "0" + Temp;
  68.   } else
  69.     SpecTmr = SpecTmr + "00";
  70.  
  71.   if (MinusIsOn) SpecTmr = "-" + SpecTmr;
  72.   else SpecTmr = " " + SpecTmr;
  73.  
  74.   return SpecTmr;
  75. }
  76.