Example #1
0
        public void Run(StreamDeckOptions options)
        {
            pluginUUID = options.PluginUUID;
            deviceInfo = options.DeviceInfo;
            connection = new StreamDeckConnection(options.Port, options.PluginUUID, options.RegisterEvent);

            // Register for events
            connection.OnConnected     += Connection_OnConnected;
            connection.OnDisconnected  += Connection_OnDisconnected;
            connection.OnKeyDown       += Connection_OnKeyDown;
            connection.OnKeyUp         += Connection_OnKeyUp;
            connection.OnWillAppear    += Connection_OnWillAppear;
            connection.OnWillDisappear += Connection_OnWillDisappear;

            // Settings changed
            connection.OnDidReceiveSettings       += Connection_OnDidReceiveSettings;
            connection.OnDidReceiveGlobalSettings += Connection_OnDidReceiveGlobalSettings;

            // Start the connection
            connection.Run();
            Logger.Instance.LogMessage(TracingLevel.INFO, "Connecting to Stream Deck");

            // Wait for up to 10 seconds to connect
            if (connectEvent.WaitOne(TimeSpan.FromSeconds(10)))
            {
                Logger.Instance.LogMessage(TracingLevel.INFO, "Connected to Stream Deck");

                // We connected, loop every second until we disconnect
                while (!disconnectEvent.WaitOne(TimeSpan.FromMilliseconds(1000)))
                {
                    RunTick();
                }
            }
            Logger.Instance.LogMessage(TracingLevel.INFO, "Plugin Disconnected - Exiting");
        }
Example #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="coordinates"></param>
 /// <param name="settings"></param>
 /// <param name="state"></param>
 /// <param name="isInMultiAction"></param>
 /// <param name="deviceInfo"></param>
 public InitialPayload(KeyCoordinates coordinates, JObject settings, uint state, bool isInMultiAction, StreamDeckInfo deviceInfo)
 {
     Coordinates     = coordinates;
     Settings        = settings;
     State           = state;
     IsInMultiAction = isInMultiAction;
     DeviceInfo      = deviceInfo;
 }
Example #3
0
 /// <summary>
 /// Public constructor, a StreamDeckConnection object is required along with the current action and context IDs
 /// These will be used to correctly communicate with the StreamDeck App
 /// </summary>
 /// <param name="connection"></param>
 /// <param name="pluginUUID"></param>
 /// <param name="actionId"></param>
 /// <param name="contextId"></param>
 /// /// <param name="deviceId"></param>
 public SDConnection(streamdeck_client_csharp.StreamDeckConnection connection, string pluginUUID, StreamDeckInfo deviceInfo, string actionId, string contextId, string deviceId)
 {
     StreamDeckConnection = connection;
     this.pluginUUID      = pluginUUID;
     this.deviceInfo      = deviceInfo;
     this.actionId        = actionId;
     this.ContextId       = contextId;
     this.DeviceId        = deviceId;
 }
        /// <summary>
        /// Public constructor, a StreamDeckConnection object is required along with the current action and context IDs
        /// These will be used to correctly communicate with the StreamDeck App
        /// </summary>
        /// <param name="connection"></param>
        /// <param name="pluginUUID"></param>
        /// <param name="deviceInfo"></param>
        /// <param name="actionId"></param>
        /// <param name="contextId"></param>
        /// /// <param name="deviceId"></param>
        public SDConnection(streamdeck_client_csharp.StreamDeckConnection connection, string pluginUUID, StreamDeckInfo deviceInfo, string actionId, string contextId, string deviceId)
        {
            StreamDeckConnection = connection;
            this.pluginUUID      = pluginUUID;
            this.deviceInfo      = deviceInfo;
            this.actionId        = actionId;
            this.ContextId       = contextId;
            this.DeviceId        = deviceId;

            StreamDeckConnection.OnSendToPlugin                  += Connection_OnSendToPlugin;
            StreamDeckConnection.OnTitleParametersDidChange      += Connection_OnTitleParametersDidChange;
            StreamDeckConnection.OnApplicationDidTerminate       += Connection_OnApplicationDidTerminate;
            StreamDeckConnection.OnApplicationDidLaunch          += Connection_OnApplicationDidLaunch;
            StreamDeckConnection.OnDeviceDidDisconnect           += Connection_OnDeviceDidDisconnect;
            StreamDeckConnection.OnDeviceDidConnect              += Connection_OnDeviceDidConnect;
            StreamDeckConnection.OnPropertyInspectorDidAppear    += Connection_OnPropertyInspectorDidAppear;
            StreamDeckConnection.OnPropertyInspectorDidDisappear += Connection_OnPropertyInspectorDidDisappear;
        }