public static void AddSongToPlaylist(Playlist playlist, PlaylistSong song) { playlist.songs.Add(song); if (playlist.playlistTitle == "Your favorite songs") { playlist.SavePlaylist(); } }
public static void AddSongToPlaylist(Playlist playlist, PlaylistSong song) { playlist.songs.Add(song); if (playlist.playlistTitle == "Your favorite songs") { playlist.SavePlaylist(); } (SongLoader.CustomBeatmapLevelPackCollectionSO.beatmapLevelPacks.FirstOrDefault(x => x is PlaylistLevelPackSO && (x as PlaylistLevelPackSO).playlist == playlist) as PlaylistLevelPackSO)?.UpdateDataFromPlaylist(); }
public static void RemoveLevelFromPlaylist(Playlist playlist, string levelId) { if (playlist.songs.Where(y => y.level != null).Any(x => x.level.levelID == levelId)) { PlaylistSong song = playlist.songs.First(x => x.level != null && x.level.levelID == levelId); song.level = null; song.levelId = ""; } if (playlist.playlistTitle == "Your favorite songs") { playlist.SavePlaylist(); } }
public static void RemoveLevelFromPlaylist(Playlist playlist, string levelId) { if (playlist.songs.Any(x => x.levelId == levelId || (x.level != null && x.level.levelID == levelId))) { PlaylistSong song = playlist.songs.First(x => x.levelId == levelId || (x.level != null && x.level.levelID == levelId)); song.level = null; playlist.songs.Remove(song); } if (playlist.playlistTitle == "Your favorite songs") { playlist.SavePlaylist(); } (SongLoader.CustomBeatmapLevelPackCollectionSO.beatmapLevelPacks.FirstOrDefault(x => x is PlaylistLevelPackSO && (x as PlaylistLevelPackSO).playlist == playlist) as PlaylistLevelPackSO)?.UpdateDataFromPlaylist(); }
public static void RemoveLevelFromPlaylists(string levelId) { foreach (Playlist playlist in loadedPlaylists) { if (playlist.songs.Where(y => y.level != null).Any(x => x.level.levelID == levelId)) { PlaylistSong song = playlist.songs.First(x => x.level != null && x.level.levelID == levelId); song.level = null; song.levelId = ""; } if (playlist.playlistTitle == "Your favorite songs") { playlist.SavePlaylist(); } } foreach (var pack in SongLoader.CustomBeatmapLevelPackCollectionSO.beatmapLevelPacks) { if (pack is PlaylistLevelPackSO) { (pack as PlaylistLevelPackSO).UpdateDataFromPlaylist(); } } }
public Playlist(JSONNode playlistNode) { string image = playlistNode["image"].Value; if (!string.IsNullOrEmpty(image)) { try { icon = Sprites.Base64ToSprite(image.Substring(image.IndexOf(",") + 1)); } catch { Plugin.log.Critical("Unable to convert playlist image to sprite!"); icon = Sprites.BeastSaberLogo; } } else { icon = Sprites.BeastSaberLogo; } playlistTitle = playlistNode["playlistTitle"]; playlistAuthor = playlistNode["playlistAuthor"]; customDetailUrl = playlistNode["customDetailUrl"]; customArchiveUrl = playlistNode["customArchiveUrl"]; if (!string.IsNullOrEmpty(customDetailUrl)) { if (!customDetailUrl.EndsWith("/")) { customDetailUrl += "/"; } Plugin.log.Info("Found playlist with customDetailUrl! Name: " + playlistTitle + ", CustomDetailUrl: " + customDetailUrl); } if (!string.IsNullOrEmpty(customArchiveUrl) && customArchiveUrl.Contains("[KEY]")) { Plugin.log.Info("Found playlist with customArchiveUrl! Name: " + playlistTitle + ", CustomArchiveUrl: " + customArchiveUrl); } songs = new List <PlaylistSong>(); foreach (JSONNode node in playlistNode["songs"].AsArray) { PlaylistSong song = new PlaylistSong(); song.key = node["key"]; song.songName = node["songName"]; song.hash = node["hash"]; song.levelId = node["levelId"]; songs.Add(song); } if (playlistNode["playlistSongCount"] != null) { playlistSongCount = playlistNode["playlistSongCount"].AsInt; } else { playlistSongCount = songs.Count; } if (playlistNode["fileLoc"] != null) { fileLoc = playlistNode["fileLoc"]; } if (playlistNode["playlistURL"] != null) { fileLoc = playlistNode["playlistURL"]; } }