This project provides api acces to any connected Elgato Stream Deck (Called ESD from now on). Windows, Linux and Mac OS X should be supported, but only windows could be tested. This project is not associated in any way with Elgato Systems.
StreamDeckCore provides the following basic features:
- Supporting multiple ESDs
- Recognizing a connected ESD
- Retriving all connected ESDs
- Resetting the connected ESD
- Setting the icons of the keys
- Setting the brightness of the ESD (0 - 99)
- Recieving key pressed, released, clicked events from the ESD
- Recieving KeyEvents if a key is beeing changed, one event for adding a key and one event for removing a key.
- Custom animations for specific keys, at a 30/15 fps or custom fps.
The StreamDeckController class is an easy way to display content and create folder structures without the need of developing the code for folders etc. yourself.
If you have no Stream Deck yourself, but still want to develop for the plattform, you can use the software implementation to do that. Its a simple JFrame of all 15 "buttons" displayed. Its activated on default and can be disabled at the start of your program by using de.rcblum.stream.deck.device.StreamDeckDevices.disableSoftwareStreamDeck();
- Recognize new connected and disconnected StreamDecks
- Display different Soundboards for multiple StreamDecks
- Clean up sources
- Document everything
- Create tutorial & example programs
If you want to use this library in your maven project, first build it and the depending libraries localy:
git clone https://github.com/VVEIRD/purejavahidapi.git
cd purejavahidapi
mvn clean
mvn install
cd ..
git clone https://github.com/VVEIRD/StreamDeckCore.git
cd StreamDeckCore/StreamDeckCore
mvn clean
mvn install
Then just add the following dependency to you pom.xml:
<dependency>
<groupId>io.github.vveird</groupId>
<artifactId>StreamDeckCore</artifactId>
<version>1.2.0</version>
</dependency>
For examples please see the wiki