So, recently I saw a video where someone played music on a Steam Controller. So of course, I decided to give it a try myself. After trying the code that they gave, I decided that I could do better.
So, without further ado, playing music on a Steam controller, but on a CE:
This, of course, uses jacobly's USB library to send commands to the controller. I convert MIDI files to a compacted version of the format that the controller expects using a modified version of Pila's program, which I can then convhex and send to the calc. From there, I can read the data on-calc and send it as a USB request to the device.
I'll open-source this once I get the converter working properly - right now it's exactly the same as the existing converter except that it writes the data (as well as the MIDI timestamp) to file as well as the device. Because I haven't gotten around to rewriting it yet, this means that the Steam dongle has to be plugged in, and that the conversion process takes as long as the song does to play.
EDIT: some guy on Reddit was bothering me about it, so I created GitHub repositories for the player and the converter.
So, without further ado, playing music on a Steam controller, but on a CE:
This, of course, uses jacobly's USB library to send commands to the controller. I convert MIDI files to a compacted version of the format that the controller expects using a modified version of Pila's program, which I can then convhex and send to the calc. From there, I can read the data on-calc and send it as a USB request to the device.
I'll open-source this once I get the converter working properly - right now it's exactly the same as the existing converter except that it writes the data (as well as the MIDI timestamp) to file as well as the device. Because I haven't gotten around to rewriting it yet, this means that the Steam dongle has to be plugged in, and that the conversion process takes as long as the song does to play.
EDIT: some guy on Reddit was bothering me about it, so I created GitHub repositories for the player and the converter.