home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 November / CDVD1105.ISO / Util / Winamp / Skins / Anime_Shogo.wal / scripts / volscrpt.m < prev    next >
Text File  |  2004-08-08  |  1KB  |  65 lines

  1. //-----------------------------------------------------------------------------
  2. // volumebyregion.m
  3. //
  4. // Example of an Animated Volume bar using Regions
  5. // (Improved, no longer requires HiddenVolume)
  6. //
  7. // written by FrisbeeMonkey
  8. //-----------------------------------------------------------------------------
  9.  
  10. #include </lib/std.mi>
  11.  
  12. Function setVolumeAnim(int volValue);
  13. Function updateVolume(int x, int y);
  14.  
  15. Global Layer Volume;
  16. Global Map VolumeMap;
  17. Global Boolean VolumeChanging;
  18.  
  19. System.onScriptLoaded() {
  20.     Group VolGrp = getScriptGroup();
  21.  
  22.     Volume = VolGrp.findObject("Volume");
  23.  
  24.     VolumeMap = new Map;
  25.     VolumeMap.loadMap("shogo.vol.map");
  26.  
  27.     setVolumeAnim(System.getVolume());
  28. }
  29.  
  30. System.onVolumeChanged(int newVol) {
  31.     setVolumeAnim(newVol);
  32.     int p = (newVol * 100) / 255;
  33. }
  34.  
  35. setVolumeAnim(int Value) {
  36.     Region r = new Region;
  37.     r.loadFromMap(VolumeMap, Value, 1);
  38.     Volume.setRegion(r);
  39.     delete r;
  40. }
  41.  
  42. Volume.onLeftButtonDown(int x, int y) {
  43.     VolumeChanging = 1;
  44.     updateVolume(x, y);
  45. }
  46. Volume.onLeftButtonUp(int x, int y) {
  47.     if (VolumeChanging) {
  48.         VolumeChanging = 0;
  49.         updateVolume(x, y);
  50.     }
  51. }
  52. Volume.onMouseMove(int x, int y) {
  53.     if (VolumeChanging) {
  54.         updateVolume(x, y);
  55.     }
  56. }
  57.  
  58. updateVolume(int x, int y) {
  59.     int newValue = VolumeMap.getValue(x - Volume.getLeft(), y - Volume.getTop());
  60.     System.setVolume(newValue);
  61. }
  62.  
  63. System.onScriptUnloading() {
  64.     delete VolumeMap;
  65. }