/// <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; } }
/// <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; } }
/// <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; } }