private void AddToList(MediaPlayerHelper.mpInterface.IMediaItem media) { MediaListInfo info = new MediaListInfo(media); var item = this.lstPlayList.Items.Add(info.TrackNumber); string[] row = { info.Title, info.Duration, info.Artist, info.Album, info.Composer }; item.SubItems.AddRange(row); item.BackColor = (media == this.mPlayList.CurrentlyPlayingItem) ? Color.AliceBlue : Color.White; item.Tag = media; }
public MediaListInfo(MediaPlayerHelper.mpInterface.IMediaItem media) { this.TrackNumber = "-"; this.Title = "-"; this.Duration = "-"; this.Artist = "-"; this.Album = "-"; this.Composer = "-"; if (media != null && media.IsValid) { var mediainfo = media.MediaInfo; if (mediainfo != null) { var dur = mediainfo.DurationAsString; var attributes = media.MediaInfo.GetAllAttributes(); foreach (var attribute in attributes) { switch (attribute.AttributeType) { case MediaPlayerHelper.MediaTag.WM_TrackNumber: this.TrackNumber = attribute.AttributeValue; break; case MediaPlayerHelper.MediaTag.Title: this.Title = attribute.AttributeValue; break; case MediaPlayerHelper.MediaTag.Author: this.Artist = attribute.AttributeValue; break; case MediaPlayerHelper.MediaTag.WM_AlbumTitle: this.Album = attribute.AttributeValue; break; case MediaPlayerHelper.MediaTag.WM_Composer: this.Composer = attribute.AttributeValue; break; } } this.Duration = dur != null ? dur : this.Duration; } } if (media.IsValid == false) { this.Title = "<Media Not Found>"; } }