public void AddButton(StreamDeckButton streamDeckButton, bool silently = false) { streamDeckButton.RegisterButtonToStaticList(); streamDeckButton.IsVisible = _isVisible; var found = false; foreach (var button in _streamDeckButtons) { if (button.StreamDeckButtonName == streamDeckButton.StreamDeckButtonName) { button.Consume(streamDeckButton); found = true; break; } } if (!found) { _streamDeckButtons.Add(streamDeckButton); } if (!silently) { NotifyChanges(); } }
public bool CheckIfWouldOverwrite(StreamDeckButton newStreamDeckButton) { var result = _buttonFace != null && newStreamDeckButton.Face != null || _buttonActionForPress != null && newStreamDeckButton.ActionForPress != null || _buttonActionForRelease != null && newStreamDeckButton.ActionForRelease != null; return(result); }
public bool Consume(bool overwrite, StreamDeckButton streamDeckButton) { var result = false; if (_buttonFace != null && streamDeckButton.Face != null) { if (overwrite) { Face?.Dispose(); Face = streamDeckButton.Face; Face.StreamDeckButtonName = _streamDeckButtonName; result = true; } } else if (_buttonFace == null && streamDeckButton.Face != null) { Face = streamDeckButton.Face; Face.StreamDeckButtonName = _streamDeckButtonName; result = true; } if (_buttonActionForPress != null && streamDeckButton.ActionForPress != null) { if (overwrite) { _buttonActionForPress = streamDeckButton.ActionForPress; result = true; } } else if (_buttonActionForPress == null && streamDeckButton.ActionForPress != null) { _buttonActionForPress = streamDeckButton.ActionForPress; result = true; } if (_buttonActionForRelease != null && streamDeckButton.ActionForRelease != null) { if (overwrite) { _buttonActionForRelease = streamDeckButton.ActionForRelease; result = true; } } else if (_buttonActionForRelease == null && streamDeckButton.ActionForRelease != null) { _buttonActionForRelease = streamDeckButton.ActionForRelease; result = true; } return(result); }
public string GetKeyPressForLoggingPurposes(StreamDeckButton streamDeckButton) { var result = ""; /*foreach (var keyBinding in _keyBindings) * { * if (keyBinding.OSKeyPress != null && keyBinding.EnumStreamDeckButtonName == enumStreamDeckButton.EnumStreamDeckButtonName && keyBinding.WhenTurnedOn == enumStreamDeckButton.IsPressed) * { * result = keyBinding.OSKeyPress.GetNonFunctioningVirtualKeyCodesAsString(); * } * }*/ return(result); }
private void Dispose(bool disposing) { ReleaseUnmanagedResources(); if (disposing) { StreamDeckButton.DisposeAll(); _streamDeckBoard.KeyStateChanged -= StreamDeckKeyListener; _streamDeckBoard?.Dispose(); StreamDeckPanels.Remove(this); EventHandlers.DetachStreamDeckListener(this); EventHandlers.DetachStreamDeckConfigListener(this); Closed = true; } }
public void Consume(StreamDeckButton newStreamDeckButton) { if (!this.Equals(newStreamDeckButton)) { ClearConfiguration(); } ActionForPress = newStreamDeckButton.ActionForPress; ActionForRelease = newStreamDeckButton.ActionForRelease; Face = newStreamDeckButton.Face; if (Face != null) { Face.StreamDeckButtonName = _streamDeckButtonName; } }
public void ImportJSONSettings(string jsonText) { if (string.IsNullOrEmpty(jsonText)) { return; } _jsonSettings.MissingMemberHandling = MissingMemberHandling.Error; Debug.WriteLine("Count #1 is " + StreamDeckButton.WarningGetStaticButtons().Count); _layerList = JsonConvert.DeserializeObject <List <StreamDeckLayer> >(jsonText, _jsonSettings); RegisterButtons(); Debug.WriteLine("Count #2 is " + StreamDeckButton.WarningGetStaticButtons().Count); _layerList.SetPanel(_streamDeckPanel); _jsonImported = true; SetStreamDeckPanelInstance(_streamDeckPanel); CheckHomeLayerExists(); }
public void RemoveButton(StreamDeckButton streamDeckButton) { streamDeckButton.Dispose(); _streamDeckButtons.Remove(streamDeckButton); NotifyChanges(); }
public void AddStreamDeckButtonToActiveLayer(StreamDeckButton streamDeckButton) { _streamDeckLayerHandler.AddStreamDeckButtonToActiveLayer(streamDeckButton); SetIsDirty(); }
public void AddButton(StreamDeckButton streamDeckButton) { _streamDeckButtons.Add(streamDeckButton); }
public ButtonExport(string layerName, StreamDeckButton button) { LayerName = layerName; Button = button; }