Пример #1
0
        public StreamDeckClient(IStreamDeckLogger logger, IStreamDeckEventHandlerFactory eventHandlerFactory, int port, string pluginUUID, string registerEvent, StreamDeckInfo info)
        {
            this.logger = logger;
            this.eventHandlerFactory = eventHandlerFactory;
            this.port          = port;
            this.pluginUUID    = pluginUUID;
            this.registerEvent = registerEvent;
            this.info          = info;


            RegisterActionEvent <StreamDeckKeyDownEventMessage>(ESDSDKEventType.keyDown, (action, message) => action.KeyDown(message));
            RegisterActionEvent <StreamDeckKeyUpEventMessage>(ESDSDKEventType.keyUp, (action, message) => action.KeyUp(message));
            RegisterActionEvent <StreamDeckWillAppearEventEventMessage>(ESDSDKEventType.willAppear, (action, message) => action.WillAppear(message));
            RegisterActionEvent <StreamDeckWillDisappearEventEventMessage>(ESDSDKEventType.willDisappear, async(action, message) =>
            {
                await action.WillDisappear(message);
                RemoveActionInstance(message.Action, message.Context);
            });
            RegisterActionEvent <StreamDeckTitleParametersDidChangeEventMessage>(ESDSDKEventType.titleParametersDidChange, (action, message) => action.TitleParametersDidChange(message));
            RegisterActionEvent <StreamDeckDidReceiveSettingsEventMessage>(ESDSDKEventType.didReceiveSettings, (action, message) => action.DidReceiveSettings(message));
            RegisterActionEvent <StreamDeckPropertyInspectorDidAppearEventMessage>(ESDSDKEventType.propertyInspectorDidAppear, (action, message) => action.PropertyInspectorDidAppear(message));
            RegisterActionEvent <StreamDeckPropertyInspectorDidDisappearEventMessage>(ESDSDKEventType.propertyInspectorDidDisappear, (action, message) => action.PropertyInspectorDidDisappear(message));
            RegisterActionEvent <StreamDeckSendToPluginEventMessage>(ESDSDKEventType.sendToPlugin, (action, message) => action.SendToPlugin(message));

            RegisterGlobalEvent <StreamDeckDeviceDidConnectEventMessage>(ESDSDKEventType.deviceDidConnect, (globalEvent, message) => globalEvent.DeviceDidConnect(message));
            RegisterGlobalEvent <StreamDeckDeviceDidDisconnectEventMessage>(ESDSDKEventType.deviceDidDisconnect, (globalEvent, message) => globalEvent.DeviceDidDisconnect(message));
            RegisterGlobalEvent <StreamDeckApplicationDidLaunchEventMessage>(ESDSDKEventType.applicationDidLaunch, (globalEvent, message) => globalEvent.ApplicationDidLaunch(message));
            RegisterGlobalEvent <StreamDeckApplicationDidTerminateEventMessage>(ESDSDKEventType.applicationDidTerminate, (globalEvent, message) => globalEvent.ApplicationDidTerminate(message));
            RegisterGlobalEvent <StreamDeckSystemDidWakeUpEventMessage>(ESDSDKEventType.systemDidWakeUp, (globalEvent, message) => globalEvent.SystemDidWakeUp(message));
            RegisterGlobalEvent <StreamDeckDidReceiveGlobalSettingsEventMessage>(ESDSDKEventType.didReceiveGlobalSettings, (globalEvent, message) => globalEvent.DidReceiveGlobalSettings(message));
        }
Пример #2
0
 /// <summary>
 /// Sets the logger implementation to use.
 /// </summary>
 /// <param name="newLogger">The logger implementation.</param>
 /// <returns>The StreamDeckApplication instance for method chaining purposes.</returns>
 public StreamDeckApplication WithLogger(IStreamDeckLogger newLogger)
 {
     logger = newLogger;
     return(this);
 }