Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
(* db iTunes Vol, Play, or Fade By David Battino, Batmosphere.com Based on ideas from Doug's AppleScripts and Mac OS Hints Code cleaned up and flattened by Jacob Rus This script fades out iTunes if it's playing and fades it in if it's stopped. *) -- So we can switch back to this after running the fade global front_app set front_app to app (path to frontmost application as Unicode text) global itunes_state_ set itunes_state_ to my itunes_state() prop parent : app "System Events" tell parent to activate if itunes_state_ is "playing" then tell app "iTunes" to set current_volume to sound volume set heyyou to "iTunes is cranked to " & current_volume & "." & ¬ return & "Set the new volume (0-100):" --dialog message repeat display dialog heyyou default answer "0" set volume_ to text returned of result as number if volume_ is "0" then my fade by 0.01 from current_volume to 0 exit repeat else try my fade by 0.01 from current_volume to volume_ exit repeat on error beep set heyyou to "Please enter a number between 0 and 100." end try end if end repeat else if itunes_state_ is "stopped" then tell app "iTunes" to set current_volume to sound volume repeat display dialog "iTunes is stopped." & return & ¬ "The current volume is " & current_volume & "." & ¬ return & "Begin playing at volume (1-100):" ¬ default answer "70" set volume_ to text returned of result as number try my fade by 0.01 from 0 to volume_ exit repeat on error beep end try end repeat else if itunes_state_ is "" then beep end if tell front_app to activate -- fade iTunes to the end_volume, delaying "delay" seconds for each step to fade by delay_ from start_volume to end_volume tell app "iTunes" -- set the step size based on whether start or end volume is bigger set step_ to ((start_volume < end_volume) as integer * 2 - 1) repeat with i from start_volume to end_volume by step_ set the sound volume to i delay delay_ end repeat end tell end fade -- returns "playing", "stopped", or "" on itunes_state() tell application "System Events" if process "iTunes" exists then tell app "iTunes" if player state is playing then return "playing" else return "stopped" end if end tell else return "" end if end tell end itunes_state
From the Design Piracy series on my blog: