protected void mediaRendererFoundSink(CpAVRenderer _avRenderer) { Renderer.Renderer renderer; this.writeLog(LogType.Info, String.Format("MediaRenderer '{0}' gefunden (UDN: {1})", _avRenderer.FriendlyName, _avRenderer.UniqueDeviceName)); if (_avRenderer.isVirtualRenderer()) { renderer = new RendererVirtual(_avRenderer); if (renderers.ContainsKey(renderer.udn)) renderers.Remove(renderer.udn); renderers.Add(renderer.udn, renderer); this.linkVirtualRendererToZone((RendererVirtual)renderer); } else { renderer = new RendererRoom(_avRenderer); if (renderers.ContainsKey(renderer.udn)) renderers.Remove(renderer.udn); renderers.Add(renderer.udn, renderer); this.linkRoomRendererToRoom((RendererRoom)renderer); } renderer.muteStateChanged += renderer_muteStateChangedSink; renderer.volumeChanged += renderer_volumeChangedSink; if (mediaRendererFound != null) mediaRendererFound(); }
public void linkVirtualRendererToZone(RendererVirtual _virtualRenderer, Boolean _unlink = false, Boolean _crossLink = true) { Zone zone; ZoneManager zoneManager = Global.getZoneManager(); zone = zoneManager.getZoneUUID(_virtualRenderer.getRendererObject().UniqueDeviceName); if (zone != null) { if (_unlink) zone.rendererUDN = String.Empty; else zone.rendererUDN = _virtualRenderer.udn; zone.rendererLinked(); //zoneManager.updateZonesValue(zone); if (_crossLink) zoneManager.linkZoneToVirtualRenderer(zone, _unlink, false); if (_unlink == true) this.writeLog(LogType.Info, String.Format("Renderer '{1}' wurde von Zone '{0}' entfernt", zone.udn, _virtualRenderer.udn)); else this.writeLog(LogType.Info, String.Format("Renderer '{1}' wurde zu Zone '{0}' zugeordnet", zone.udn, _virtualRenderer.udn)); } else { this.writeLog(LogType.Warning, String.Format("Keine Zone für virtuellen Renderer '{0}' für Zuordnung gefunden", _virtualRenderer.getRendererObject().UniqueDeviceName)); } }