public void PrintAudioFileOptionsStatistics(string statsHeaderToPrint)
        {
            ConsolePrintHelpers.PrintWhiteText("  ____________________________");
            ConsolePrintHelpers.PrintWhiteText("\n  " + statsHeaderToPrint);
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("     -Best Accuracy Score      :");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_BestAccuracyScore.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("     -Best Total Points        :");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_BestTotalPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("     -Best Artist/Album Points :");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_BestArtistAlbumPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("     -Best Track Points        :");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_BestTrackPoints.ToString());

            Console.WriteLine();
        }
示例#2
0
        public void PrintPendingCopyOrEncodeStats()
        {
            int encodeCount = 0;
            int copyCount   = 0;

            foreach (AudioFileEncoding encoding in _EncodingQueue)
            {
                if (encoding.TryToCopyAlreadyEncodedFile == false)
                {
                    encodeCount++;
                }
                else
                {
                    copyCount++;
                }
            }

            Console.WriteLine("\n\n");

            ConsolePrintHelpers.PrintGreenText("  Pending File Encodes  ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText(encodeCount.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Pending File Copies   ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText(copyCount.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Skipped Encodings     ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText(_SkippedQueue.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
        }
示例#3
0
        private void PrintUpdatedEncodingStats()
        {
            Console.CursorTop -= 6;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_ActiveEncodings.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_FinishedEncodings.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_EncodedFilesCount.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_CopiedFilesCount.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_History.GetAlreadyEncodedFilesCount().ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_EncodingQueues.SkippedQueue.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop += 1;
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_EncodingQueues.EncodingQueue.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
        }
        public void PrintApprovedLoadSheetRows_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Approved Load Sheet Rows...");

            Console.WriteLine("\n\n");
            ConsolePrintHelpers.PrintWhiteText("  Approved Load Sheet Rows Count :  ");
            ConsolePrintHelpers.PrintCyanText(_ApprovedLoadSheetRows.Count.ToString());

            ConsolePrintHelpers.Wait();

            if (_ApprovedLoadSheetRows.Count > 0)
            {
                Console.WriteLine("\n\n");
            }

            foreach (ApprovedLoadSheetRow approvedLSR in _ApprovedLoadSheetRows)
            {
                ConsolePrintHelpers.PrintFullWidthLine();

                ConsolePrintHelpers.PrintWhiteText("  Is Valid?         :  ");
                if (approvedLSR.ReCheckIfValid())
                {
                    ConsolePrintHelpers.PrintYellowText(approvedLSR.IsValid.ToString());
                }
                else
                {
                    ConsolePrintHelpers.PrintRedText(approvedLSR.IsValid.ToString());
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Path  :  ");
                ConsolePrintHelpers.PrintCyanText(approvedLSR.SourceFilePath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Date  :  ");
                ConsolePrintHelpers.PrintCyanText(approvedLSR.SourceFileModifiedDate);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Size  :  ");
                ConsolePrintHelpers.PrintCyanText((approvedLSR.SourceFileSize / 1024 / 1024).ToString() + " MB");
                Console.WriteLine("\n");

                ConsolePrintHelpers.PrintWhiteText("  LSR Hash          :  ");
                ConsolePrintHelpers.PrintCyanText(approvedLSR.LoadSheetRowHash);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Accuracy Score    :  ");
                ConsolePrintHelpers.PrintCyanText(approvedLSR.AccuracyScore.ToString());
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Accuracy Type     :  ");
                ConsolePrintHelpers.PrintCyanText(approvedLSR.AccuracyType.ToString());
                Console.WriteLine();
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
示例#5
0
        private void PrintUpdatedSearchStats()
        {
            Console.CursorTop  -= 1;
            Console.CursorLeft -= Globals.EncodingStatsCounterPadding;
            ConsolePrintHelpers.PrintCyanText(_ActiveSearches.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.CursorTop  += 1;
            Console.CursorLeft -= Globals.EncodingStatsCounterPadding;
            ConsolePrintHelpers.PrintCyanText(_SearchRowsRemaining.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
        }
示例#6
0
 private void PrintSearchStatsHeaders()
 {
     ConsolePrintHelpers.PrintGreenText("  Active Searches ");
     ConsolePrintHelpers.PrintWhiteText(":  ");
     ConsolePrintHelpers.PrintCyanText("000000");
     Console.WriteLine();
     ConsolePrintHelpers.PrintGreenText("  Remaining Rows  ");
     ConsolePrintHelpers.PrintWhiteText(":  ");
     ConsolePrintHelpers.PrintCyanText("000000");
 }
        public void PrintHistoryStats()
        {
            Console.WriteLine("\n");
            ConsolePrintHelpers.PrintGreenText("  History Approved Rows ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText(_ApprovedLoadSheetRows.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));

            Console.WriteLine();
            ConsolePrintHelpers.PrintGreenText("  History Encoded Files ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText(_AlreadyEncodedFiles.Count.ToString().PadLeft(Globals.EncodingStatsCounterPadding, '0'));
        }
        public void PrintAudioFileOptions(AudioFileOption bestOption, string headerToPrint)
        {
            ConsolePrintHelpers.PrintWhiteText("\n  " + headerToPrint + " Option(s) :  ");

            int longestPathLength = 0;
            int currentPathLength;

            foreach (AudioFileOption option in _AudioFileOptions)
            {
                currentPathLength = Globals.CursorsLeft[0] + option.LibraryFile.FullPath.Length;

                if (currentPathLength > longestPathLength)
                {
                    longestPathLength = currentPathLength;
                }
            }

            foreach (AudioFileOption option in _AudioFileOptions)
            {
                Console.CursorLeft = Globals.CursorsLeft[0];

                if (option.LibraryFile.FullPath == bestOption.LibraryFile.FullPath)
                {
                    ConsolePrintHelpers.PrintGrayText(option.LibraryFile.FullPath);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(option.LibraryFile.FullPath);
                }

                Console.CursorLeft = longestPathLength;

                ConsolePrintHelpers.PrintWhiteText("     [");
                ConsolePrintHelpers.PrintGrayText("S: ");
                ConsolePrintHelpers.PrintCyanText(option.AccuracyScore.ToString().PadLeft(4));
                ConsolePrintHelpers.PrintGrayText(",  T: ");
                ConsolePrintHelpers.PrintYellowText(option.GetTotalPoints().ToString().PadLeft(3));
                ConsolePrintHelpers.PrintGrayText(",  A/A: " + option.ArtistAlbumPoints.ToString().PadLeft(3) + ",  Tr: " + option.TrackPoints.ToString().PadLeft(3) + ", Size: " + option.LibraryFile.FileSize + " bytes");
                ConsolePrintHelpers.PrintWhiteText("]\n");
            }

            if (_AudioFileOptionsOriginalCount > _AudioFileOptions.Count)
            {
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintWhiteText((_AudioFileOptionsOriginalCount - _AudioFileOptions.Count).ToString());
                ConsolePrintHelpers.PrintDarkGrayText(" Remaining Files Not Printed...\n");
            }

            Console.WriteLine();
        }
示例#9
0
        public bool CompareBoth()
        {
            Thread.Sleep(10000);
            bool matchFound = false;

            foreach (Guid id1 in list1)
            {
                foreach (Guid id2 in list2)
                {
                    //Console.WriteLine("NO match:  " + id1.ToString() + "   " + id2.ToString());

                    if (id1.ToString() == id2.ToString())
                    {
                        matchFound = true;
                        ConsolePrintHelpers.PrintCyanText("match:  " + id1.ToString() + "   " + id2.ToString());
                    }
                }
            }

            return(matchFound);
        }
示例#10
0
        private void PrintEncodingStatsHeaders()
        {
            ConsolePrintHelpers.PrintGreenText("  Active Encodings             ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Pending LS Row Updates       ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  New Encoded Files            ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  New Copied Files             ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  History Encoded Files        ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Skipped Encodings            ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Remaining Encodings          ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            ConsolePrintHelpers.PrintCyanText("000000");
            Console.WriteLine("\n\n");

            Console.CursorTop -= 3;
        }
        public void PrintUniqueFileExtensions_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing File Extensions Found in Audio Library...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            List <string> uniqueFileExtensions = new List <string>();

            foreach (AudioLibraryFile file in _AudioLibraryFiles)
            {
                string extension = Path.GetExtension(file.FullPath);

                if (!uniqueFileExtensions.Contains(extension))
                {
                    uniqueFileExtensions.Add(extension);
                }
            }

            uniqueFileExtensions.Sort();

            int counter    = 1;
            int cursorLeft = 18;

            foreach (string ext in uniqueFileExtensions)
            {
                ConsolePrintHelpers.PrintWhiteText("  Extension " + counter + ":  ");
                Console.CursorLeft = cursorLeft;
                ConsolePrintHelpers.PrintCyanText(ext);
                Console.WriteLine("\n");
                counter++;
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        public void PrintUniqueTrackNumberPatterns_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Unique Tracknumber Patterns...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            List <string> uniqueTrackNumberPatterns = new List <string>();

            foreach (AudioLibraryFile file in _AudioLibraryFiles)
            {
                string pattern = file.TrackNumberPattern;

                if (!uniqueTrackNumberPatterns.Contains(pattern))
                {
                    uniqueTrackNumberPatterns.Add(pattern);
                }
            }

            foreach (string pattern in uniqueTrackNumberPatterns)
            {
                Console.WriteLine();
                ConsolePrintHelpers.PrintWhiteText("  Pattern :  ");
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintGreenText(pattern);
                ConsolePrintHelpers.PrintWhiteText("]");
            }

            Console.WriteLine("\n");
            ConsolePrintHelpers.PrintWhiteText("  Pattern Count :  ");
            ConsolePrintHelpers.PrintCyanText(uniqueTrackNumberPatterns.Count.ToString());

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
示例#13
0
        private void DetermineSkippedLoadsheetRows()
        {
            ConsolePrintHelpers.PrintYellowText("\n\n\n  Determining Skipped Loadsheet Rows");
            ConsolePrintHelpers.PrintWhiteText(" ► ");

            bool cancelProgressTicker = false;

            Task ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker));

            foreach (AODLoadSheetRow lsr in _Controller.LoadSheet.GetAODLoadSheetRows)
            {
                if (IsLSREligibleForEncodingOrCopying(lsr))
                {
                    _TempEncodingOrCopyList.Add(lsr);   //Ordered by load sheet row number (1 -> n)
                }
                else
                {
                    _TempSkippedList.Add(lsr);          //Ordered by load sheet row number (1 -> n)
                }
            }

            PrepareManualOptions();

            foreach (AODLoadSheetRow skippedRow in _TempSkippedList.ToList())
            {
                CheckApprovalHistoryAgain(skippedRow);  //Approval history can look at the 'Manual Options' list for each skippedRow and possibly find an approved source file included in that list
            }

            cancelProgressTicker = true;

            ticker.Wait();

            ConsolePrintHelpers.PrintYellowText("Done");

            ConsolePrintHelpers.PrintWhiteText("\n\n\n  Skipped Loadsheet Rows Count : ");
            ConsolePrintHelpers.PrintCyanText(_TempSkippedList.Count.ToString());
        }
        public void PrintAudioFileOptionInfo()
        {
            ConsolePrintHelpers.PrintWhiteText("  Scoring Bonus Tokens         :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            foreach (string bonusToken in _ScoringBonusTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintGreenText(bonusToken);
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            if (_ScoringBonusTokens.Count == 0)
            {
                ConsolePrintHelpers.PrintCyanText("None");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Scoring Dynamic Bonus Tokens :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            foreach (string bonusToken in _DynamicScoringBonusTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintGreenText(bonusToken);
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            if (_DynamicScoringBonusTokens.Count == 0)
            {
                ConsolePrintHelpers.PrintCyanText("None");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Scoring Token Count          :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_ScoringTokenCount.ToString());
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Total Scored Points          :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(GetTotalPoints().ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Total Potential Points       :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(GetTotalPotentialPoints().ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Total Scored Points %        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(((int)GetTotalPointsRatio()).ToString() + " %");
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Artist/Album Scored Points   :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_ArtistAlbumPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Artist/Album Potential Pts.  :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_LSRTokens.ArtistAlbumPotentialPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Artist/Album Scored Points % :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(((int)GetArtistAlbumPointsRatio()).ToString() + " %");
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Track Scored Points          :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_TrackPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Track Potential Points       :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_LSRTokens.TrackPotentialPoints.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Track Scored Points %        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(((int)GetTrackPointsRatio()).ToString() + " %");
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  SubDir File Path             :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_LibraryFile.NoDiacriticsSubDirectoriesFilePath);
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Applicable SubDir File Path  :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_LibraryFile.NoDiacriticsApplicableSubDirectoriesFilePath);
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Library File Airline         :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            if (_LibraryFile.IsAirlineDetected)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintCyanText(_LibraryFile.Airline);
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            else
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Library File Track #         :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            if (_LibraryFile.IsTrackNumberDetected)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintCyanText(_LibraryFile.TrackNumber);
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            else
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Library File Cycle Codes     :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            if (_LibraryFile.AreCycleCodesDetected)
            {
                foreach (string cycleCode in _LibraryFile.GetCycleCodes())
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintCyanText(cycleCode);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
            }
            else
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Library File Appl. Tokens    :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            List <string> libraryFileApplicableTokens = _LibraryFile.GetApplicableTokens();

            foreach (string applicableToken in libraryFileApplicableTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintCyanText(applicableToken);
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            if (libraryFileApplicableTokens.Count == 0)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Remaining Applicable Tokens  :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            foreach (string applicableToken in _RemainingApplicableTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintCyanText(applicableToken);
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            if (_RemainingApplicableTokens.Count == 0)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Normalized Appl. SubDir Path :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintWhiteText("[");
            ConsolePrintHelpers.PrintCyanText(_LibraryFile.NormalizedApplicableSubDirectoriesFilePath);
            ConsolePrintHelpers.PrintWhiteText("]");
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Remaining Chars              :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintWhiteText("[");
            ConsolePrintHelpers.PrintCyanText(_RemainingChars);
            ConsolePrintHelpers.PrintWhiteText("]");
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Appl. SubDir Removed Char %  :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(((int)GetRemovedCharsRatio()).ToString() + " %");
            Console.WriteLine("\n");

            if (Globals.IsDevelopmentEnvironment)
            {
                ConsolePrintHelpers.PrintWhiteText("  All Remaining Chars Tokens   :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];

                foreach (string token in _AllRemainingCharsTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintCyanText(token);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }

                if (_AllRemainingCharsTokens.Count == 0)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintDarkGrayText("None");
                    ConsolePrintHelpers.PrintWhiteText("]");
                }
                Console.WriteLine("\n");
            }

            ConsolePrintHelpers.PrintWhiteText("  Used Remaining Chars Tokens  :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];

            foreach (string token in _UsedRemainingCharsTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintCyanText(token);
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            if (_UsedRemainingCharsTokens.Count == 0)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintDarkGrayText("None");
                ConsolePrintHelpers.PrintWhiteText("]");
            }

            Console.WriteLine("\n");
        }
        private bool PromptForUsingManualShortcutsDirectory()
        {
            ConsolePrintHelpers.PrintWhiteText("  Please Select...\n\n");

            ConsolePrintHelpers.PrintGreenText("    1");
            ConsolePrintHelpers.PrintWhiteText(" ► Scan Entire Audio Library For Source Files\n\n");

            foreach (string rootPath in _AudioLibraryRootPaths)
            {
                ConsolePrintHelpers.PrintDarkGrayText("         " + rootPath + "\n");
            }

            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("    2");
            ConsolePrintHelpers.PrintWhiteText(" ► Scan Manual Shortcuts Directory [");
            ConsolePrintHelpers.PrintCyanText(ManualShortcutsDirectory);
            ConsolePrintHelpers.PrintWhiteText("]\n\n");

            ConsolePrintHelpers.PrintDarkGrayText("         NOTE:  Only provide shortcuts to an absolute path, NOT an arbitrary mapped drive.\n");
            ConsolePrintHelpers.PrintDarkGrayText("                Shortcuts should be targeting directories and files in:  " + _AudioLibraryRoot + "\n\n");

            ConsolePrintHelpers.PrintWhiteText("  Choice ►");
            ConsolePrintHelpers.PrintGreenText(" ");

            while (true)
            {
                int cursorLeft = Console.CursorLeft;

                while (Console.KeyAvailable)
                {
                    ConsoleKeyInfo key = Console.ReadKey(true);  //flush keyboard buffer
                }

                ConsoleKeyInfo keyPressed = Console.ReadKey();

                Thread.Sleep(500);

                if (keyPressed.KeyChar != '1' && keyPressed.KeyChar != '2')
                {
                    Console.CursorLeft = cursorLeft + 1;  //in case user presses "enter"
                    ConsolePrintHelpers.PrintYellowText("  Incorrect Key Pressed!");
                    Thread.Sleep(1000);
                    Console.CursorLeft = cursorLeft;
                    ConsolePrintHelpers.PrintGreenText("                         ");
                    Console.CursorLeft = cursorLeft;
                }
                else
                {
                    if (keyPressed.KeyChar == '1')
                    {
                        return(false);
                    }

                    if (keyPressed.KeyChar == '2')
                    {
                        return(true);
                    }
                }
            }
        }
        public void PrintBasicLSRInfo()
        {
            Console.CursorVisible = false;

            Console.WriteLine("\n\n");

            ConsolePrintHelpers.PrintWhiteText("  LoadSheet Row #              :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText((_LoadSheetRowNumber + 1).ToString());
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Search Cycle                 :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_SearchCycle == _Cycle)
            {
                ConsolePrintHelpers.PrintCyanText(_SearchCycle);
            }
            else
            {
                ConsolePrintHelpers.PrintYellowText(_SearchCycle + "  (Alternative Cycle)");
            }
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string cycleToken in _Tokens.CycleTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == cycleToken))
                {
                    ConsolePrintHelpers.PrintGreenText(cycleToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(cycleToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Airline                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Airline + "    (" + _AirlineFullName + ")");
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string airlineToken in _Tokens.AirlineTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == airlineToken))
                {
                    ConsolePrintHelpers.PrintGreenText(airlineToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(airlineToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Audio Type                   :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_AudioType);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string audioTypeToken in _Tokens.AudioTypeTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == audioTypeToken))
                {
                    ConsolePrintHelpers.PrintGreenText(audioTypeToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(audioTypeToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Ship To                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_ShipTo);
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Artist                       :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Artist);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string artistToken in _Tokens.ArtistTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringArtistTokens.Any(token => token == artistToken))
                {
                    ConsolePrintHelpers.PrintGreenText(artistToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(artistToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Album                        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Album);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string albumToken in _Tokens.AlbumTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringAlbumTokens.Any(token => token == albumToken))
                {
                    ConsolePrintHelpers.PrintGreenText(albumToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(albumToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Track #                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_TrackNumber);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string trackNumberToken in _Tokens.TrackNumberTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringTrackNumberTokens.Any(token => token == trackNumberToken))
                {
                    ConsolePrintHelpers.PrintGreenText(trackNumberToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(trackNumberToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Track                        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Track);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string trackToken in _Tokens.TrackTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringTrackTokens.Any(token => token == trackToken))
                {
                    ConsolePrintHelpers.PrintGreenText(trackToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(trackToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }

            Console.WriteLine("\n\n\n");
        }
        public void PrintAlreadyEncodedFiles_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Already Encoded Files...");

            Console.WriteLine("\n\n");
            ConsolePrintHelpers.PrintWhiteText("  Already Encoded Files Count :  ");
            ConsolePrintHelpers.PrintCyanText(_AlreadyEncodedFiles.Count.ToString());

            ConsolePrintHelpers.Wait();

            if (_AlreadyEncodedFiles.Count > 0)
            {
                Console.WriteLine("\n\n");
            }

            foreach (AlreadyEncodedFile file in _AlreadyEncodedFiles)
            {
                ConsolePrintHelpers.PrintFullWidthLine();

                ConsolePrintHelpers.PrintWhiteText("  Is Valid?         :  ");
                if (file.ReCheckIfValid())
                {
                    ConsolePrintHelpers.PrintYellowText(file.IsValid.ToString());
                }
                else
                {
                    ConsolePrintHelpers.PrintRedText(file.IsValid.ToString());
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Encoded File Path :  ");
                ConsolePrintHelpers.PrintCyanText(file.EncodedFilePath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Encoded File Date :  ");
                ConsolePrintHelpers.PrintCyanText(file.EncodedFileModifiedDate);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Encoded File Size :  ");
                ConsolePrintHelpers.PrintCyanText((file.EncodedFileSize / 1024 / 1024).ToString() + " MB");
                Console.WriteLine("\n");

                ConsolePrintHelpers.PrintWhiteText("  Source File Path  :  ");
                ConsolePrintHelpers.PrintCyanText(file.SourceFilePath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Date  :  ");
                ConsolePrintHelpers.PrintCyanText(file.SourceFileModifiedDate);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Size  :  ");
                ConsolePrintHelpers.PrintCyanText((file.SourceFileSize / 1024 / 1024).ToString() + " MB");
                Console.WriteLine("\n");

                ConsolePrintHelpers.PrintWhiteText("  Encoded Status    :  ");
                ConsolePrintHelpers.PrintCyanText(file.EncodedStatus);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Encoded File Ext  :  ");
                ConsolePrintHelpers.PrintCyanText(file.EncodedFileExtension);
                Console.WriteLine();
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        private void MigrateAlreadyEncodedFiles()
        {
            ConsolePrintHelpers.PrintYellowText("\n\n\n  Migrating Files...\n\n");

            int count = 1;

            foreach (AlreadyEncodedFile file in _AlreadyEncodedFiles)
            {
                ConsolePrintHelpers.PrintWhiteText("  Copying File:  ");
                ConsolePrintHelpers.PrintCyanText(count.ToString() + " of " + _AlreadyEncodedFiles.Count);
                Console.WriteLine();

                string oldFilePath = file.EncodedFilePath;

                string newFilePath = _Config.HistoryFilesArchiveDirectory + "\\" + Guid.NewGuid().ToString() + file.EncodedFileExtension;

                ConsolePrintHelpers.PrintWhiteText("  Old Path:  ");
                ConsolePrintHelpers.PrintCyanText(oldFilePath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  New Path:  ");
                ConsolePrintHelpers.PrintCyanText(newFilePath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintYellowText("  Copying History File");
                ConsolePrintHelpers.PrintWhiteText(" ► ");

                bool cancelProgressTicker = false;

                Task ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker));

                File.Copy(oldFilePath, newFilePath);

                cancelProgressTicker = true;

                ticker.Wait();

                ConsolePrintHelpers.PrintYellowText("Done");
                Console.WriteLine();

                file.SetEncodedFilePath(newFilePath);

                ConsolePrintHelpers.PrintWhiteText("  File Encoded Path:  ");
                ConsolePrintHelpers.PrintCyanText(file.EncodedFilePath);
                Console.WriteLine();

                file.ReCheckIfValid();

                ConsolePrintHelpers.PrintWhiteText("  File isValid:  ");

                if (file.IsValid)
                {
                    ConsolePrintHelpers.PrintCyanText("Valid");
                }
                else
                {
                    ConsolePrintHelpers.PrintRedText("NOT Valid");

                    ConsolePrintHelpers.PressAnyKeyToContinue();
                }

                Console.WriteLine("\n\n\n");

                count++;
            }

            ConsolePrintHelpers.PrintYellowText("  Press Any Key to Update Already Encoded History File...");

            ConsolePrintHelpers.PressAnyKeyToContinue();

            WriteEncodingHistoryToFile(true);

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        public void PrintAllLSRInfo()
        {
            Console.CursorVisible = false;

            Console.WriteLine();
            ConsolePrintHelpers.PrintFullWidthLine();
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  LoadSheet Row #              :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText((_LoadSheetRowNumber + 1).ToString());
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Artist                       :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Artist);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string artistToken in _Tokens.ArtistTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringArtistTokens.Any(token => token == artistToken))
                {
                    ConsolePrintHelpers.PrintGreenText(artistToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(artistToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Album                        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Album);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string albumToken in _Tokens.AlbumTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringAlbumTokens.Any(token => token == albumToken))
                {
                    ConsolePrintHelpers.PrintGreenText(albumToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(albumToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Track #                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_TrackNumber);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string trackNumberToken in _Tokens.TrackNumberTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringTrackNumberTokens.Any(token => token == trackNumberToken))
                {
                    ConsolePrintHelpers.PrintGreenText(trackNumberToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(trackNumberToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Track                        :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Track);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string trackToken in _Tokens.TrackTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringTrackTokens.Any(token => token == trackToken))
                {
                    ConsolePrintHelpers.PrintGreenText(trackToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(trackToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Loadsheet Cycle              :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Cycle);
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Search Cycle                 :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_SearchCycle != _Cycle)
            {
                ConsolePrintHelpers.PrintYellowText(_SearchCycle);
            }
            else
            {
                ConsolePrintHelpers.PrintCyanText(_SearchCycle);
            }
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string cycleToken in _Tokens.CycleTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == cycleToken))
                {
                    ConsolePrintHelpers.PrintGreenText(cycleToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(cycleToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Airline                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_Airline);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string airlineToken in _Tokens.AirlineTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == airlineToken))
                {
                    ConsolePrintHelpers.PrintGreenText(airlineToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(airlineToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Audio Type                   :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_AudioType);
            Console.CursorLeft = Globals.CursorsLeft[1];
            ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

            foreach (string audioTypeToken in _Tokens.AudioTypeTokens.GetTokens)
            {
                ConsolePrintHelpers.PrintWhiteText("[");
                if (_SearchCollection.BestOption.ScoringBonusTokens.Any(token => token == audioTypeToken))
                {
                    ConsolePrintHelpers.PrintGreenText(audioTypeToken);
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(audioTypeToken);
                }
                ConsolePrintHelpers.PrintWhiteText("]  ");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Ship To                      :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_ShipTo);
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Loadsheet Row Hash           :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintWhiteText("[");
            ConsolePrintHelpers.PrintCyanText(_LoadSheetRowHash);
            ConsolePrintHelpers.PrintWhiteText("]");
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Destination Path             :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_DestinationPath);
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Original Search Strategy     :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_OriginalSearchStrategy.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintWhiteText("  Applied  Search Strategy     :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_OriginalSearchStrategy == _Tokens.SearchStrategy)
            {
                ConsolePrintHelpers.PrintCyanText(_Tokens.SearchStrategy.ToString());
            }
            else
            {
                ConsolePrintHelpers.PrintYellowText(_Tokens.SearchStrategy.ToString());
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Quick Search                 :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_IsQuickSearchActive)
            {
                ConsolePrintHelpers.PrintYellowText("Active");
                Console.WriteLine();
                ConsolePrintHelpers.PrintWhiteText("  Quick Search Note (Past LSR) :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintYellowText(_QuickSearchNotePastLSR);
                Console.WriteLine();
                ConsolePrintHelpers.PrintWhiteText("  Quick Search Note (Prev LSR) :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintYellowText(_QuickSearchNotePreviousLSR);
                Console.WriteLine("\n");
            }
            else
            {
                ConsolePrintHelpers.PrintCyanText("Disabled");
                Console.WriteLine();
                ConsolePrintHelpers.PrintWhiteText("  Quick Search Note (Past LSR) :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(_QuickSearchNotePastLSR);
                Console.WriteLine();
                ConsolePrintHelpers.PrintWhiteText("  Quick Search Note (Prev LSR) :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(_QuickSearchNotePreviousLSR);
                Console.WriteLine("\n");
            }

            _SearchCollection.PrintBestOptionInfo();

            if (_IsApproved)
            {
                _SuggestedAudioFile.PrintSuggestedAudioFileInfo(true);
            }
            else
            {
                _SuggestedAudioFile.PrintSuggestedAudioFileInfo(false);
            }

            _SearchCollection.PrintSearchPasses();
        }
示例#20
0
        private void ManuallyAssignSkippedEncodings()
        {
            if (_TempSkippedList.Count == 0)
            {
                return;
            }

            if (!PromptToManuallyAssignSkippedEncodings())
            {
                return;
            }

            ConsolePrintHelpers.PrintWhiteText("\n\n\n  Select Source Files...");
            Console.WriteLine("\n");
            ConsolePrintHelpers.PrintFullWidthLine();
            Console.CursorTop -= 2;

            int remainingRows = _TempSkippedList.Count;

            foreach (AODLoadSheetRow skippedLSR in _TempSkippedList.ToList())
            {
                skippedLSR.PrintBasicLSRInfo();

                skippedLSR.AssignSuggestedAudioFile();  //If this row is sharing a SearchCollection with another row (identical LSR Hashes; Copied SearchCollection in quick search 'Past LSR' section) then re-assign it for following approval check

                if (CheckApprovalHistoryAgain(skippedLSR))
                {
                    ConsolePrintHelpers.PrintWhiteText("  Historically Approved...\n\n");

                    skippedLSR.SuggestedAudioFile.PrintSuggestedAudioFileInfo(true);

                    Console.WriteLine("\n\n\n");
                    ConsolePrintHelpers.PrintFullWidthLine();
                    Console.CursorTop -= 5;
                }
                else
                {
                    skippedLSR.SuggestedAudioFile.PrintSuggestedAudioFileInfo(false);

                    int selection = SelectManualOption(skippedLSR);

                    if (selection == -2)
                    {
                        ConsolePrintHelpers.PrintWhiteText("\n\n\n  Skipping All Remaining Rows...");

                        remainingRows--;

                        ConsolePrintHelpers.PrintWhiteText("\n\n\n  Remaining Skipped Rows : ");
                        ConsolePrintHelpers.PrintCyanText(remainingRows.ToString());

                        break;
                    }

                    if (selection == -1)
                    {
                        ConsolePrintHelpers.PrintWhiteText("\n\n\n  Skipping This Row...");
                    }
                    else
                    {
                        AudioFileOption selectedOption = skippedLSR.SearchCollection.GetSelectedOption(selection);

                        skippedLSR.AssignSuggestedAudioFileFromManualApproval(selectedOption);

                        if (CheckApprovalHistoryAgain(skippedLSR))
                        {
                            _Controller.History.AddNewApprovedLoadSheetRow(skippedLSR);
                        }
                    }
                }

                remainingRows--;

                ConsolePrintHelpers.PrintWhiteText("\n\n\n  Remaining Skipped Rows : ");
                ConsolePrintHelpers.PrintCyanText(remainingRows.ToString());

                Thread.Sleep(1000);
            }

            if (_TempSkippedList.Count > 0)
            {
                int skippedCountBefore = _TempSkippedList.Count;

                ConsolePrintHelpers.PrintYellowText("\n\n\n  Checking Approvals On Remaining Rows");
                ConsolePrintHelpers.PrintWhiteText(" ► ");

                bool cancelProgressTicker = false;

                Task ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker));

                foreach (AODLoadSheetRow skippedRow in _TempSkippedList.ToList())
                {
                    CheckApprovalHistoryAgain(skippedRow);
                }

                cancelProgressTicker = true;

                ticker.Wait();

                ConsolePrintHelpers.PrintYellowText("Done");

                if (_TempSkippedList.Count < skippedCountBefore)
                {
                    ConsolePrintHelpers.PrintWhiteText("\n\n\n  Skipped Loadsheet Rows Count (Before) : ");
                    ConsolePrintHelpers.PrintCyanText(skippedCountBefore.ToString());
                    ConsolePrintHelpers.PrintWhiteText("\n  Skipped Loadsheet Rows Count (After)  : ");
                    ConsolePrintHelpers.PrintCyanText(_TempSkippedList.Count.ToString());
                }
            }
        }
        public void PrintCharactersFoundList_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Characters Found in AOD Loadsheet...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            List <char> charactersFound = new List <char>();

            if (charactersFound.Count == 0)
            {
                foreach (AODLoadSheetRow lsr in _AODLoadSheetRows)
                {
                    foreach (char ch in lsr.Airline)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.Artist)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.Album)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.TrackNumber)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.Track)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.OutputFilename)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                    foreach (char ch in lsr.AudioType)
                    {
                        if (!charactersFound.Contains(ch))
                        {
                            charactersFound.Add(ch);
                        }
                    }
                }
            }

            charactersFound.Sort();

            int counter    = 1;
            int cursorLeft = 13;

            foreach (char ch in charactersFound)
            {
                ConsolePrintHelpers.PrintWhiteText("  Char " + counter + ":  ");
                Console.CursorLeft = cursorLeft;
                ConsolePrintHelpers.PrintCyanText(ch.ToString());
                Console.WriteLine("\n");
                counter++;
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        public void ScanAudioLibrary()
        {
            Stopwatch stopwatch = ConsolePrintHelpers.PrintHeaderAndStartStopWatch();

            ConsolePrintHelpers.PrintWhiteText("  Scanning Audio Library Paths...\n\n");

            int rootDirectoryPrintCount = 1;

            foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
            {
                ConsolePrintHelpers.PrintWhiteText("\tPath (" + rootDirectoryPrintCount + " of " + _AudioLibraryRootDirectories.Count + "):  ");

                rootDirectoryPrintCount++;

                if (Directory.Exists(rootDirectory.AudioLibraryRootDirectoryPath))
                {
                    ConsolePrintHelpers.PrintGreenText(rootDirectory.AudioLibraryRootDirectoryPath + "   ");
                    ConsolePrintHelpers.PrintWhiteText("File Count :  ");

                    rootDirectory.CursorTop  = Console.CursorTop;
                    rootDirectory.CursorLeft = Console.CursorLeft;

                    Console.WriteLine("\n");

                    rootDirectory.ScanRootDirectoryPath();

                    if (rootDirectory.SubDirectories.Count < (Console.WindowHeight - Globals.AudioLibraryScanPrintMargin))
                    {
                        Console.WriteLine("\n");
                    }
                    else
                    {
                        Console.WriteLine();
                    }
                }
                else
                {
                    ConsolePrintHelpers.PrintRedText(rootDirectory.AudioLibraryRootDirectoryPath);
                    ConsolePrintHelpers.PrintWhiteText("   ERROR:  Invalid Path");
                    ConsolePrintHelpers.PressAnyKeyToExit();
                }
            }

            int cursorTop = Console.CursorTop - 3;

            foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
            {
                rootDirectory.ScanSubDirectories_Async();
            }

            string[] waitSequence = { "*", "**", "***", "   " };

            bool keepWaiting = true;

            while (keepWaiting)
            {
                foreach (string pattern in waitSequence)
                {
                    foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
                    {
                        Console.CursorTop  = rootDirectory.CursorTop;
                        Console.CursorLeft = rootDirectory.CursorLeft;

                        if (rootDirectory.HasFinished == true)
                        {
                            ConsolePrintHelpers.PrintCyanText(rootDirectory.GetFileCount().ToString() + "   ");
                        }
                        else
                        {
                            ConsolePrintHelpers.PrintCyanText(pattern);
                        }

                        if (rootDirectory.SubDirectories.Count < (Console.WindowHeight - Globals.AudioLibraryScanPrintMargin))
                        {
                            foreach (AudioLibrarySubDirectory subDirectory in rootDirectory.SubDirectories)
                            {
                                Console.CursorTop  = subDirectory.CursorTop;
                                Console.CursorLeft = subDirectory.CursorLeft;

                                if (subDirectory.HasFinished == true)
                                {
                                    ConsolePrintHelpers.PrintCyanText(subDirectory.GetFileCount().ToString() + "   ");
                                }
                                else
                                {
                                    ConsolePrintHelpers.PrintCyanText(pattern);
                                }
                            }
                        }
                    }

                    if (_AudioLibraryRootDirectories.All(rootDirectory => rootDirectory.HasFinished == true))
                    {
                        keepWaiting = false;

                        break;
                    }

                    Thread.Sleep(Globals.ProgressTickerDelayMilliseconds);
                }
            }

            foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
            {
                Console.CursorTop  = rootDirectory.CursorTop;
                Console.CursorLeft = rootDirectory.CursorLeft;
                ConsolePrintHelpers.PrintCyanText(rootDirectory.GetFileCount().ToString());

                _AudioLibraryFiles = _AudioLibraryFiles.Concat(rootDirectory.GetAudioLibraryFiles).ToList();
            }

            Console.CursorTop = cursorTop;
            ConsolePrintHelpers.PrintWhiteText("\n\n\n  Total File Count :  ");
            ConsolePrintHelpers.PrintCyanText(_AudioLibraryFiles.Count.ToString());

            foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
            {
                if (rootDirectory.AreShortcutsValid == false)
                {
                    ConsolePrintHelpers.PrintRedText("\n\n\n  ERROR  Invalid Shortcuts Provided To Arbitrary Mapped Drive. Shortcuts Should Be Targeting Directories And Files In:  ");
                    ConsolePrintHelpers.PrintWhiteText(_Config.AudioLibraryRoot);
                    ConsolePrintHelpers.PressAnyKeyToExit();
                }
            }

            if (_AudioLibraryFiles.Count == 0)
            {
                ConsolePrintHelpers.PrintRedText("\n\n\n  ERROR  No Audio Library Files Found");
                ConsolePrintHelpers.PressAnyKeyToExit();
            }

            foreach (AudioLibraryRootDirectory rootDirectory in _AudioLibraryRootDirectories)
            {
                if (rootDirectory.HasDetectedError)
                {
                    ConsolePrintHelpers.PrintRedText("\n\n\n  ERROR  Detected Bad Directory/File Name:  [" + rootDirectory.ErrorItem + "]");
                    Console.WriteLine("\n\n");
                    ConsolePrintHelpers.PrintRedText("  A Fix Has Been Attempted. Please Restart This Application.");
                    ConsolePrintHelpers.PressAnyKeyToExit();
                }
            }

            _AudioLibraryFiles = _AudioLibraryFiles.OrderBy(libraryFile => libraryFile.NormalizedSubDirectoriesFilePath).ToList();  //Helps to give consistent search results

            ConsolePrintHelpers.PrintDurationAndWait(stopwatch, "Audio Library Scan");

            GC.Collect();
        }
示例#23
0
        public void PrintAudioFileEncoding()
        {
            if (Globals.IsDevelopmentEnvironment)
            {
                _LSR.PrintAllLSRInfo();
            }
            else
            {
                _LSR.PrintProductionLSRInfo();
            }

            ConsolePrintHelpers.PrintGreenText("  Encoding ID                  ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_EncodingID.ToString());
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Is Approved                  ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_LSR.IsApproved)
            {
                ConsolePrintHelpers.PrintYellowText("True");
            }
            else
            {
                ConsolePrintHelpers.PrintCyanText("False");
            }
            Console.WriteLine();

            ConsolePrintHelpers.PrintGreenText("  Action Taken                 ");
            ConsolePrintHelpers.PrintWhiteText(":  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText(_CopyOrEncodeActionTaken);

            if (_FileToCopy != null)
            {
                Console.WriteLine("\n");

                if (_FileToCopy.LoadSheetRowNumber >= 0)  //Only print row number if it came from the load sheet with positive row number (Skip if from Encoding History File; LSRow# = -1)
                {
                    ConsolePrintHelpers.PrintGreenText("  Already Encoded LS Row #     ");
                    ConsolePrintHelpers.PrintWhiteText(":  ");
                    Console.CursorLeft = Globals.CursorsLeft[0];
                    ConsolePrintHelpers.PrintCyanText((_FileToCopy.LoadSheetRowNumber + 1).ToString());
                    Console.WriteLine();
                }

                ConsolePrintHelpers.PrintGreenText("  Source File Path             ");
                ConsolePrintHelpers.PrintWhiteText(":  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(_FileToCopy.SourceFilePath.ToString());
                Console.WriteLine();

                ConsolePrintHelpers.PrintGreenText("  Already Encoded File Path    ");
                ConsolePrintHelpers.PrintWhiteText(":  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(_FileToCopy.EncodedFilePath.ToString());
            }

            Console.WriteLine("\n");
        }
        public void PrintAODLoadSheetPretty_DEBUG()
        {
            List <int> cursorsLeft = AutoFitColumns();

            int currentColumnWidth;

            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing AOD Loadsheet (Pretty)...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            ConsolePrintHelpers.PrintWhiteText("  Header Row:\t");

            int cursorIterator = 0;

            foreach (string header in _AODLoadSheetHeaderRow)
            {
                Console.CursorLeft = cursorsLeft[cursorIterator];
                ConsolePrintHelpers.PrintWhiteText("[");
                ConsolePrintHelpers.PrintGreenText(header);
                ConsolePrintHelpers.PrintWhiteText("]");
                cursorIterator++;
            }

            Console.WriteLine();

            ConsolePrintHelpers.PrintFullWidthLine();

            foreach (AODLoadSheetRow lsr in _AODLoadSheetRows)
            {
                string columnValue = "";

                ConsolePrintHelpers.PrintWhiteText("  Row " + (lsr.LoadSheetRowNumber + 1) + ":\t");

                for (int i = 0; i < cursorsLeft.Count; i++)
                {
                    //Any updates here must also be updated in AutoFitColumns() method
                    if (i == 0)
                    {
                        columnValue = lsr.Airline;
                    }
                    if (i == 1)
                    {
                        columnValue = lsr.AltCycle;
                    }
                    if (i == 2)
                    {
                        columnValue = lsr.Artist;
                    }
                    if (i == 3)
                    {
                        columnValue = lsr.Album;
                    }
                    if (i == 4)
                    {
                        columnValue = lsr.TrackNumber;
                    }
                    if (i == 5)
                    {
                        columnValue = lsr.Track;
                    }
                    if (i == 6)
                    {
                        columnValue = lsr.OutputFilename;
                    }
                    if (i == 7)
                    {
                        columnValue = lsr.AudioType;
                    }
                    if (i == 8)
                    {
                        columnValue = lsr.ShipTo;
                    }
                    if (i == 9)
                    {
                        columnValue = lsr.Status;
                    }
                    if (i == 10)
                    {
                        break;
                    }

                    currentColumnWidth = cursorsLeft[i + 1] - cursorsLeft[i];
                    Console.CursorLeft = cursorsLeft[i];

                    ConsolePrintHelpers.PrintWhiteText("[");
                    if ((columnValue.Length + 2) >= currentColumnWidth)
                    {
                        ConsolePrintHelpers.PrintCyanText(columnValue.Remove(currentColumnWidth - 6) + "...");
                    }
                    else
                    {
                        ConsolePrintHelpers.PrintCyanText(columnValue);
                    }
                    ConsolePrintHelpers.PrintWhiteText("]");
                }

                Console.WriteLine();
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        public void ReadLoadSheet()
        {
            Stopwatch stopwatch = ConsolePrintHelpers.PrintHeaderAndStartStopWatch();

            ConsolePrintHelpers.PrintWhiteText("  Reading AOD Loadsheet...\n\n\n");

            PrepareLoadSheetBackup();

            _AlreadyEncodedCount   = 0;
            _IsRowAlreadyEncoded   = false;
            _IsRowAltCycleNotValid = false;

            List <int>    incompleteAODLoadSheetRowNums = new List <int>();
            List <string> rowCells;

            IWorkbook workbook = ReadWorkBook();
            ISheet    sheet    = workbook.GetSheet(_Config.AODLoadSheetWorkSheetName);

            ConsolePrintHelpers.PrintWhiteText("  Total Row Count       :  ");
            int cursorLeft = Console.CursorLeft;

            foreach (IRow row in sheet)
            {
                Console.CursorLeft = cursorLeft;
                ConsolePrintHelpers.PrintCyanText(row.RowNum.ToString());

                rowCells = ReadLoadSheetRow(row);

                if (_Config.AODLoadSheetColumnNumsRead.Length == rowCells.Count)  //check that we successfully extracted text in all cells that we want for this row (if it was already 'Encoded', it will not be added)
                {
                    if (row.RowNum == 0)
                    {
                        _AODLoadSheetHeaderRow = new List <string>(rowCells);
                    }
                    else if (_IsRowAlreadyEncoded == false && _IsRowAltCycleNotValid == false)
                    {
                        _AODLoadSheetRows.Add(new AODLoadSheetRow(row.RowNum, rowCells, _Config));
                    }
                    else if (_IsRowAlreadyEncoded == false && _IsRowAltCycleNotValid == true)
                    {
                        incompleteAODLoadSheetRowNums.Add(row.RowNum);  //Invalid alt. cycle code
                    }
                }
                else if (rowCells.Count > _Config.AODLoadSheetOptionalColumnNumsRead.Count() && _IsRowAlreadyEncoded == false)
                {
                    //Missing column data in loadsheet row (we skip this row as it is incomplete)... Must have text in one of the columns not including the optional cells
                    incompleteAODLoadSheetRowNums.Add(row.RowNum);
                }

                _IsRowAlreadyEncoded   = false;
                _IsRowAltCycleNotValid = false;
            }

            workbook.Close();

            ConsolePrintHelpers.PrintWhiteText("\n  Rows Already Encoded  :  ");
            ConsolePrintHelpers.PrintCyanText(_AlreadyEncodedCount.ToString());

            ConsolePrintHelpers.PrintWhiteText("\n  Rows Not Yet Encoded  :  ");
            ConsolePrintHelpers.PrintCyanText(_AODLoadSheetRows.Count.ToString());

            ConsolePrintHelpers.PrintWhiteText("\n  Incomplete Rows       :  ");
            ConsolePrintHelpers.PrintCyanText(incompleteAODLoadSheetRowNums.Count.ToString());
            Console.WriteLine("\n\n");

            UpdateLoadSheetIncompleteRows(incompleteAODLoadSheetRowNums);

            ConsolePrintHelpers.PrintDurationAndWait(stopwatch, "Read Loadsheet");

            GC.Collect();
        }
        public void PrintManualOptions(AudioFileOption selectedOption, ManualSelectionType type, bool printSkipChoices)
        {
            if (type != ManualSelectionType.None && type != ManualSelectionType.Encoding)
            {
                int cursorTopChange = 6 + (_AudioFileOptions.Count * 2);

                Console.CursorTop -= cursorTopChange;
            }

            Console.WriteLine();

            int longestPathLength = 0;
            int currentPathLength;

            foreach (AudioFileOption option in _AudioFileOptions)
            {
                currentPathLength = 10 + option.LibraryFile.FullPath.Length;

                if (currentPathLength > longestPathLength)
                {
                    longestPathLength = currentPathLength;
                }
            }

            int selection = 0;

            foreach (AudioFileOption option in _AudioFileOptions)
            {
                Console.CursorLeft = 5;

                ConsolePrintHelpers.PrintGreenText(selection.ToString());
                ConsolePrintHelpers.PrintWhiteText(" ► ");

                bool isSelected = false;

                if ((type == ManualSelectionType.Selected || type == ManualSelectionType.Encoding) && option.LibraryFile.FullPath == selectedOption.LibraryFile.FullPath)
                {
                    ConsolePrintHelpers.PrintGreenText(option.LibraryFile.FullPath);

                    isSelected = true;
                }
                else if (type == ManualSelectionType.Confirm && option.LibraryFile.FullPath == selectedOption.LibraryFile.FullPath)
                {
                    ConsolePrintHelpers.PrintCyanText(option.LibraryFile.FullPath);

                    isSelected = true;
                }
                else
                {
                    ConsolePrintHelpers.PrintWhiteText(option.LibraryFile.FullPath);
                }

                string visualAlignmentBar = " ";

                for (int i = Console.CursorLeft; i < longestPathLength; i++)
                {
                    visualAlignmentBar += "─";
                }

                ConsolePrintHelpers.PrintDarkGrayText(visualAlignmentBar);

                Console.CursorLeft = longestPathLength;
                ConsolePrintHelpers.PrintWhiteText(" ◄ ");
                ConsolePrintHelpers.PrintGreenText(selection.ToString());
                ConsolePrintHelpers.PrintWhiteText("   [");

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText("Cycle: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText("Cycle: ");
                }

                if (option.LibraryFile.Cycle != "")
                {
                    ConsolePrintHelpers.PrintCyanText(option.LibraryFile.Cycle.ToString().PadLeft(4));
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText("----");
                }

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText(",  Airline: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(",  Airline: ");
                }

                if (option.LibraryFile.IsAirlineDetected)
                {
                    ConsolePrintHelpers.PrintYellowText(option.LibraryFile.AirlineCode.ToString().PadLeft(2));
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText("--");
                }

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText(",  AudioType: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(",  AudioType: ");
                }

                if (option.LibraryFile.AudioType != "")
                {
                    ConsolePrintHelpers.PrintGreenText(option.LibraryFile.AudioType.ToString().PadLeft(9));
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText("---------");
                }

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText(",  Track #: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(",  Track #: ");
                }

                if (option.LibraryFile.IsTrackNumberDetected)
                {
                    ConsolePrintHelpers.PrintDarkCyanText(option.LibraryFile.TrackNumber.ToString().PadLeft(3));
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText("---");
                }

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText(",  Score: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(",  Score: ");
                }

                ConsolePrintHelpers.PrintDarkYellowText(option.AccuracyScore.ToString().PadLeft(4));

                if (isSelected)
                {
                    ConsolePrintHelpers.PrintWhiteText(",  Points: ");
                }
                else
                {
                    ConsolePrintHelpers.PrintDarkGrayText(",  Points: ");
                }

                ConsolePrintHelpers.PrintDarkMagentaText(option.GetTotalPoints().ToString().PadLeft(3));
                ConsolePrintHelpers.PrintWhiteText("]\n\n");

                selection++;
            }

            if (printSkipChoices)
            {
                Console.CursorLeft = 5;
                ConsolePrintHelpers.PrintGreenText("S");
                ConsolePrintHelpers.PrintWhiteText(" ► ");

                if (type == ManualSelectionType.SkipSelected)
                {
                    ConsolePrintHelpers.PrintGreenText("Skip This Row\n\n");
                }
                else if (type == ManualSelectionType.SkipConfirm)
                {
                    ConsolePrintHelpers.PrintCyanText("Skip This Row\n\n");
                }
                else
                {
                    ConsolePrintHelpers.PrintWhiteText("Skip This Row\n\n");
                }

                Console.CursorLeft = 5;
                ConsolePrintHelpers.PrintGreenText("X");
                ConsolePrintHelpers.PrintWhiteText(" ► ");

                if (type == ManualSelectionType.SkipAllSelected)
                {
                    ConsolePrintHelpers.PrintGreenText("Skip All Remaining Rows\n\n");
                }
                else if (type == ManualSelectionType.SkipAllConfirm)
                {
                    ConsolePrintHelpers.PrintCyanText("Skip All Remaining Rows\n\n");
                }
                else
                {
                    ConsolePrintHelpers.PrintWhiteText("Skip All Remaining Rows\n\n");
                }

                ConsolePrintHelpers.PrintWhiteText("\n  Choice ►");
                ConsolePrintHelpers.PrintGreenText("");
                Console.CursorLeft += 1;  //Would oddly chop off the choice's left side of the user inputted character ('0' would look like a backwards 'C')
            }
        }
        public void PrintTokensPerRowAllRows_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing AOD Loadsheet Tokens Per Row...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            foreach (AODLoadSheetRow lsr in _AODLoadSheetRows)
            {
                ConsolePrintHelpers.PrintFullWidthLine();

                ConsolePrintHelpers.PrintWhiteText("  Cycle            :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.Cycle);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string cycleToken in lsr.Tokens.CycleTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(cycleToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Airline          :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.Airline);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string airlineToken in lsr.Tokens.AirlineTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(airlineToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Audio Type       :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.AudioType);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string audioTypeToken in lsr.Tokens.AudioTypeTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(audioTypeToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Artist           :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.Artist);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string artistToken in lsr.Tokens.ArtistTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(artistToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Album            :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.Album);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string albumToken in lsr.Tokens.AlbumTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(albumToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Track #          :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.TrackNumber);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string trackNumberToken in lsr.Tokens.TrackNumberTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(trackNumberToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Track            :  ");
                Console.CursorLeft = Globals.CursorsLeft[0];
                ConsolePrintHelpers.PrintCyanText(lsr.Track);
                Console.CursorLeft = Globals.CursorsLeft[1];
                ConsolePrintHelpers.PrintWhiteText("Tokens:  ");

                foreach (string trackToken in lsr.Tokens.TrackTokens.GetTokens)
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintGreenText(trackToken);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }
                Console.WriteLine("\n");
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
示例#28
0
        public void PrintEncodingQueue_DEBUG(AudioEncoderController controller)
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Encoding Queue...");

            PrintPendingCopyOrEncodeStats();

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n");

            foreach (AudioFileEncoding encoding in _EncodingQueue)
            {
                ConsolePrintHelpers.PrintFullWidthLine();

                ConsolePrintHelpers.PrintWhiteText("  Encoding ID           :  ");
                ConsolePrintHelpers.PrintCyanText(encoding.EncodingID.ToString());
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Load Sheet Row #      :  ");
                ConsolePrintHelpers.PrintCyanText((encoding.LSR.LoadSheetRowNumber + 1).ToString());
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Source File Size      :  ");
                ConsolePrintHelpers.PrintCyanText((encoding.LSR.SuggestedAudioFile.FileSize / 1024 / 1024).ToString() + " MB");
                Console.WriteLine("\n");

                ConsolePrintHelpers.PrintWhiteText("  Source File           :  ");
                ConsolePrintHelpers.PrintCyanText(encoding.LSR.SuggestedAudioFile.FullPath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Destination File      :  ");
                ConsolePrintHelpers.PrintCyanText(encoding.LSR.DestinationPath);
                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Destination File Ext  :  ");
                ConsolePrintHelpers.PrintCyanText(encoding.LSR.OutputFilenameExtension);
                Console.WriteLine("\n");

                ConsolePrintHelpers.PrintWhiteText("  Copy Or Encode        :  ");

                if (encoding.TryToCopyAlreadyEncodedFile)
                {
                    AlreadyEncodedFile file = controller.History.GetAlreadyEncodedFileAndReCheckValidation(encoding);

                    if (file != null)  //Already Encoded File found
                    {
                        ConsolePrintHelpers.PrintYellowText("Copy Already Encoded File");
                    }
                    else
                    {
                        AudioFileEncoding activeEncoding = controller.GetActiveEncodingForPendingCopy(encoding);

                        if (activeEncoding != null)  //Pending active encoding should be creating the Already Encoded file we seek
                        {
                            file = activeEncoding.LSR.PotentialFile;

                            ConsolePrintHelpers.PrintYellowText("Copy from Active Encoding (ID: " + activeEncoding.EncodingID.ToString() + ")");
                        }
                        else
                        {
                            ConsolePrintHelpers.PrintRedText("Encode (No Eligible File To Copy Found)");
                        }
                    }

                    if (file != null)
                    {
                        Console.WriteLine("\n");
                        ConsolePrintHelpers.PrintWhiteText("  Load Sheet Row #      :  ");
                        ConsolePrintHelpers.PrintGreenText((file.LoadSheetRowNumber + 1).ToString());
                        Console.WriteLine();
                        ConsolePrintHelpers.PrintWhiteText("  Source File           :  ");

                        if (encoding.LSR.SuggestedAudioFile.FullPath == file.SourceFilePath)
                        {
                            ConsolePrintHelpers.PrintGreenText(file.SourceFilePath);
                        }
                        else
                        {
                            ConsolePrintHelpers.PrintRedText(file.SourceFilePath);
                        }

                        Console.WriteLine();
                        ConsolePrintHelpers.PrintWhiteText("  Encoded File          :  ");

                        if (encoding.LSR.OutputFilenameExtension == file.EncodedFileExtension)
                        {
                            ConsolePrintHelpers.PrintGreenText(file.EncodedFilePath);
                            Console.WriteLine();
                            ConsolePrintHelpers.PrintWhiteText("  Encoded File Ext      :  ");
                            ConsolePrintHelpers.PrintGreenText(file.EncodedFileExtension);
                        }
                        else
                        {
                            ConsolePrintHelpers.PrintRedText(file.EncodedFilePath);
                            Console.WriteLine();
                            ConsolePrintHelpers.PrintWhiteText("  Encoded File Ext      :  ");
                            ConsolePrintHelpers.PrintRedText(file.EncodedFileExtension);
                        }
                    }
                }
                else
                {
                    ConsolePrintHelpers.PrintCyanText("Encode");
                }

                Console.WriteLine("\n");
            }

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }
        public void PrintSuggestedAudioFileInfo(bool isManuallySelected)
        {
            ConsolePrintHelpers.PrintWhiteText("  Suggested Audio File Path    :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_AccuracyType == AccuracyType.Accurate || isManuallySelected)
            {
                ConsolePrintHelpers.PrintGreenText(_FullPath);
            }
            else if (_AccuracyType == AccuracyType.Questionable)
            {
                ConsolePrintHelpers.PrintYellowText(_FullPath);
            }
            else
            {
                ConsolePrintHelpers.PrintRedText(_FullPath);
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Accuracy Score               :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_AccuracyType == AccuracyType.Accurate || isManuallySelected)
            {
                ConsolePrintHelpers.PrintGreenText(_AccuracyScore.ToString());
            }
            else if (_AccuracyType == AccuracyType.Questionable)
            {
                ConsolePrintHelpers.PrintYellowText(_AccuracyScore.ToString());
            }
            else
            {
                ConsolePrintHelpers.PrintRedText(_AccuracyScore.ToString());
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Total Points                 :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_AccuracyType == AccuracyType.Accurate || isManuallySelected)
            {
                ConsolePrintHelpers.PrintGreenText(_TotalPoints.ToString());
            }
            else if (_AccuracyType == AccuracyType.Questionable)
            {
                ConsolePrintHelpers.PrintYellowText(_TotalPoints.ToString());
            }
            else
            {
                ConsolePrintHelpers.PrintRedText(_TotalPoints.ToString());
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Accuracy Note                :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            if (_AccuracyType == AccuracyType.Accurate || isManuallySelected)
            {
                ConsolePrintHelpers.PrintGreenText(_AccuracyNote);
            }
            else if (_AccuracyType == AccuracyType.Questionable)
            {
                ConsolePrintHelpers.PrintYellowText(_AccuracyNote);
            }
            else
            {
                ConsolePrintHelpers.PrintRedText(_AccuracyNote);
            }
            Console.WriteLine("\n");

            ConsolePrintHelpers.PrintWhiteText("  Suggested Audio File Size    :  ");
            Console.CursorLeft = Globals.CursorsLeft[0];
            ConsolePrintHelpers.PrintCyanText((_FileSize / 1024 / 1024).ToString() + " MB");
            Console.WriteLine("\n");
        }
        public void PrintAudioLibraryFileInfo_DEBUG()
        {
            ConsolePrintHelpers.PrintHeader();

            ConsolePrintHelpers.PrintWhiteText("  Printing Audio Library File Info...");

            ConsolePrintHelpers.Wait();

            Console.WriteLine("\n\n");

            foreach (AudioLibraryFile file in _AudioLibraryFiles)
            {
                ConsolePrintHelpers.PrintFullWidthLine();

                ConsolePrintHelpers.PrintWhiteText("  Full Path                :  ");
                ConsolePrintHelpers.PrintCyanText(file.FullPath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Sub-Directories Path     :  ");
                ConsolePrintHelpers.PrintCyanText(file.SubDirectoriesPath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Sub-Dir Path (no dia.)   :  ");
                ConsolePrintHelpers.PrintCyanText(file.NoDiacriticsSubDirectoriesPath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Sub-Dir Path (normal.)   :  ");
                ConsolePrintHelpers.PrintCyanText(file.NormalizedSubDirectoriesPath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Sub-Dir-File (no dia.)   :  ");
                ConsolePrintHelpers.PrintCyanText(file.NoDiacriticsSubDirectoriesFilePath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Sub-Dir-File (normal.)   :  ");
                ConsolePrintHelpers.PrintCyanText(file.NormalizedSubDirectoriesFilePath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Filename                 :  ");
                ConsolePrintHelpers.PrintCyanText(file.Filename + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Filename (no diacritics) :  ");
                ConsolePrintHelpers.PrintCyanText(file.NoDiacriticsFilename + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Filename (normalized)    :  ");
                ConsolePrintHelpers.PrintCyanText(file.NormalizedFilename + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Track Number             :  ");
                ConsolePrintHelpers.PrintCyanText(file.TrackNumber + "\n");

                ConsolePrintHelpers.PrintWhiteText("  TrackNumber Pattern      :  ");
                ConsolePrintHelpers.PrintCyanText("[" + file.TrackNumberPattern + "]" + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Last Modified Date       :  ");
                ConsolePrintHelpers.PrintCyanText(file.ModifiedDate + "\n");

                ConsolePrintHelpers.PrintWhiteText("  File Size                :  ");
                ConsolePrintHelpers.PrintCyanText(file.FileSize + " bytes\n\n");

                ConsolePrintHelpers.PrintWhiteText("  Airline Code             :  ");
                ConsolePrintHelpers.PrintCyanText(file.AirlineCode + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Airline                  :  ");
                ConsolePrintHelpers.PrintCyanText(file.Airline + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Cycle Codes              :  ");
                foreach (string cycleCode in file.GetCycleCodes())
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintCyanText(cycleCode);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }

                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Appl. Dir+File (no dia)  :  ");
                ConsolePrintHelpers.PrintCyanText(file.NoDiacriticsApplicableSubDirectoriesFilePath + "\n");

                ConsolePrintHelpers.PrintWhiteText("  Appl. Dir+File (normal)  :  ");
                ConsolePrintHelpers.PrintCyanText(file.NormalizedApplicableSubDirectoriesFilePath + "\n");

                Console.WriteLine();

                ConsolePrintHelpers.PrintWhiteText("  Applicable Tokens        :  ");
                foreach (string token in file.GetApplicableTokens())
                {
                    ConsolePrintHelpers.PrintWhiteText("[");
                    ConsolePrintHelpers.PrintCyanText(token);
                    ConsolePrintHelpers.PrintWhiteText("]  ");
                }

                Console.WriteLine();
            }

            ConsolePrintHelpers.PrintWhiteText("\n\n  Total File Count: ");
            ConsolePrintHelpers.PrintCyanText(_AudioLibraryFiles.Count.ToString());

            ConsolePrintHelpers.PressAnyKeyToContinue();
        }