private RemoteControlData ChangeObs(RemoteControlData wsData) { if (obsService.isConnected) { RemoteObsScene ObsScene = JsonConvert.DeserializeObject <RemoteObsScene>(wsData.data.ToString()); obsService.setCurrentScene(ObsScene.name); } return(wsData); }
private void AssignNewData(RemoteControlData data) { if (this.data.Equals(data) == false) { OnUpdated?.Invoke(data); } this.data = data; }
private RemoteControlData StoreDeck(RemoteControlData wsData) { storeService.store(wsData.data); RemoteControlData WSDataResponse = new RemoteControlData(); WSDataResponse.type = RemoteControlDataType.StoreDeck; WSDataResponse.status = "OK"; return(WSDataResponse); }
private void IOUpdateHandler(object sender, AudioServiceUpdate message) { RemoteControlData WSData = new RemoteControlData(); WSData.data = message.volumes; WSData.type = RemoteControlDataType.VolumeUpdate; // TODO Send volumes update to client webSocketEngine.SendData(WSData); }
private string MessageHandler(object sender, RemoteControlOnMessageArgs message) { RemoteControlData data = JsonConvert.DeserializeObject <RemoteControlData>(message.message); Func <RemoteControlData, RemoteControlData> route; if (routes.TryGetValue(data.type, out route)) { data = route(data); } else { data = getUnknownCommand(data); } return(data != null?JsonConvert.SerializeObject(data) : null); }
private RemoteControlData ChangeVolume(RemoteControlData wsData) { // TODO Verify input data to avoid exception when unknown data is passed ChangeVolumeType ChangeVolume = JsonConvert.DeserializeObject <ChangeVolumeType>(wsData.data.ToString()); if (ChangeVolume.output) { ApplicationController app = audioService.GetApplicationOutput(ChangeVolume.name, ChangeVolume.device); app.updateVolume((float)ChangeVolume.volume / 100); app.setMute(ChangeVolume.mute); } else { MMDevice mic = audioService.GetDeviceInput(ChangeVolume.device); mic.AudioEndpointVolume.MasterVolumeLevelScalar = (float)ChangeVolume.volume / 100; mic.AudioEndpointVolume.Mute = ChangeVolume.mute; } return(wsData); }
private RemoteControlData GetVolumes(RemoteControlData wsData) { RemoteControlVolumes volumes = new RemoteControlVolumes(); VolumeOrderData[] orderVolumes = storeService.read <VolumeOrderData[]>(); foreach (MMDevice dev in audioService.GetListOfOutputDevices()) { foreach (ApplicationController appOut in audioService.GetApplicationsMixer(dev)) { ApplicationController appDev = audioService.GetDeviceController(dev); RemoteControlVolume audio = new RemoteControlVolume(); audio.name = appOut.processName; audio.volume = (int)(appOut.getVolume() * 100); audio.mute = appOut.getMute(); audio.device = appDev.device.FriendlyName; audio.output = true; audio.icon = ProcessUtils.ProcessIcon(appOut.session.GetProcessID); audio.id = audio.name + "|" + audio.device; audio.order = GetVolumeOrder(orderVolumes, audio.device + audio.name); volumes.Add(audio); } } foreach (MMDevice dev in audioService.GetListOfInputDevices()) { RemoteControlVolume audio = new RemoteControlVolume(); audio.name = dev.FriendlyName; audio.mute = dev.AudioEndpointVolume.Mute; audio.volume = (int)(dev.AudioEndpointVolume.MasterVolumeLevelScalar * 100); audio.device = dev.FriendlyName; audio.output = false; audio.order = GetVolumeOrder(orderVolumes, audio.device + audio.name); volumes.Add(audio); } wsData.data = volumes; return(wsData); }
private RemoteControlData GetObs(RemoteControlData wsData) { RemoteObsScenes remoteScenes = new RemoteObsScenes(); if (obsService.isConnected) { GetSceneListInfo scenes = obsService.getScenes(); foreach (OBSScene scene in scenes.Scenes) { RemoteObsScene remoteScene = new RemoteObsScene(); remoteScene.name = scene.Name; remoteScenes.Add(remoteScene); } } else { wsData.status = "OBS_WEBSOCKET_ERROR"; } wsData.data = remoteScenes; return(wsData); }
private void OnModelUpdated(RemoteControlData remoteControlData) { objectsController.UpdateViews(remoteControlData.data); }
public void Update(RemoteControlData data) { AssignNewData(data); }
public RemoteControlModel(RemoteControlData data) { Update(data); }
private RemoteControlData getUnknownCommand(RemoteControlData wsData) { wsData.status = "COMMAND_NOT_FOUND"; return(wsData); }