Code: Select all
^\::
Sleep 500
( ***** Bar 1 ***** )
(1,2)
Send, {x down}
Send, {x up}
Sleep 450
(3,4)
Send, {x down}
Send, {x up}
Sleep 450
(5,6)
Send, {x down}
Send, {x up}
Sleep 450
(7)
Send, {x down}
Send, {x up}
Sleep 225
(8)
Send, {x down}
Send, {x up}
Sleep 225
(9,10)
Send, {v down}
Send, {v up}
Sleep 450
(11,12)
Send, {v down}
Send, {v up}
Sleep 450
(13,14)
Send, {v down}
Send, {v up}
Sleep 450
(15)
Send, {v down}
Send, {v up}
Sleep 225
(16)
Send, {n down}
Send, {n up}
Sleep 225
(17,18)
Send, {b down}
Send, {b up}
Sleep 450
(19,20)
Send, {b down}
Send, {b up}
Sleep 450
(21,22)
Send, {b down}
Send, {b up}
Sleep 450
(23)
Send, {b down}
Send, {b up}
Sleep 225
(24)
Send, {v down}
Send, {v up}
Sleep 225
(25,26)
Send, {c down}
Send, {c up}
Sleep 450
(27,28)
Send, {c down}
Send, {c up}
Sleep 450
(29,30)
Send, {c down}
Send, {c up}
Sleep 450
(31)
Send, {v down}
Send, {v up}
Sleep 225
(32)
Send, {c down}
Send, {c up}
Sleep 225
On the first playthrough, the song plays the right notes but when it gets a little more complicated it slows down slightly but noticeably. No sleep command throughout the song is shorter than 225 and adjusting the speed to slower intervals doesn't help all that much. On the second playthrough and later more and more errors start occurring; missed notes, delayed notes, etcetera. This requires me to close AHK and re-run the program if I want it to function properly again.
Is there some other way I could execute these commands that would be faster/more reliable/more precise timing wise?
Additionally if you have any ideas on how I could terminate this program mid process using a hotkey that would be great as right now, once it begins I can't stop it. Just have to let it finish.