public void SetConnector(EOBSConnectorType type) { if (type == EOBSConnectorType.SLOBS) { Obs = new CSLOBSConnector(); } else if (type == EOBSConnectorType.OBS) { Obs = new COBSConnector(); } Obs.ConnectionStatus += Obs_ConnectionStatus; Obs.AudioSourceChanged += Obs_AudioSourceChanged; Obs.SceneChanged += Obs_SceneChanged; Obs.SceneItemChanged += Obs_SceneItemChanged; Obs.SceneListChanged += Obs_SceneListChanged; Obs.SourceChanged += Obs_SourceChanged; Obs.StreamingStatusChanged += Obs_StreamingStatusChanged; Obs.TransitionChanged += Obs_TransitionChanged; Obs.ModeChanged += Obs_ModeChanged; Midi = new CMidiObserver(Obs); Midi.OnMidiOutput += Midi_OnMidiOutput; ConnectorType = type; }
public CDeviceObsGw() { MidiObserver = new CMidiObserver(this); MidiObserver.OnMidiOutput += MidiObserver_OnMidiOutput; websocket = new OBSWebsocket(); websocket.Connected += onConnect; websocket.Disconnected += onDisconnect; websocket.SceneChanged += onSceneChange; websocket.PreviewSceneChanged += onPSceneChange; websocket.SceneCollectionChanged += onSceneColChange; websocket.ProfileChanged += onProfileChange; websocket.TransitionChanged += onTransitionChange; websocket.TransitionDurationChanged += onTransitionDurationChange; websocket.StreamingStateChanged += onStreamingStateChange; websocket.RecordingStateChanged += onRecordingStateChange; websocket.SceneItemVisibilityChanged += onSceneItemVisibilityChange; websocket.SceneItemAdded += onSceneItemChange; websocket.SceneItemRemoved += onSceneItemChange; websocket.StreamStatus += onStreamData; websocket.SourceOrderChanged += onSourceOrderChange; websocket.StudioModeSwitched += onModeChange; websocket.OnError += onWebsocketError; websocket.AsyncQueueEmpty += onAsyncQueue; connection_start = false; connectionTimer = new System.Timers.Timer(2000); connectionTimer.Elapsed += onConnectionTimerEvent; connectionTimer.AutoReset = true; connectionTimer.Enabled = false; }
private void Midi_OnMidiOutput(CMidiObserver sender, SMidiAction data) { if (Device != null) { Device.Send(data); } }
private void MidiObserver_OnMidiOutput(CMidiObserver sender, SMidiAction data) { if (Device != null) { //Console.WriteLine(data.Cmd.ToString("x2") + ", " + data.Data1.ToString("x2") + ", " + data.Data2.ToString("x2")); Device.Send(data); } }