예제 #1
0
        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);
            }
        }
예제 #2
0
파일: Playlist.cs 프로젝트: LePopal/PRACT
 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;
 }
예제 #3
0
파일: Program.cs 프로젝트: LePopal/PRACT
        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);
            }
        }