New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support runtime connection and disconnection of Stream Decks (hotplugging) #14

Open
Lange opened this Issue May 19, 2017 · 3 comments

Comments

Projects
None yet
3 participants
@Lange
Copy link
Owner

Lange commented May 19, 2017

Right now, this library throws an error on startup if you don't have a Stream Deck connected. Likewise, if you disconnect and reconnect your Stream Deck, you must restart the library.

This is pretty bad. We should add support for automatically detecting when a Stream Deck is connected.

@Lange Lange changed the title Support runtime connection and disconnection of Stream Decks Support runtime connection and disconnection of Stream Decks (hotplugging) May 19, 2017

@Lange Lange added this to the v1.2.0 milestone May 19, 2017

farfabet added a commit to farfabet/node-elgato-stream-deck that referenced this issue May 19, 2017

FIX proposal for Support runtime connection and disconnection of Stre…
…am Decks (hotplugging) Lange#14

Could not test it as I don't own as Stream Deck
@farfabet

This comment has been minimized.

Copy link

farfabet commented May 19, 2017

I made a fix proposal but cannot test it as I don't own a stream deck, let me know if you want me to request a pull :
farfabet@16c2d71

@Lange

This comment has been minimized.

Copy link
Owner Author

Lange commented May 19, 2017

Thanks @farfabet!

We want to try to avoid polling-based systems because of the performance impacts and the potential for issues to arise. For example, I've had cases where frequently enumerating the list of USB devices on Windows can cause USB audio devices to crackle.

node-usb-detection seems like it might be just what we need. It could handle detecting the insertion and removal of devices, while we let node-hid do the actual communicating.

(Sidenote: we probably don't actually need node-usb-detection to detect removals, because node-hid almost certainly emits an error event when this happens already. We really just need the insertion events from node-usb-detection.)

@farfabet

This comment has been minimized.

Copy link

farfabet commented May 19, 2017

I totally understand, I searched for such solution in node-hid and went with polling by default. Anyway I'm really interested in what you did with nodecg and will keep an eye on this project to. :)

@Lange Lange referenced a pull request that will close this issue May 20, 2017

Open

feat: add support for hotplugging and multiple Stream Decks #27

@ProbablePrime ProbablePrime modified the milestones: v1.2.0, v2.1.0 Jun 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment