Ejemplo n.º 1
0
        /// <summary>
        /// Updates the state.
        /// </summary>
        /// <param name="tag">The tag.</param>
        /// <param name="property">The property.</param>
        public static void UpdateState(MEDIASTATUSPROPERTYTAG tag, object property)
        {
            if (property == null)
            {
                return;
            }

            switch (tag)
            {
            //  Volume
            case MEDIASTATUSPROPERTYTAG.Volume:
                m_volume = property.ToString();
                break;

            //  Mute
            case MEDIASTATUSPROPERTYTAG.Mute:
                m_mute = property.ToString();
                break;

            //  Current Navigation Page
            case MEDIASTATUSPROPERTYTAG.FS_DVD:
            case MEDIASTATUSPROPERTYTAG.FS_Guide:
            case MEDIASTATUSPROPERTYTAG.FS_Home:
            case MEDIASTATUSPROPERTYTAG.FS_Music:
            case MEDIASTATUSPROPERTYTAG.FS_Photos:
            case MEDIASTATUSPROPERTYTAG.FS_Radio:
            case MEDIASTATUSPROPERTYTAG.FS_RecordedShows:
            case MEDIASTATUSPROPERTYTAG.FS_TV:
            case MEDIASTATUSPROPERTYTAG.FS_Unknown:
            case MEDIASTATUSPROPERTYTAG.FS_Videos:
                if ((bool)property == true)
                {
                    m_page = tag;
                }
                break;

            //  Play Rates
            case MEDIASTATUSPROPERTYTAG.Play:
            case MEDIASTATUSPROPERTYTAG.Stop:
            case MEDIASTATUSPROPERTYTAG.Pause:
            case MEDIASTATUSPROPERTYTAG.FF1:
            case MEDIASTATUSPROPERTYTAG.FF2:
            case MEDIASTATUSPROPERTYTAG.FF3:
            case MEDIASTATUSPROPERTYTAG.Rewind1:
            case MEDIASTATUSPROPERTYTAG.Rewind2:
            case MEDIASTATUSPROPERTYTAG.Rewind3:
            case MEDIASTATUSPROPERTYTAG.SlowMotion1:
            case MEDIASTATUSPROPERTYTAG.SlowMotion2:
            case MEDIASTATUSPROPERTYTAG.SlowMotion3:
                if ((bool)property == true)
                {
                    m_playRate = tag;
                }
                break;

            //  Current Media Mode
            case MEDIASTATUSPROPERTYTAG.StreamingContentAudio:
            case MEDIASTATUSPROPERTYTAG.StreamingContentVideo:
            case MEDIASTATUSPROPERTYTAG.PVR:
            case MEDIASTATUSPROPERTYTAG.TVTuner:
            case MEDIASTATUSPROPERTYTAG.CD:
            case MEDIASTATUSPROPERTYTAG.DVD:
                if ((bool)property == true)
                {
                    m_metaData.Clear();
                    m_mediaMode = tag;
                }
                break;

            default:
                m_metaData[tag.ToString()] = property;
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Updates the state.
        /// </summary>
        /// <param name="tag">The tag.</param>
        /// <param name="property">The property.</param>
        public static void UpdateState(MEDIASTATUSPROPERTYTAG tag, object property)
        {
            if (property == null) {
                return;
            }

            switch (tag) {
                    //  Volume
                case MEDIASTATUSPROPERTYTAG.Volume:
                    m_volume = property.ToString();
                    break;

                    //  Mute
                case MEDIASTATUSPROPERTYTAG.Mute:
                    m_mute = property.ToString();
                    break;

                    //  Current Navigation Page
                case MEDIASTATUSPROPERTYTAG.FS_DVD:
                case MEDIASTATUSPROPERTYTAG.FS_Guide:
                case MEDIASTATUSPROPERTYTAG.FS_Home:
                case MEDIASTATUSPROPERTYTAG.FS_Music:
                case MEDIASTATUSPROPERTYTAG.FS_Photos:
                case MEDIASTATUSPROPERTYTAG.FS_Radio:
                case MEDIASTATUSPROPERTYTAG.FS_RecordedShows:
                case MEDIASTATUSPROPERTYTAG.FS_TV:
                case MEDIASTATUSPROPERTYTAG.FS_Unknown:
                case MEDIASTATUSPROPERTYTAG.FS_Videos:
                    if ((bool) property == true) {
                        m_page = tag;
                    }
                    break;

                    //  Play Rates
                case MEDIASTATUSPROPERTYTAG.Play:
                case MEDIASTATUSPROPERTYTAG.Stop:
                case MEDIASTATUSPROPERTYTAG.Pause:
                case MEDIASTATUSPROPERTYTAG.FF1:
                case MEDIASTATUSPROPERTYTAG.FF2:
                case MEDIASTATUSPROPERTYTAG.FF3:
                case MEDIASTATUSPROPERTYTAG.Rewind1:
                case MEDIASTATUSPROPERTYTAG.Rewind2:
                case MEDIASTATUSPROPERTYTAG.Rewind3:
                case MEDIASTATUSPROPERTYTAG.SlowMotion1:
                case MEDIASTATUSPROPERTYTAG.SlowMotion2:
                case MEDIASTATUSPROPERTYTAG.SlowMotion3:
                    if ((bool) property == true) {
                        m_playRate = tag;
                    }
                    break;

                    //  Current Media Mode
                case MEDIASTATUSPROPERTYTAG.StreamingContentAudio:
                case MEDIASTATUSPROPERTYTAG.StreamingContentVideo:
                case MEDIASTATUSPROPERTYTAG.PVR:
                case MEDIASTATUSPROPERTYTAG.TVTuner:
                case MEDIASTATUSPROPERTYTAG.CD:
                case MEDIASTATUSPROPERTYTAG.DVD:
                    if ((bool) property == true) {
                        m_metaData.Clear();
                        m_mediaMode = tag;
                    }
                    break;

                default:
                    m_metaData[tag.ToString()] = property;
                    break;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Updates the state.
        /// </summary>
        /// <param name="tag">The tag.</param>
        /// <param name="property">The property.</param>
        public static void UpdateState(MEDIASTATUSPROPERTYTAG tag, object property)
        {
            var sb = new StringBuilder();

            if (property == null)
            {
                return;
            }

            switch (tag)
            {
            //  Volume
            case MEDIASTATUSPROPERTYTAG.Volume:
                m_volume = property.ToString();
                break;

            //  Mute
            case MEDIASTATUSPROPERTYTAG.Mute:
                m_mute = property.ToString();
                break;

            //  Current Navigation Page
            case MEDIASTATUSPROPERTYTAG.FS_DVD:
            case MEDIASTATUSPROPERTYTAG.FS_Extensibility:
            case MEDIASTATUSPROPERTYTAG.FS_Guide:
            case MEDIASTATUSPROPERTYTAG.FS_Home:
            case MEDIASTATUSPROPERTYTAG.FS_Music:
            case MEDIASTATUSPROPERTYTAG.FS_Photos:
            case MEDIASTATUSPROPERTYTAG.FS_Radio:
            case MEDIASTATUSPROPERTYTAG.FS_RecordedShows:
            case MEDIASTATUSPROPERTYTAG.FS_TV:
            case MEDIASTATUSPROPERTYTAG.FS_Unknown:
            case MEDIASTATUSPROPERTYTAG.FS_Videos:
                if ((bool)property == true)
                {
                    m_page = tag;
                    Sink.SocketServer.SendMessage(
                        string.Format(CultureInfo.InvariantCulture, "m_page={0}\r\n", tag)
                        );
                }
                break;

            //  Play Rates
            case MEDIASTATUSPROPERTYTAG.Play:
            case MEDIASTATUSPROPERTYTAG.Stop:
            case MEDIASTATUSPROPERTYTAG.Pause:
            case MEDIASTATUSPROPERTYTAG.FF1:
            case MEDIASTATUSPROPERTYTAG.FF2:
            case MEDIASTATUSPROPERTYTAG.FF3:
            case MEDIASTATUSPROPERTYTAG.Rewind1:
            case MEDIASTATUSPROPERTYTAG.Rewind2:
            case MEDIASTATUSPROPERTYTAG.Rewind3:
            case MEDIASTATUSPROPERTYTAG.SlowMotion1:
            case MEDIASTATUSPROPERTYTAG.SlowMotion2:
            case MEDIASTATUSPROPERTYTAG.SlowMotion3:
                if ((bool)property == true)
                {
                    m_playRate = tag;
                    Sink.SocketServer.SendMessage(
                        string.Format(CultureInfo.InvariantCulture, "m_playRate={0}\r\n", tag)
                        );
                }
                break;

            //  Current Media Mode
            case MEDIASTATUSPROPERTYTAG.StreamingContentAudio:
            case MEDIASTATUSPROPERTYTAG.StreamingContentVideo:
            case MEDIASTATUSPROPERTYTAG.PVR:
            case MEDIASTATUSPROPERTYTAG.TVTuner:
            case MEDIASTATUSPROPERTYTAG.CD:
            case MEDIASTATUSPROPERTYTAG.DVD:
            case MEDIASTATUSPROPERTYTAG.PhoneCall:
            case MEDIASTATUSPROPERTYTAG.Photos:
            case MEDIASTATUSPROPERTYTAG.Radio:
            case MEDIASTATUSPROPERTYTAG.Recording:
                if ((bool)property == true)
                {
                    foreach (KeyValuePair <string, object> item in MediaState.MetaData)
                    {
                        switch (item.Key)
                        {
                        case "ArtistName":
                        case "CurrentPicture":
                        case "MediaName":
                        case "ParentalAdvisoryRating":
                        case "RadioFrequency":
                        case "TrackName":
                            sb.AppendFormat("{0}={1}\r\n", item.Key, "");
                            break;

                        case "MediaTime":
                        case "TitleNumber":
                        case "TotalTracks":
                        case "TrackDuration":
                        case "TrackNumber":
                        case "TrackTime":
                            sb.AppendFormat("{0}={1}\r\n", item.Key, 0);
                            break;

                        default:
                            break;
                        }
                    }
                    m_metaData.Clear();
                    m_mediaMode = tag;
                    sb.AppendFormat(string.Format(CultureInfo.InvariantCulture, "m_mediaMode={0}\r\n", tag));
                    Sink.SocketServer.SendMessage(sb.ToString());
                }
                break;

            default:
                m_metaData[tag.ToString()] = property;
                break;
            }
        }