Skip to content

Instantly share code, notes, and snippets.

@jordanorelli
Last active December 12, 2019 18:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jordanorelli/9549904 to your computer and use it in GitHub Desktop.
Save jordanorelli/9549904 to your computer and use it in GitHub Desktop.
global tempo
set tempo to 120
--establish quarter note delay time
global q
set q to 60 / tempo
--establish eighth note delay time
global e
set e to q / 2
--establish sixteenth note delay time
global s
set s to e / 2
--establish thirty-second note delay time
--yeah, that seems dumb, but doing math inside
--of a musical phrase fucks with the timing, so I've
--had to settle for avoiding math at all costs.
global t
set t to s / 2
global patLoop
set patLoop to 1
do shell script "/bin/sleep 3"
tell application "System Events"
delay 0.2
--measures 1 through 4
repeat 4 times
--1 e---e
keystroke "e" & "q"
delay s
repeat 2 times
keystroke "q"
delay s
end repeat
keystroke "e" & "q"
delay s
--2 y-e-
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "e" & "q"
delay s
keystroke "q"
delay s
--3 e---
keystroke "e" & "q"
delay s
repeat 3 times
keystroke "q"
delay s
end repeat
--4 y---
keystroke "y" & "q"
delay s
repeat 3 times
keystroke "q"
delay s
end repeat
end repeat
--measures 5 though 8
repeat while patLoop < 5
--1 i--e
keystroke "i" & "q"
delay s
repeat 2 times
keystroke "q"
delay s
end repeat
keystroke "e" & "q"
delay s
--2 y-e-
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "e" & "q"
delay s
keystroke "q"
delay s
--3 e---
if patLoop = 4 then
keystroke "e" & "q"
delay s
keystroke "q"
delay s
keystroke "h" & "q"
delay s
keystroke "q"
delay s
else
keystroke "e" & "q"
delay s
repeat 3 times
keystroke "q"
delay s
end repeat
end if
--4
if patLoop = 1 or patLoop = 3 then
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "c" & "q"
delay s
keystroke "q"
delay s
else if patLoop = 2 then
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay s
else if patLoop = 4 then
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay s
keystroke "h" & "q"
delay s
end if
set patLoop to patLoop + 1
end repeat
--measures 9 through 16
repeat 2 times
set patLoop to 1
repeat while patLoop < 5
if patLoop = 4 then
repeat 2 times
keystroke "g" & "q"
delay s
repeat 3 times
keystroke "q"
delay s
end repeat
end repeat
repeat 2 times
keystroke "g" & "q"
delay s
keystroke "q"
delay s
keystroke "g" & "q"
delay s
keystroke "q"
delay s
end repeat
else
--1 iqqe
keystroke "i" & "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay s
keystroke "w" & "q"
delay s
--2 yqeq
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "e" & "q"
delay s
keystroke "q"
delay s
--3 eqqq
keystroke "e" & "q"
delay s
keystroke "r" & "q"
delay s
keystroke "h" & "q"
delay s
keystroke "r" & "q"
delay s
if patLoop = 1 or patLoop = 3 then
--4 yqqq
keystroke "y" & "q"
delay s
keystroke "r" & "q"
delay s
keystroke "c" & "q"
delay s
keystroke "h" & "q"
delay s
else
keystroke "q"
delay s
keystroke "r" & "q"
delay s
keystroke "q"
delay s
keystroke "h" & "q"
delay s
end if
end if
set patLoop to patLoop + 1
end repeat
end repeat
--measures 17 and 18
set patLoop to 1
repeat while patLoop < 5
keystroke "m" & "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay t
keystroke "q"
delay t
keystroke "q"
delay s
if patLoop = 1 or patLoop = 3 then
keystroke "j"
delay s
keystroke ";"
delay s
keystroke ";"
delay s
keystroke ";"
delay s
else if patLoop = 2 then
keystroke "j"
delay s
keystroke ";"
delay s
keystroke "n"
delay s
keystroke ";"
delay s
else
keystroke "j"
delay s
keystroke ";"
delay s
keystroke "n"
delay s
keystroke "g"
delay s
end if
set patLoop to patLoop + 1
end repeat
repeat 2 times
set patLoop to 1
repeat while patLoop < 5
if patLoop = 4 then
repeat 2 times
keystroke "g" & "q"
delay s
repeat 3 times
keystroke "q"
delay s
end repeat
end repeat
repeat 2 times
keystroke "g" & "q"
delay s
keystroke "q"
delay s
keystroke "g" & "q"
delay s
keystroke "q"
delay s
end repeat
else
--1 iqqe
keystroke "i" & "q"
delay s
keystroke "q"
delay s
keystroke "q"
delay s
keystroke "w" & "q"
delay s
--2 yqeq
keystroke "y" & "q"
delay s
keystroke "q"
delay s
keystroke "e" & "q"
delay s
keystroke "q"
delay s
--3 eqqq
keystroke "e" & "q"
delay s
keystroke "r" & "q"
delay s
keystroke "h" & "q"
delay s
keystroke "r" & "q"
delay s
if patLoop = 1 or patLoop = 3 then
--4 yqqq
keystroke "y" & "q"
delay s
keystroke "r" & "q"
delay s
keystroke "c" & "q"
delay s
keystroke "h" & "q"
delay s
else
keystroke "q"
delay s
keystroke "r" & "q"
delay s
keystroke "q"
delay s
keystroke "h" & "q"
delay s
end if
end if
set patLoop to patLoop + 1
end repeat
end repeat
keystroke "m"
end tell
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment