FreePIE works ok when testing, doesn't work in-game.
Posted: Thu Apr 02, 2015 12:49 pm
Hi. For the past few days I've been trying to get my e-drums work with Guitar Hero: World Tour. I've tried many old pieces of software that did absolutely nothing until I found FreePIE.
Currently, I'm at a point where I translate midi messages from my drumkit to keystrokes on keyboard. The whole script looks like this:
This works just fine when testing in notepad. I can beat the drums as fast as I want and it never fails. 5 hits = 5 letters in notepad. However when I start up the game It's like it randomly doesn't register the hit. I hit 5 times, not even that fast, and only first and third get registered or so. No dealy or stuff like that.
So far I've tried setting the process priority to realtime but that didn't help at all. Any suggestions?
Currently, I'm at a point where I translate midi messages from my drumkit to keystrokes on keyboard. The whole script looks like this:
Code: Select all
def onMidi():
#blue
keyboard.setKey(Key.Y, (midi[0].data.buffer[0] == 48) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.U, (midi[0].data.buffer[0] == 51) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.I, (midi[0].data.buffer[0] == 53) and (midi[0].data.status == MidiStatus.NoteOn))
#kick
keyboard.setKey(Key.Space, (midi[0].data.buffer[0] == 36) and (midi[0].data.status == MidiStatus.NoteOn))
#red
keyboard.setKey(Key.S, (midi[0].data.buffer[0] == 38) and (midi[0].data.status == MidiStatus.NoteOn))
#yellow
keyboard.setKey(Key.W, (midi[0].data.buffer[0] == 46) and (midi[0].data.status == MidiStatus.NoteOn))
#green
keyboard.setKey(Key.H, (midi[0].data.buffer[0] == 45) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.J, (midi[0].data.buffer[0] == 49) and (midi[0].data.status == MidiStatus.NoteOn))
keyboard.setKey(Key.K, (midi[0].data.buffer[0] == 55) and (midi[0].data.status == MidiStatus.NoteOn))
if starting:
system.setThreadTiming(TimingTypes.HighresSystemTimer)
system.threadExecutionInterval = 1
midi[0].update += onMidi
So far I've tried setting the process priority to realtime but that didn't help at all. Any suggestions?