Fixing issue with feedback if there's more than one plugin on the stream deck. and also fixing the issue with view appear a different way
This commit is contained in:
parent
2811d3f042
commit
f85551ae02
23
src/main.go
23
src/main.go
@ -90,13 +90,12 @@ func setup(client *streamdeck.Client) {
|
||||
contexts[event.Context] = struct{}{}
|
||||
|
||||
newSettings, err := volume.GetVolumeSettings()
|
||||
_currentSettings = &volume.VolumeSettings{}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return setFeedbackIfNeeded(ctx, client, newSettings)
|
||||
return setFeedback(ctx, client, newSettings)
|
||||
})
|
||||
|
||||
action.RegisterHandler(streamdeck.WillDisappear, func(ctx context.Context, client *streamdeck.Client, event streamdeck.Event) error {
|
||||
@ -120,17 +119,14 @@ func setup(client *streamdeck.Client) {
|
||||
ctx := context.Background()
|
||||
ctx = sdcontext.WithContext(ctx, ctxStr)
|
||||
|
||||
setFeedbackIfNeeded(ctx, client, newSettings)
|
||||
setFeedback(ctx, client, newSettings)
|
||||
}
|
||||
_currentSettings = newSettings
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
func setFeedbackIfNeeded(ctx context.Context, client *streamdeck.Client, newSettings *volume.VolumeSettings) error {
|
||||
|
||||
if _currentSettings.OutputVolume == newSettings.OutputVolume && _currentSettings.OutputMuted == newSettings.OutputMuted {
|
||||
return nil
|
||||
}
|
||||
func setFeedback(ctx context.Context, client *streamdeck.Client, newSettings *volume.VolumeSettings) error {
|
||||
|
||||
payload := FeedbackPayload{}
|
||||
|
||||
@ -152,10 +148,19 @@ func setFeedbackIfNeeded(ctx context.Context, client *streamdeck.Client, newSett
|
||||
|
||||
payload.Icon = ValueWithOpacity[any]{nil, opacity}
|
||||
|
||||
_currentSettings = newSettings
|
||||
return client.SetFeedback(ctx, payload)
|
||||
}
|
||||
|
||||
func setFeedbackIfNeeded(ctx context.Context, client *streamdeck.Client, newSettings *volume.VolumeSettings) error {
|
||||
|
||||
if _currentSettings.OutputVolume == newSettings.OutputVolume && _currentSettings.OutputMuted == newSettings.OutputMuted {
|
||||
return nil
|
||||
}
|
||||
|
||||
_currentSettings = newSettings
|
||||
return setFeedback(ctx, client, newSettings)
|
||||
}
|
||||
|
||||
type FeedbackPayload struct {
|
||||
Value ValueWithOpacity[string] `json:"value"`
|
||||
Indicator ValueWithOpacity[int] `json:"indicator"`
|
||||
|
Loading…
Reference in New Issue
Block a user