@@ -7,7 +7,7 @@ import { StreamDeckTcp } from '@elgato-stream-deck/tcp'
77import { Logger } from '../../logger'
88import { FeedbackStore } from '../../devices/feedbackStore'
99import { assertNever , DEFAULT_ANALOG_RATE_LIMIT , Symbols } from '../../lib'
10- import { BitmapFeedback , Feedback , SomeFeedback } from '../../feedback/feedback'
10+ import { BitmapFeedback , Feedback , SomeFeedback , Tally } from '../../feedback/feedback'
1111import { getBitmap } from '../../feedback/bitmap'
1212import { StreamDeckDeviceOptions , StreamdeckStylePreset } from '../../generated'
1313
@@ -272,9 +272,36 @@ export class StreamDeckDeviceHandler {
272272
273273 // Find the first match
274274 for ( const name of styleClassNames ) {
275- const stylePreset = Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
275+ let stylePreset = Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
276276 ( preset ) => preset . id === name
277277 )
278+ if ( feedback . tally ) {
279+ if ( feedback . tally & Tally . ACTIVE ) {
280+ stylePreset =
281+ stylePreset ||
282+ Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
283+ ( preset ) => preset . id === `${ name } :active`
284+ )
285+ } else if ( feedback . tally & Tally . NEXT ) {
286+ stylePreset =
287+ stylePreset ||
288+ Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
289+ ( preset ) => preset . id === `${ name } :next`
290+ )
291+ } else if ( feedback . tally & Tally . OTHER ) {
292+ stylePreset =
293+ stylePreset ||
294+ Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
295+ ( preset ) => preset . id === `${ name } :other`
296+ )
297+ } else if ( feedback . tally & Tally . PRESENT ) {
298+ stylePreset =
299+ stylePreset ||
300+ Object . values < StreamdeckStylePreset > ( this . config . stylePresets ) . find (
301+ ( preset ) => preset . id === `${ name } :present`
302+ )
303+ }
304+ }
278305
279306 if ( stylePreset ) {
280307 return {
0 commit comments