Example #1
0
        /// <summary>
        /// Creates a list item from a Group Item object
        /// </summary>
        /// <param name="pGroupItem"></param>
        public DigitalMediaItem(MediaGroupItem pGroupItem)
            : base(pGroupItem.ItemName, TranslateMediaEnum((DigitalMediaItemType)pGroupItem.ItemType))
        {
            this.ItemType = (DigitalMediaItemType)pGroupItem.ItemType;

            if (ItemType == DigitalMediaItemType.Song)
            {
                if (pGroupItem.LibraryEntry.LibraryId == 0)
                {
                    throw new Exception("Library Id must not be 0");
                }

                LibraryItem = pGroupItem.LibraryEntry;
                string name = FormatMediaItemName(LibraryItem);
                if (!string.IsNullOrEmpty(name))
                {
                    DisplayString = name;
                }
                TargetId = pGroupItem.LibraryEntry.LibraryId;
            }
            else
            {
                if (pGroupItem.NextGroupId == 0)
                {
                    throw new Exception("Next Group must not be 0");
                }
                TargetId = pGroupItem.NextGroupId;
            }
        }
Example #2
0
        public static string FormatMediaItemName(DigitalMediaLibrary pDigitalMediaItem)
        {
            string template = AppMain.Settings.DisplayFormat.FormatTemplate;

            if (pDigitalMediaItem == null ||
                string.IsNullOrEmpty(pDigitalMediaItem.Artist) ||
                string.IsNullOrEmpty(pDigitalMediaItem.Title))
            {
                return(null);
            }

            return(template.Replace("%artist%", pDigitalMediaItem.Artist)
                   .Replace("%title%", pDigitalMediaItem.Title)
                   .Replace("%track%", pDigitalMediaItem.Track)
                   .Replace("%filename%", pDigitalMediaItem.FileName));
        }