Last active
December 12, 2019 18:06
-
-
Save jordanorelli/9549904 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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