private void ZoneTracklistControlPlayPause_ClickSink(object sender, RoutedEventArgs e) { TrackStateControl control = (TrackStateControl)sender; RendererVirtual rendererVirtual = rfController.rendererManager.getRendererByZoneUDN(currentSelectedZoneUDN); if (rendererVirtual == null) { return; } rendererVirtual.playPauseToggle(); }
protected void setTrackListControlFromZone(TrackStateControl _control, String _zoneUdn) { Zone zone = rfController.zoneManager.getZone(_zoneUdn); RaumfeldNET.UPNP.AvTransportPlayMode playMode; RendererPlayState playState; if (zone.getRenderer() == null) { return; } playMode = zone.getRenderer().playMode; playState = zone.getRenderer().playState; _control.RandomizeTrack = playMode == RaumfeldNET.UPNP.AvTransportPlayMode.Random || playMode == RaumfeldNET.UPNP.AvTransportPlayMode.Shuffle; if (playMode == RaumfeldNET.UPNP.AvTransportPlayMode.Random || playMode == RaumfeldNET.UPNP.AvTransportPlayMode.RepeatAll) { _control.RepeatTacks = TrackStateControlRepeat.RepeatAll; } if (playMode == RaumfeldNET.UPNP.AvTransportPlayMode.RepeatOne) { _control.RepeatTacks = TrackStateControlRepeat.RepeatOne; } if (playMode == RaumfeldNET.UPNP.AvTransportPlayMode.Normal || playMode == RaumfeldNET.UPNP.AvTransportPlayMode.Shuffle) { _control.RepeatTacks = TrackStateControlRepeat.Normal; } if (playState == RendererPlayState.Playing) { _control.TrackPaused = false; } else { _control.TrackPaused = true; } }