private void Stop_Click(object sender, RoutedEventArgs e) { var client = IPCClient.GetInstance(); var factory = new IPCMessageFactory(); client.Send(factory.Create("stop")); }
private void UserControl_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var factory = new IPCMessageFactory(); var message = factory.Create("restoreWindow"); var client = IPCClient.GetInstance(); client.Send(message); }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { var client = IPCClient.GetInstance(); client.Disconnected += IPCClient_Disconnected; client.MessageReceived += IPCClient_MessageReceived; client.Init(); // update information var factory = new IPCMessageFactory(); client.Send(factory.Create("update")); }
private void PlaybackManager_PlaybackStateChanged(object sender, EventArgs e) { var app = (App)Application.Current; var playback = PlaybackManager.GetInstance(); // construct message var factory = new IPCMessageFactory(); var message = factory.Create("playbackStateChanged", out XmlNode messageNode); // <hasTrack /> var hasTrackNode = message.CreateElement("hasTrack"); hasTrackNode.InnerText = playback.Track == null ? "false" : "true"; messageNode.AppendChild(hasTrackNode); if (playback.Track != null) { // <title /> var titleNode = message.CreateElement("title"); titleNode.InnerText = playback.Track.Title + " - " + playback.Track.Artist.Title; messageNode.AppendChild(titleNode); // <artwork /> var artworkNode = message.CreateElement("artwork"); artworkNode.InnerText = app.plexClient.GetPhotoTranscodeUrl(playback.Track.Thumb, 50, 50).ToString(); messageNode.AppendChild(artworkNode); // <duration /> var durationNode = message.CreateElement("duration"); durationNode.InnerText = playback.Track.Duration.ToString(); messageNode.AppendChild(durationNode); // <position /> var positionNode = message.CreateElement("position"); positionNode.InnerText = playback.Position.ToString(); messageNode.AppendChild(positionNode); // <playing /> var playingNode = message.CreateElement("playing"); playingNode.InnerText = playback.PlaybackState == NAudio.Wave.PlaybackState.Playing ? "true" : "false"; messageNode.AppendChild(playingNode); } // send to client var server = IPCServer.GetInstance(); server.Send(message); }
private void PlaybackManager_VolumeChanged(object sender, EventArgs e) { var playback = PlaybackManager.GetInstance(); // construct message var factory = new IPCMessageFactory(); var message = factory.Create("volumeChanged", out XmlNode messageNode); // <volume /> var volumeNode = message.CreateElement("volume"); volumeNode.InnerText = ((int)Math.Floor(playback.Volume * 100)).ToString(); messageNode.AppendChild(volumeNode); // send to client var server = IPCServer.GetInstance(); server.Send(message); }
private void Playback_PlaybackTick(object sender, EventArgs e) { var playback = PlaybackManager.GetInstance(); // construct message var factory = new IPCMessageFactory(); var message = factory.Create("positionChanged", out XmlNode messageNode); // <position /> var positionNode = message.CreateElement("position"); positionNode.InnerText = playback.Position.ToString(); messageNode.AppendChild(positionNode); // send to client var server = IPCServer.GetInstance(); server.Send(message); }
private void Position_ValueChanged(object sender, RoutedPropertyChangedEventArgs <double> e) { if (doNotTriggerEvent) { return; } var factory = new IPCMessageFactory(); var message = factory.Create("setPosition", out XmlNode messageNode); var positionNode = message.CreateElement("position"); positionNode.InnerText = ((int)e.NewValue).ToString(); messageNode.AppendChild(positionNode); var client = IPCClient.GetInstance(); client.Send(message); }