コード例 #1
0
        void OnExtensionChanged(object o, ExtensionNodeEventArgs args)
        {
            TypeExtensionNode   node     = (TypeExtensionNode)args.ExtensionNode;
            INowPlayingProvider provider = (INowPlayingProvider)node.CreateInstance();

            provider.TrackChanged += HandleTrackChanged;
            m_Providers.Add(provider);

            HandleTrackChanged(provider, EventArgs.Empty);
        }
コード例 #2
0
        void HandleTrackChanged(object sender, EventArgs e)
        {
            INowPlayingProvider provider = (INowPlayingProvider)sender;

            m_IsPlaying = provider.IsPlaying;
            if (provider.IsPlaying)
            {
                if (m_Artist != provider.Artist || m_Title != provider.Title)
                {
                    m_Artist = provider.Artist;
                    m_Length = provider.Length;
                    m_Rating = provider.Rating;
                    m_Source = provider.Source;
                    m_Title  = provider.Title;
                    m_Track  = provider.Track;
                    m_Uri    = provider.Uri;
                }
                else
                {
                    return;
                }
            }
            else
            {
                m_Artist = null;
                m_Length = null;
                m_Rating = null;
                m_Source = null;
                m_Title  = null;
                m_Track  = null;
                m_Uri    = null;
            }

            if (TrackChanged != null)
            {
                TrackChanged(this, EventArgs.Empty);
            }
        }