Releases: Julusian/node-elgato-stream-deck
v7.0.0-0
This breaking change has a couple of important changes
Rework discovering device capabilities
Various properties which describe hardware functionality have been removed, and replaced with a new CONTROLS
property.
This property describes every input/output type on a streamdeck, including the encoders and any lcd segments.
A typical entry in this array for a button looks like:
{
type: 'button',
row: 0,
column: 0,
index: 0,
hidIndex: 0,
feedbackType: 'lcd',
pixelSize: {
width: 72,
height: 72,
},
}
This allows for providing more information about each available control, including some specifics such as row and column instead of simply index.
This also allows for describing buttons of differing abilities, such as those which don't support feedback (such as on the pedal), or those with only rgb (such as the neo).
A consequence of this, is that the relationship between the encoders and lcd strip on the plus has been cut, as this does not translate well to the neo or other models. Instead you can use fillLcdRegion
to fill a subregion of the lcd segment manually.
Rework emitted events
Along with the improved definition of the controls, the events emitted now reuse the same control definitions instead of simply reporting the button index.
This allows us to condense the number of events emitted.
down
andencoderDown
have been combined intodown
up
andencoderUp
have been combined intoup
rotateLeft
androtateRight
have been combined intorotate
Removed deprecated options
When opening the streamdeck, it is no longer possible to specify useOriginalKeyOrder
. It only applied to the original 15key model, the normalised key order is now always used.
The temporary useSyncNodeHid
option in the node
package has been removed, dropping support for older node-hid backends.
Dropped support for nodejs v18 and older.
These versions are no longer supported by nodejs, making it harder for us to support them properly.
v6.0.0
This is a breaking change with a couple of important changes:
Use node-hid in async mode.
The listing and opening methods provided by the @elgato-stream-deck/node
package are now async and return Promises to allow this.
This brings a couple of key benefits:
- There is now no limit on how many streamdecks you can open at a time. Previously this was limited by how many threads were in the uv pool (default was 4)
- read/write/open operations are performed on background threads, minimising the amount of work this library does in the main nodejs thread.
Dropped support for nodejs v16 and older.
These versions are no longer supported by nodejs, making it harder for us to support them properly.