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