void volumeControl_muteStateChangedSink(RaumfeldNET.WPFControls.VolumeSliderControl _volumeSliderControl, bool _newValue) { Object objContext = this.getContextObjectFromDataContext(_volumeSliderControl.DataContext); if (objContext == null) { return; } this.setMuteForContext(objContext, _newValue); }
void volumeControl_valueChangedTimeStepSink(RaumfeldNET.WPFControls.VolumeSliderControl _volumeSliderControl, uint _newValue) { Object objContext = this.getContextObjectFromDataContext(_volumeSliderControl.DataContext); if (objContext == null) { return; } this.setVolumeForContext(objContext, _newValue); }
// creates the volume controls in a Stack panel protected void createAndInitVolumeControls(String _zoneUDN) { Room roomInformation; Zone zone = rfController.zoneManager.getZone(_zoneUDN); RaumfeldNET.WPFControls.VolumeSliderControl volumeControl = new RaumfeldNET.WPFControls.VolumeSliderControl(); if (_zoneUDN != currentSelectedZoneUDN) return; if (zone.getRenderer() != null) { ZoneMainVolumeControl.IsMute = zone.getRenderer().isMuted; ZoneMainVolumeControl.Value = zone.getRenderer().currentVolume; MainVolumeRotaryControl.IsMute = zone.getRenderer().isMuted; MainVolumeRotaryControl.Value = zone.getRenderer().currentVolume; } ZoneMainVolumeControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN }; ZoneMainVolumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; ZoneMainVolumeControl.muteStateChanged += volumeControl_muteStateChangedSink; MainVolumeRotaryControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN }; MainVolumeRotaryControl.valueChangedTimeStep += volumeRotaryControl_valueChangedTimeStepSink; MainVolumeRotaryControl.muteStateChanged += volumeRotaryControl_muteStateChangedSink; MainVolumeRotaryControl.SliderText = "Master"; ZoneVolumePopupRendererStackPanel.Children.Clear(); /* volumeControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN}; //volumeControl.Width = SelectedZoneVolumeSlider.ActualWidth; //volumeControl.Width = 300; if (volumeControl.Width < volumeControl.MinWidth) volumeControl.Width = volumeControl.MinWidth; volumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; volumeControl.muteStateChanged += volumeControl_muteStateChangedSink; volumeControl.SliderText = "Master"; ZoneVolumePopupRendererStackPanel.Children.Add(volumeControl);*/ // create for rooms (if more than one room exists) List<String> roomUDNs = rfController.zoneManager.getLinkedRooms(_zoneUDN); if (roomUDNs.Count() > 1) { for (int i = 0; i < roomUDNs.Count(); i++) { // create for room renderer roomInformation = rfController.zoneManager.getRoom(roomUDNs[i]); volumeControl = new RaumfeldNET.WPFControls.VolumeSliderControl(); volumeControl.DataContext = new Object[2] { typeof(Room), roomInformation.udn}; volumeControl.Color = (Color)ColorConverter.ConvertFromString(roomInformation.color); //volumeControl.Width = SelectedZoneVolumeSlider.ActualWidth; //volumeControl.Width = 300; if (volumeControl.Width < volumeControl.MinWidth) volumeControl.Width = volumeControl.MinWidth; volumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; volumeControl.muteStateChanged += volumeControl_muteStateChangedSink; volumeControl.SliderText = roomInformation.name; ZoneVolumePopupRendererStackPanel.Children.Add(volumeControl); } } this.updateVolumeControlValues(_zoneUDN); }
// creates the volume controls in a Stack panel protected void createAndInitVolumeControls(String _zoneUDN) { Room roomInformation; Zone zone = rfController.zoneManager.getZone(_zoneUDN); RaumfeldNET.WPFControls.VolumeSliderControl volumeControl = new RaumfeldNET.WPFControls.VolumeSliderControl(); if (_zoneUDN != currentSelectedZoneUDN) { return; } if (zone.getRenderer() != null) { ZoneMainVolumeControl.IsMute = zone.getRenderer().isMuted; ZoneMainVolumeControl.Value = zone.getRenderer().currentVolume; MainVolumeRotaryControl.IsMute = zone.getRenderer().isMuted; MainVolumeRotaryControl.Value = zone.getRenderer().currentVolume; } ZoneMainVolumeControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN }; ZoneMainVolumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; ZoneMainVolumeControl.muteStateChanged += volumeControl_muteStateChangedSink; MainVolumeRotaryControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN }; MainVolumeRotaryControl.valueChangedTimeStep += volumeRotaryControl_valueChangedTimeStepSink; MainVolumeRotaryControl.muteStateChanged += volumeRotaryControl_muteStateChangedSink; MainVolumeRotaryControl.SliderText = "Master"; ZoneVolumePopupRendererStackPanel.Children.Clear(); /* * volumeControl.DataContext = new Object[2] { typeof(Zone), _zoneUDN}; * //volumeControl.Width = SelectedZoneVolumeSlider.ActualWidth; * //volumeControl.Width = 300; * if (volumeControl.Width < volumeControl.MinWidth) * volumeControl.Width = volumeControl.MinWidth; * volumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; * volumeControl.muteStateChanged += volumeControl_muteStateChangedSink; * volumeControl.SliderText = "Master"; * * ZoneVolumePopupRendererStackPanel.Children.Add(volumeControl);*/ // create for rooms (if more than one room exists) List <String> roomUDNs = rfController.zoneManager.getLinkedRooms(_zoneUDN); if (roomUDNs.Count() > 1) { for (int i = 0; i < roomUDNs.Count(); i++) { // create for room renderer roomInformation = rfController.zoneManager.getRoom(roomUDNs[i]); volumeControl = new RaumfeldNET.WPFControls.VolumeSliderControl(); volumeControl.DataContext = new Object[2] { typeof(Room), roomInformation.udn }; volumeControl.Color = (Color)ColorConverter.ConvertFromString(roomInformation.color); //volumeControl.Width = SelectedZoneVolumeSlider.ActualWidth; //volumeControl.Width = 300; if (volumeControl.Width < volumeControl.MinWidth) { volumeControl.Width = volumeControl.MinWidth; } volumeControl.valueChangedTimeStep += volumeControl_valueChangedTimeStepSink; volumeControl.muteStateChanged += volumeControl_muteStateChangedSink; volumeControl.SliderText = roomInformation.name; ZoneVolumePopupRendererStackPanel.Children.Add(volumeControl); } } this.updateVolumeControlValues(_zoneUDN); }