private void PlaylistManager_Load(object sender, EventArgs e) { DJ_PLAYLISTS dJ_PLAYLISTS = new DJ_PLAYLISTS(ProgramSettings.RekordboxXMLFile); foreach (var t in dJ_PLAYLISTS.Playlists) { ShowPlaylist(t.Nodes); } }
public PlaylistHelper(string OutputFolder, string MusicFolder, DJ_PLAYLISTS Playlists) { this.OutputFolder = OutputFolder; this.MusicFolder = MusicFolder; if (Playlists == null) { throw new Exception("Playlists are undefined"); } this.Playlists = Playlists; }
static int ProcessRbXml(CommandOption argRkbXml, CommandOption argCommand, CommandOption argOutputDir, CommandOption argPlaylists, CommandOption argMusicDir, out Parameters parameters) { Parameters prms = new Parameters(); if (argRkbXml.HasValue()) { prms.InputRekordboxXML = argRkbXml.Value(); prms.ShowStatisticsCommand = argCommand.HasValue() && argCommand.Value() == COMMAND_SHOW_STATISTICS; prms.GeneratePlaylistsCommand = argCommand.HasValue() && argCommand.Value() == COMMAND_GENERATE_PLAYLISTS; prms.GenerateScriptsCommand = argCommand.HasValue() && argCommand.Value() == COMMAND_GENERATE_PLAYLISTS; if (argPlaylists.HasValue() && argOutputDir.HasValue()) { string Playlists = argPlaylists.Value().ToLowerInvariant(); prms.GeneratePlaylistsCommand = true; prms.OutputDirectory = argOutputDir.Value(); prms.OrphanedPlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_ORPHANS); prms.DuplicatePlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_DUPLICATES); prms.UnanalyzedPlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_UNANALYZED); prms.MissingPlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_MISSING); prms.UntaggedPlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_UNTAGGED); prms.UnreferencedPlaylistOption = Playlists.Contains(PLAYLIST_TOKEN_UNREFERENCED); } Console.WriteLine("Loading Rekordbox.xml file in {0}...", argRkbXml.Value()); DJ_PLAYLISTS m2 = new DJ_PLAYLISTS(argRkbXml.Value()); Console.WriteLine("{0} track(s) loaded !", m2.Collection.Tracks.Length.ToString()); Console.WriteLine("{0} Playlists loaded !", m2.Playlists.Where(p => p.Type == 1).Count().ToString()); Console.WriteLine("Starting analysis..."); if (argCommand.HasValue() && argCommand.Value() == COMMAND_SHOW_STATISTICS) { Console.WriteLine("Calculating music library files size..."); Console.WriteLine("Total size : {0} Bytes", m2.Size); } else if (argPlaylists.HasValue() && argOutputDir.HasValue()) { string Playlists = argPlaylists.Value().ToLowerInvariant(); string Destination; if (Playlists.Contains(PLAYLIST_TOKEN_ORPHANS)) { Destination = Path.Combine(argOutputDir.Value(), "Orphans.m3u8"); Console.WriteLine("Writing Orphans playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.Orphans, Destination); } if (Playlists.Contains(PLAYLIST_TOKEN_DUPLICATES)) { Destination = Path.Combine(argOutputDir.Value(), "Duplicates.m3u8"); Console.WriteLine("Writing Duplicates playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.Duplicates, Destination); } if (Playlists.Contains(PLAYLIST_TOKEN_UNANALYZED)) { Destination = Path.Combine(argOutputDir.Value(), "Unanalyzed.m3u8"); Console.WriteLine("Writing Unanalyzed playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.UnAnalyzed, Destination); } if (Playlists.Contains(PLAYLIST_TOKEN_MISSING)) { Destination = Path.Combine(argOutputDir.Value(), "Missing.m3u8"); Console.WriteLine("Writing Missing playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.Missing, Destination); } if (Playlists.Contains(PLAYLIST_TOKEN_UNTAGGED)) { Destination = Path.Combine(argOutputDir.Value(), "Untagged.m3u8"); Console.WriteLine("Writing Untagged playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.Untagged, Destination); } if (Playlists.Contains(PLAYLIST_TOKEN_UNREFERENCED)) { if (argMusicDir.HasValue()) { Destination = Path.Combine(argOutputDir.Value(), "Unreferenced.m3u8"); Console.WriteLine("Writing Unreferenced playlist to {0}...", Destination); PlaylistHelper.WritePlaylist(m2.Unreferenced(argMusicDir.Value()), Destination); } else { Console.WriteLine("Ignoring Missing playlist : no music folder provided !"); } } } parameters = prms; return(0); } else { parameters = null; return(-1); } }