Roboron3042 / SteamControllerSinger

This project is a fork of Pila's Steam Controller Singer, including a dirty fix to make the Steam Controller sing again.
BSD 3-Clause "New" or "Revised" License
33 stars 7 forks source link

[Feature request] Add support for multiple Controllers #8

Open Managor opened 1 year ago

Managor commented 1 year ago

Would be nice if the program detected several controllers and used all the available tracks.

Roboron3042 commented 1 year ago

It would be fantastic, but not so many have access to more than one controller. I myself don't, so I can not implement this myself!

Managor commented 1 year ago

I have literally no experience with this sort of stuff, but I'll take a look if I have the time.

Roboron3042 commented 1 year ago

Currently device is accessed using libusb_open_device_with_vid_pid, but that only works for one device. For more, one would need to call libusb_get_device_list and find the controllers (I don't know the details).

Then you would need to refactor various parts of the code so everywhere an action is done on the controller, it is done on each one of the controllers in the previous list (open, claim, close, etc...).

On playSong you need to adjust the for loop, so it will keep going after channel 1 if there is more than one controller, and assign a new controller each 2 channels.

I don't know if sync would be a issue. Hopefully not!