• Advertisement
Sign in to follow this  

Direct Input Buffered Data Sequence

This topic is 2510 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

HI everyone!
I have a problem with the buffered data method when using Direct Input.

Basically, I'm trying to get accurate data from a Rock Band 3 Pro Drumkit which uses simultaneous button presses to signal extra cymbal hits.

The trouble I'm having is that often when I use the GetDeviceData() function it's possible to catch it inbetween the 2 button presses even though they share the same sequence number and timestamp.
I'm not hitting the buffer limit or anything like that and I get the same problem when using GetDeviceState() Method (it's possible to get a snapshot of the state inbetween the 2 button presses).

I don't think that this could just be the controller not sending the data quick enough as the sequence and timestamp match and I don't have any problem when using XInput.

Is there a way to force Direct Input to only give me the data when the sequence is complete?

If not, does anyone know how GetDeviceData() works lower down? Would it be fair to say that if I call GetDeviceData() and get no data than that's the end of the sequence? Or could it be possible to Call GetDeviceData() the first time and get data and a sequence number of 10. Then call it again and get no data. Then call it a third time and get the second bit of data with the same sequence as the first?

Any Info would be great!

Thanks in advance!

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement