Beispiel #1
0
 public void AddLineEntry(UltraStartPlaylistLineEntry lineEntry)
 {
     lineEntries.Add(lineEntry);
     if (lineEntry is UltraStartPlaylistSongEntry songEntry)
     {
         songHashes.Add(GetHash(songEntry.Artist, songEntry.Title));
     }
 }
Beispiel #2
0
    public void RemoveSongEntry(string artist, string title)
    {
        UltraStartPlaylistLineEntry lineEntry = lineEntries
                                                .Find(it => (it is UltraStartPlaylistSongEntry songEntry) &&
                                                      songEntry.Artist == artist.Trim() &&
                                                      songEntry.Title == title.Trim());

        if (lineEntry != null)
        {
            lineEntries.Remove(lineEntry);
            songHashes.Remove(GetHash(artist, title));
        }
    }
Beispiel #3
0
    public static UltraStarPlaylist ParseFile(string path)
    {
        UltraStarPlaylist playlist = new UltraStarPlaylist();

        string[] lines = File.ReadAllLines(path);
        for (int lineIndex = 0; lineIndex < lines.Length; lineIndex++)
        {
            try
            {
                UltraStartPlaylistLineEntry lineEntry = UltraStarPlaylistLineParser.ParseLine(lines[lineIndex]);
                playlist.AddLineEntry(lineEntry);
            }
            catch (Exception e)
            {
                Debug.LogException(new UltraStarPlaylistParserException($"Error in line {lineIndex + 1} in file '{path}'", e));
            }
        }
        return(playlist);
    }