コード例 #1
0
        public ViewStream(SnapDotNet.ControlClient.JsonRpcData.Stream stream)
        {
            InitializeComponent();
            m_Stream = stream;
            _UpdateData();
            m_Stream.SERVER_OnStreamUpdated += () =>
            {
                Application.Current.Dispatcher.Invoke(new Action(_UpdateData));
            };

            m_Stream.SERVER_OnInvalidate += () =>
            {
                // server is sending us a full data refresh - close this window (this client might be getting deleted for all we know)
                Application.Current.Dispatcher.Invoke(() =>
                {
                    this.Close();
                });
            };
        }
コード例 #2
0
 private void _OnGroupUpdated()
 {
     vcGroup.Active           = true;
     lbGroupName.Content      = m_Group.Name;
     vcGroup.Muted            = m_Group.muted;
     vcGroup.OnVolumeChanged -= VcGroup_OnVolumeChanged;
     vcGroup.Percent          = m_Group.VolumePercent;
     vcGroup.OnVolumeChanged += VcGroup_OnVolumeChanged;
     if (m_Stream != null)
     {
         m_Stream.SERVER_OnStreamUpdated -= _OnStreamUpdated; // unhook event from old m_Stream object
     }
     m_Stream = m_SnapcastClient.GetStream(m_Group.stream_id);
     if (m_Stream != null)
     {
         m_Stream.SERVER_OnStreamUpdated += _OnStreamUpdated; // hook up event to new m_Stream object
         _OnStreamUpdated();
     }
 }