Created
May 16, 2011 19:28
-
-
Save jordanorelli/975144 to your computer and use it in GitHub Desktop.
a script for playing the drum set on ronwinter.tv/drums.html
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
--visit ronwinter.tv/drums.html, let the swf load, start the script, and then click inside the swf to put keyboard focus on Flash. The script will take control of your keyboard and play the drumset. The timing is really crappy. | |
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 retarded, 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 "x" & "q" | |
delay s | |
repeat 3 times | |
keystroke "q" | |
delay s | |
end repeat | |
end repeat | |
repeat 2 times | |
keystroke "x" & "q" | |
delay s | |
keystroke "q" | |
delay s | |
keystroke "x" & "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 "x" & "q" | |
delay s | |
repeat 3 times | |
keystroke "q" | |
delay s | |
end repeat | |
end repeat | |
repeat 2 times | |
keystroke "x" & "q" | |
delay s | |
keystroke "q" | |
delay s | |
keystroke "x" & "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
this is the first music-related code I ever wrote. It's really heinous.