Advertisement
Sam_P

Circle Volume Indicator with loop without writes

Sep 26th, 2011
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- new version at http://pastebin.com/FjTKv05t
  2.  
  3. -- original & other project files at https://midnighttokerkate.deviantart.com/art/circle-volume-update-257250247
  4. -- how to set it up: http://dl.dropbox.com/u/5812026/VolumeSetup.mov
  5. property previousVolume : -1
  6. property previouslyMuted : false
  7. on run
  8.     tell application "GeekTool Helper"
  9.         set volImageGeeklet to first item of (geeklets whose name is "VolImage")
  10.         set volImageGroup to group "Image"
  11.         set volImageVisible to volImageGroup's visible
  12.     end tell
  13.     set pathName to "/Users/PATH/Documents/Geektool/Circle_VolumeIndicator"
  14.     repeat while volImageVisible
  15.         set rawVolume to output volume of (get volume settings) as integer
  16.         if previousVolume is not equal to rawVolume then
  17.             set previousVolume to rawVolume
  18.             set finalVolume to rawVolume * 16 / 100 + 1 as integer
  19.             updateGeeklet(pathName, finalVolume, volImageGeeklet)
  20.         end if
  21.         set outputMuted to output muted of (get volume settings) as boolean
  22.         if outputMuted then
  23.             if previouslyMuted is not equal to outputMuted then
  24.                 set previouslyMuted to outputMuted as boolean
  25.                 set finalVolume to 1 as integer
  26.                 updateGeeklet(pathName, finalVolume, volImageGeeklet)
  27.             end if
  28.         else
  29.             if previouslyMuted is not equal to outputMuted then
  30.                 set previouslyMuted to outputMuted as boolean
  31.                 set finalVolume to rawVolume * 16 / 100 + 1 as integer
  32.                 updateGeeklet(pathName, finalVolume, volImageGeeklet)
  33.             end if
  34.         end if
  35.         tell application "GeekTool Helper"
  36.             set volImageVisible to volImageGroup's visible
  37.         end tell
  38.         delay 2
  39.     end repeat
  40. end run
  41.  
  42. on updateGeeklet(pathName, finalVolume, volImageGeeklet)
  43.     set finalVolumeImage to "file://localhost" & pathName & "/Images_White/" & finalVolume & ".png" as text
  44.     tell application "GeekTool Helper"
  45.         set volImageGeeklet's image url to finalVolumeImage
  46.         refresh volImageGeeklet
  47.     end tell
  48. end updateGeeklet
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement