private void WriteWorkbook(IWorkbook workbook, int cursorLeft) { if (!File.Exists(_Config.AODLoadSheetFilePath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing AOD Loadsheet: "); ConsolePrintHelpers.PrintWhiteText(_Config.AODLoadSheetFilePath); ConsolePrintHelpers.PressAnyKeyToExit(); } try { using (FileStream fsWrite = new FileStream(_Config.AODLoadSheetFilePath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { workbook.Write(fsWrite); fsWrite.Close(); } workbook.Close(); Console.CursorLeft = cursorLeft; ConsolePrintHelpers.PrintYellowText("Updated"); } catch (Exception) { Console.WriteLine("\n\n"); ConsolePrintHelpers.PrintRedText(" ERROR: Unable To Update AOD Loadsheet Already Open In Excel\n\n\n"); ConsolePrintHelpers.PrintRedText(" This Software Will Continue Once The Open Loadsheet Is Closed : "); ConsolePrintHelpers.PrintWhiteText(_Config.AODLoadSheetFilePath); Console.WriteLine("\n\n"); bool updateSuccessful = false; while (!updateSuccessful) { try { using (FileStream fsWrite = new FileStream(_Config.AODLoadSheetFilePath, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { workbook.Write(fsWrite); fsWrite.Close(); } workbook.Close(); Console.CursorTop -= 9; Console.CursorLeft = cursorLeft; ConsolePrintHelpers.PrintYellowText("Updated"); Console.CursorTop += 9; updateSuccessful = true; } catch (Exception) { ConsolePrintHelpers.Retry(); } } } IncrementalLoadSheetBackup(); }
public void ReadHistoryFromFiles() { ConsolePrintHelpers.PrintYellowText("\n\n\n Reading And Validating History Files"); ConsolePrintHelpers.PrintWhiteText(" ► "); bool cancelProgressTicker = false; Task ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker)); List <Task> readingTasks = new List <Task>(); readingTasks.Add(Task.Run(() => ReadApprovedLoadSheetRowsFromFile())); readingTasks.Add(Task.Run(() => ReadAlreadyEncodedFilesFromFile())); Task.WaitAll(readingTasks.ToArray()); DeleteSeveredAlreadyEncodedFiles(); GC.Collect(); cancelProgressTicker = true; ticker.Wait(); ConsolePrintHelpers.PrintYellowText("Done"); }
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(); }
public void WriteEncodingHistoryToFile(bool printProgress) { bool cancelProgressTicker = false; Task ticker = null; if (printProgress) { ConsolePrintHelpers.PrintYellowText("\n\n\n [DO NOT CLOSE CONSOLE WINDOW] Updating Encoding History File"); ConsolePrintHelpers.PrintWhiteText(" ► "); int cursorLeft = Console.CursorLeft; Console.WriteLine("\n\n"); Console.CursorTop -= 3; Console.CursorLeft = cursorLeft; ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker)); } foreach (AlreadyEncodedFile file in _AlreadyEncodedFiles.Skip(Globals.MaximumLinesForHistoryFiles)) //If history is too large, delete oldest files (end of list) { DeleteAlreadyEncodedFile(file); } List <string> linesList = new List <string>(); foreach (AlreadyEncodedFile file in _AlreadyEncodedFiles.Take(Globals.MaximumLinesForHistoryFiles)) //If history is too large, only keep records of newest files (front of list) { if (file.IsValid) //No Re-checkIfValid() because when lines are read back in from file they are re-checked. { string line = file.EncodedFilePath + "*" + file.EncodedFileModifiedDate + "*" + file.EncodedFileSize.ToString() + "*" + file.SourceFilePath + "*" + file.SourceFileModifiedDate + "*" + file.SourceFileSize.ToString() + "*" + file.EncodedStatus; linesList.Add(line); } } try { File.WriteAllLines(_EncodingHistoryFilePath, linesList); } catch (Exception) { } if (printProgress) { cancelProgressTicker = true; ticker.Wait(); ConsolePrintHelpers.PrintYellowText("Updated"); } }
private bool PromptToViewSkippedEncodings() { ConsolePrintHelpers.PrintWhiteText("\n\n\n Please Select...\n\n"); ConsolePrintHelpers.PrintGreenText(" 1"); ConsolePrintHelpers.PrintWhiteText(" ► Exit Application\n\n"); ConsolePrintHelpers.PrintGreenText(" 2"); ConsolePrintHelpers.PrintWhiteText(" ► View Skipped Encodings\n\n"); Console.WriteLine("\n\n"); Console.CursorTop -= 3; 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(true); } if (keyPressed.KeyChar == '2') { return(false); } } } }
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(); }
private bool PromptToManuallyAssignSkippedEncodings() { ConsolePrintHelpers.PrintWhiteText("\n\n\n Please Select...\n\n"); ConsolePrintHelpers.PrintGreenText(" 1"); ConsolePrintHelpers.PrintWhiteText(" ► Manually Assign Source Files For Skipped Encodings\n\n"); ConsolePrintHelpers.PrintGreenText(" 2"); ConsolePrintHelpers.PrintWhiteText(" ► Continue With Skipped Encodings\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(true); } if (keyPressed.KeyChar == '2') { return(false); } } } }
public void WriteApprovalHistoryToFile(bool printProgress) { bool cancelProgressTicker = false; Task ticker = null; if (printProgress) { ConsolePrintHelpers.PrintYellowText("\n\n\n [DO NOT CLOSE CONSOLE WINDOW] Updating Approval History File"); ConsolePrintHelpers.PrintWhiteText(" ► "); ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker)); } List <string> linesList = new List <string>(); foreach (ApprovedLoadSheetRow approvedLSR in _ApprovedLoadSheetRows.Take(Globals.MaximumLinesForHistoryFiles)) //Trim history if too large (long term performance concerns) { if (approvedLSR.IsValid) //No Re-checkIfValid() because when lines are read back in from file they are re-checked. { string line = approvedLSR.SourceFilePath + "*" + approvedLSR.SourceFileModifiedDate + "*" + approvedLSR.SourceFileSize.ToString() + "*" + approvedLSR.LoadSheetRowHash + "*" + approvedLSR.TotalPoints + "*" + approvedLSR.AccuracyScore.ToString() + "*" + approvedLSR.AccuracyType.ToString(); linesList.Add(line); } } try { File.WriteAllLines(_ApprovalHistoryFilePath, linesList); } catch (Exception) { } if (printProgress) { cancelProgressTicker = true; ticker.Wait(); ConsolePrintHelpers.PrintYellowText("Updated"); } }
public void WriteHistoryToFiles() { ConsolePrintHelpers.PrintYellowText("\n\n\n [DO NOT CLOSE CONSOLE WINDOW] Updating All History Files"); ConsolePrintHelpers.PrintWhiteText(" ► "); int cursorLeft = Console.CursorLeft; Console.WriteLine("\n\n"); Console.CursorTop -= 3; List <Task> writingTasks = new List <Task>(); writingTasks.Add(Task.Run(() => WriteApprovalHistoryToFile(false))); writingTasks.Add(Task.Run(() => WriteEncodingHistoryToFile(false))); Task.WaitAll(writingTasks.ToArray()); Console.CursorLeft = cursorLeft; ConsolePrintHelpers.PrintYellowText("Updated"); }
public void AddNewApprovedLoadSheetRow(AODLoadSheetRow lsr) { ConsolePrintHelpers.PrintYellowText("\n\n Adding New Approved Row To History"); ConsolePrintHelpers.PrintWhiteText(" ► "); if (lsr.IsSuggestedAudioFileAssigned && lsr.SuggestedAudioFile.AccuracyType != AccuracyType.Accurate && lsr.IsApproved) //Inaccurate and already manually 'Approved' { ApprovedLoadSheetRow approvedLSR = new ApprovedLoadSheetRow(lsr); if (approvedLSR.IsValid) //No check on unique lsr hashes, as they would all be unique at this point (would be already re-approved) { _ApprovedLoadSheetRows.AddFirst(approvedLSR); //Add to BEGINNING of list (most recent NEW approvedLSRs first) ConsolePrintHelpers.PrintYellowText("Added"); return; } } ConsolePrintHelpers.PrintRedText("Not Added"); }
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()); }
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 UpdateLoadSheetFinishedEncodings(List <AudioFileEncoding> finishedEncodings) { if (finishedEncodings.Count == 0) { ConsolePrintHelpers.PrintYellowText("\n\n\n AODLoadsheet Is Current..."); return; } finishedEncodings = finishedEncodings.OrderBy(encoding => encoding.LSR.LoadSheetRowNumber).ToList(); ConsolePrintHelpers.PrintYellowText("\n\n\n [DO NOT CLOSE CONSOLE WINDOW] Updating AODLoadsheet Rows. Range: "); ConsolePrintHelpers.PrintWhiteText((finishedEncodings.First().LSR.LoadSheetRowNumber + 1).ToString() + " thru " + (finishedEncodings.Last().LSR.LoadSheetRowNumber + 1).ToString() + " ► "); int cursorLeft = Console.CursorLeft; Console.WriteLine("\n\n"); Console.CursorTop -= 3; IWorkbook workbook = ReadWorkBook(); ISheet sheet = workbook.GetSheet(_Config.AODLoadSheetWorkSheetName); IRow row; ICell cell; XSSFCellStyle green = (XSSFCellStyle)workbook.CreateCellStyle(); byte[] rgb = new byte[3] { 0, 176, 80 }; green.SetFillForegroundColor(new XSSFColor(rgb)); green.FillPattern = FillPattern.SolidForeground; green.BorderTop = BorderStyle.Thin; green.BorderBottom = BorderStyle.Thin; green.BorderLeft = BorderStyle.Thin; green.BorderRight = BorderStyle.Thin; green.Alignment = HorizontalAlignment.Left; green.VerticalAlignment = VerticalAlignment.Center; ICellStyle yellow = workbook.CreateCellStyle(); yellow.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightYellow.Index; yellow.FillPattern = FillPattern.SolidForeground; yellow.BorderTop = BorderStyle.Thin; yellow.BorderBottom = BorderStyle.Thin; yellow.BorderLeft = BorderStyle.Thin; yellow.BorderRight = BorderStyle.Thin; yellow.Alignment = HorizontalAlignment.Left; yellow.VerticalAlignment = VerticalAlignment.Center; ICellStyle red = workbook.CreateCellStyle(); red.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Red.Index; red.FillPattern = FillPattern.SolidForeground; red.BorderTop = BorderStyle.Thin; red.BorderBottom = BorderStyle.Thin; red.BorderLeft = BorderStyle.Thin; red.BorderRight = BorderStyle.Thin; red.Alignment = HorizontalAlignment.Left; red.VerticalAlignment = VerticalAlignment.Center; ICellStyle blue = workbook.CreateCellStyle(); blue.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index; blue.FillPattern = FillPattern.SolidForeground; blue.BorderTop = BorderStyle.Thin; blue.BorderBottom = BorderStyle.Thin; blue.BorderLeft = BorderStyle.Thin; blue.BorderRight = BorderStyle.Thin; blue.Alignment = HorizontalAlignment.Left; blue.VerticalAlignment = VerticalAlignment.Center; foreach (AudioFileEncoding finishedEncoding in finishedEncodings) { AODLoadSheetRow lsr = finishedEncoding.LSR; row = sheet.GetRow(lsr.LoadSheetRowNumber) ?? sheet.CreateRow(lsr.LoadSheetRowNumber); if ((lsr.SuggestedAudioFile.AccuracyType == AccuracyType.Accurate || lsr.IsApproved) && (lsr.EncodingResult == Globals.Encoded || lsr.EncodingResult == Globals.Copied)) { foreach (int colNum in _Config.AODLoadSheetColumnNumsWrite) { cell = row.GetCell(colNum) ?? row.CreateCell(colNum); if (colNum == _Config.AODLoadSheetColumnNumsWrite[0]) { cell.SetCellValue(lsr.SuggestedAudioFile.FullPath); cell.CellStyle = green; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[1]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyScore); cell.CellStyle = green; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[2]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyNote); if (lsr.SuggestedAudioFile.AccuracyNote != Globals.HistoricalApprovalNote) { cell.CellStyle = green; } else { cell.CellStyle = blue; } } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[3]) { cell.SetCellValue(lsr.EncodingResult); cell.CellStyle = green; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[4]) { cell.SetCellValue(lsr.DestinationPath); cell.CellStyle = green; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[5]) { cell.SetCellValue(lsr.EncodedFileDurationPretty); cell.CellStyle = green; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[6]) { cell.SetCellValue(lsr.EncodedFileDurationSeconds); cell.CellStyle = green; } } } else if (lsr.SuggestedAudioFile.AccuracyType == AccuracyType.Questionable && lsr.EncodingResult == Globals.Skipped) { foreach (int colNum in _Config.AODLoadSheetColumnNumsWrite) { cell = row.GetCell(colNum) ?? row.CreateCell(colNum); if (colNum == _Config.AODLoadSheetColumnNumsWrite[0]) { cell.SetCellValue(lsr.SuggestedAudioFile.FullPath); cell.CellStyle = yellow; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[1]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyScore); cell.CellStyle = yellow; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[2]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyNote); if (lsr.SuggestedAudioFile.AccuracyNote != Globals.HistoricalApprovalNote) { cell.CellStyle = yellow; } else { cell.CellStyle = blue; } } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[3]) { cell.SetCellValue(lsr.EncodingResult); cell.CellStyle = yellow; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[4]) { cell.SetCellValue(lsr.DestinationPath); cell.CellStyle = yellow; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[5]) { cell.SetCellValue(Globals.Skipped); cell.CellStyle = yellow; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[6]) { cell.SetCellValue(Globals.Skipped); cell.CellStyle = yellow; } } } else //AccuracyType.HighRisk or EncodingResult == "Failed: ..." { foreach (int colNum in _Config.AODLoadSheetColumnNumsWrite) { cell = row.GetCell(colNum) ?? row.CreateCell(colNum); if (colNum == _Config.AODLoadSheetColumnNumsWrite[0]) { cell.SetCellValue(lsr.SuggestedAudioFile.FullPath); cell.CellStyle = red; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[1]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyScore); cell.CellStyle = red; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[2]) { cell.SetCellValue(lsr.SuggestedAudioFile.AccuracyNote); if (lsr.SuggestedAudioFile.AccuracyNote != Globals.HistoricalApprovalNote) { cell.CellStyle = red; } else { cell.CellStyle = blue; } } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[3]) { cell.SetCellValue(lsr.EncodingResult); cell.CellStyle = red; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[4]) { cell.SetCellValue(lsr.DestinationPath); cell.CellStyle = red; } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[5]) { if (lsr.EncodingResult == Globals.Skipped) { cell.SetCellValue(Globals.Skipped); cell.CellStyle = red; } else { cell.SetCellValue(Globals.Failed); cell.CellStyle = red; } } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[6]) { if (lsr.EncodingResult == Globals.Skipped) { cell.SetCellValue(Globals.Skipped); cell.CellStyle = red; } else { cell.SetCellValue(Globals.Failed); cell.CellStyle = red; } } } } } WriteWorkbook(workbook, cursorLeft); }
private void UpdateLoadSheetIncompleteRows(List <int> incompleteAODLoadSheetRowNums) { if (incompleteAODLoadSheetRowNums.Count == 0) { ConsolePrintHelpers.PrintYellowText(" AODLoadsheet Has No Incomplete Rows..."); return; } ConsolePrintHelpers.PrintYellowText(" [DO NOT CLOSE CONSOLE WINDOW] Updating AODLoadsheet Incomplete Rows. Range: "); ConsolePrintHelpers.PrintWhiteText((incompleteAODLoadSheetRowNums.First() + 1).ToString() + " thru " + (incompleteAODLoadSheetRowNums.Last() + 1).ToString() + " ► "); int cursorLeft = Console.CursorLeft; IWorkbook workbook = ReadWorkBook(); ISheet sheet = workbook.GetSheet(_Config.AODLoadSheetWorkSheetName); IRow row; ICell cell; ICellStyle red = workbook.CreateCellStyle(); red.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Red.Index; red.FillPattern = FillPattern.SolidForeground; red.BorderTop = BorderStyle.Thin; red.BorderBottom = BorderStyle.Thin; red.BorderLeft = BorderStyle.Thin; red.BorderRight = BorderStyle.Thin; red.Alignment = HorizontalAlignment.Left; red.VerticalAlignment = VerticalAlignment.Center; string acceptableOutputExtensions = ""; foreach (string ext in Globals.AcceptableOutputExtensions) { acceptableOutputExtensions += (ext + ", "); } acceptableOutputExtensions = acceptableOutputExtensions.Remove(acceptableOutputExtensions.Length - 2); foreach (int rowNum in incompleteAODLoadSheetRowNums) { row = sheet.GetRow(rowNum) ?? sheet.CreateRow(rowNum); foreach (int colNum in _Config.AODLoadSheetColumnNumsWrite) { cell = row.GetCell(colNum) ?? row.CreateCell(colNum); if (colNum == _Config.AODLoadSheetColumnNumsWrite[0]) { cell.SetCellValue("Incomplete Row: Must have [Airline (Valid Code) / Alt. Cycle (Optional Valid Cycle) / Artist / Album / Track# (Integer) / Track / Filename (" + acceptableOutputExtensions + ") / AudioType / ShipTo / NO DATES]"); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[1]) { cell.SetCellValue(Globals.Skipped); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[2]) { cell.SetCellValue(Globals.Skipped); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[3]) { cell.SetCellValue(Globals.Skipped); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[4]) { cell.SetCellValue(Globals.Skipped); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[5]) { cell.SetCellValue(Globals.Skipped); } else if (colNum == _Config.AODLoadSheetColumnNumsWrite[6]) { cell.SetCellValue(Globals.Skipped); } cell.CellStyle = red; } } WriteWorkbook(workbook, cursorLeft); }
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 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(); }
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(); }
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') } }
private int SelectManualOption(AODLoadSheetRow skippedLSR) { List <char> acceptableSelections = new List <char>(); int manualOptionsCount = skippedLSR.SearchCollection.GetManualOptionsCount(); for (int i = 0; i < manualOptionsCount; i++) { acceptableSelections.Add(i.ToString().First()); } acceptableSelections.Add('s'); acceptableSelections.Add('x'); skippedLSR.SearchCollection.PrintManualOptions(true); int cursorLeftChoice = Console.CursorLeft; Console.WriteLine("\n\n\n\n\n\n"); ConsolePrintHelpers.PrintFullWidthLine(); ConsolePrintHelpers.PrintGreenText(""); //restore text color to green Console.CursorTop -= 8; Console.CursorLeft = cursorLeftChoice; while (true) { while (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(true); //flush keyboard buffer } Console.CursorVisible = false; char ChoiceKeyPressed = char.ToLower(Console.ReadKey().KeyChar); if (!acceptableSelections.Any(selection => selection == ChoiceKeyPressed)) { Console.CursorLeft = cursorLeftChoice + 1; //in case user presses "enter" ConsolePrintHelpers.PrintYellowText(" Incorrect Key Pressed!"); Thread.Sleep(1000); Console.CursorLeft = cursorLeftChoice; ConsolePrintHelpers.PrintGreenText(" "); Console.CursorLeft = cursorLeftChoice; } else { AudioFileOption optionToConfirm = null; int cursorTopBeforeRefresh = Console.CursorTop; int cursorLeftBeforeRefresh = Console.CursorLeft; if (ChoiceKeyPressed != 's' && ChoiceKeyPressed != 'x') { int selection = Convert.ToInt32(ChoiceKeyPressed.ToString()); optionToConfirm = skippedLSR.SearchCollection.GetSelectedOption(selection); skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.Confirm, true); } else if (ChoiceKeyPressed == 's') { skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.SkipConfirm, true); } else if (ChoiceKeyPressed == 'x') { skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.SkipAllConfirm, true); } Console.CursorTop = cursorTopBeforeRefresh; Console.CursorLeft = cursorLeftBeforeRefresh; ConsolePrintHelpers.PrintWhiteText(" Confirm ►"); ConsolePrintHelpers.PrintGreenText(" "); int cursorTopConfirm = Console.CursorTop; int cursorLeftConfirm = Console.CursorLeft; Thread.Sleep(250); while (Console.KeyAvailable) { ConsoleKeyInfo key = Console.ReadKey(true); //flush keyboard buffer } Console.CursorVisible = false; char ConfirmKeyPressed = char.ToLower(Console.ReadKey().KeyChar); if (ChoiceKeyPressed == ConfirmKeyPressed) { if (ChoiceKeyPressed == 's') { skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.SkipSelected, true); return(-1); } if (ChoiceKeyPressed == 'x') { skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.SkipAllSelected, true); return(-2); } skippedLSR.SearchCollection.PrintManualOptionsConfirmation(optionToConfirm, ManualSelectionType.Selected, true); Console.CursorTop = cursorTopConfirm; Console.WriteLine(); return(Convert.ToInt32(ChoiceKeyPressed.ToString())); } else { Console.CursorLeft = cursorLeftConfirm + 1; //in case user presses "enter" ConsolePrintHelpers.PrintYellowText(" Not Confirmed!"); Thread.Sleep(1000); Console.CursorLeft = cursorLeftChoice; ConsolePrintHelpers.PrintGreenText(" "); Console.CursorLeft = cursorLeftChoice; } } } }
private void FinishEncodingQueue() { ConsolePrintHelpers.PrintYellowText("\n\n\n Optimizing Encoding Queue"); ConsolePrintHelpers.PrintWhiteText(" ► "); bool cancelProgressTicker = false; Task ticker = Task.Run(() => ConsolePrintHelpers.PrintProgressTicker(ref cancelProgressTicker)); _TempEncodingOrCopyList = _TempEncodingOrCopyList.OrderBy(lsr => lsr.LoadSheetRowNumber).ToList(); //Ordered by load sheet row number (1 -> n) _TempSkippedList = _TempSkippedList.OrderBy(lsr => lsr.LoadSheetRowNumber).ToList(); //Ordered by load sheet row number (1 -> n) if (!Globals.IsDevelopmentEnvironment) { List <AODLoadSheetRow> encodingList = new List <AODLoadSheetRow>(); List <AODLoadSheetRow> uniqueEncodingList = new List <AODLoadSheetRow>(); List <AODLoadSheetRow> copyFromAlreadyEncodedFilesList = new List <AODLoadSheetRow>(); List <AODLoadSheetRow> copyFromPendingEncodedFilesList = new List <AODLoadSheetRow>(); _TempEncodingOrCopyList = _TempEncodingOrCopyList.OrderByDescending(lsr => lsr.SuggestedAudioFile.FileSize).ToList(); //Order by largest -> smallest source files (speeds up parallel encoding) foreach (AODLoadSheetRow lsr in _TempEncodingOrCopyList) { AlreadyEncodedFile file = _Controller.History.GetAlreadyEncodedFile(lsr); if (file == null) { encodingList.Add(lsr); //Files that need to be encoded (and some that could be copied, we'll check in the next step) (ordered by DESCENDING source file size) } else { copyFromAlreadyEncodedFilesList.Add(lsr); //Files that are strictly able to be copied (not waiting on any encodes to finish) (ordered by DESCENDING source file size) } } foreach (AODLoadSheetRow lsr in encodingList) { if (!uniqueEncodingList.Any(uniqueLSREncoding => lsr.IsLSREncodingEligibleForCopying(uniqueLSREncoding.PotentialFile))) { uniqueEncodingList.Add(lsr); //Files that absolutely have to be encoded from scratch (ordered by DESCENDING source file size) } else { copyFromPendingEncodedFilesList.Add(lsr); //Any additional files added here can be copied once the uniquely encoded list above creates those encoded files (ordered by DESCENDING source file size) } } int encodingID = 1; foreach (AODLoadSheetRow lsr in uniqueEncodingList) { _EncodingQueue.Enqueue(new AudioFileEncoding(lsr, encodingID, false)); //Files that NEED to be encoded, added first (ordered by DESCENDING source file size) encodingID++; } foreach (AODLoadSheetRow lsr in copyFromAlreadyEncodedFilesList) { _EncodingQueue.Enqueue(new AudioFileEncoding(lsr, encodingID, true)); //Files that can be copied from already encoded files added next (The are not waiting on any prior encodes to finish) (ordered by DESCENDING source file size) encodingID++; } foreach (AODLoadSheetRow lsr in copyFromPendingEncodedFilesList) { _EncodingQueue.Enqueue(new AudioFileEncoding(lsr, encodingID, true)); //Files that can be copied from pending encodes once they complete (ordered by DESCENDING source file size) encodingID++; } } else //Keep original load sheet row number ordering for better debugging in Development Environment { int encodingID = 1; foreach (AODLoadSheetRow lsr in _TempEncodingOrCopyList) { _EncodingQueue.Enqueue(new AudioFileEncoding(lsr, encodingID, false)); //Ordered by load sheet row number (1 -> n) encodingID++; } } foreach (AODLoadSheetRow skippedLSR in _TempSkippedList) { _SkippedQueue.Enqueue(skippedLSR); //Ordered by load sheet row number (1 -> n) } //Temporary lists no longer needed _TempEncodingOrCopyList = null; _TempSkippedList = null; GC.Collect(); cancelProgressTicker = true; ticker.Wait(); ConsolePrintHelpers.PrintYellowText("Done"); ConsolePrintHelpers.Wait(); }
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 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"); }
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 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 EncodeAudioFiles() { if (!_IsQueueBuilt) { BuildEncodingQueue(); } Stopwatch stopwatch = ConsolePrintHelpers.PrintHeaderAndStartStopWatch(); ConsolePrintHelpers.PrintWhiteText(" Encoding Audio Files..."); PrintEncodingQueueAndHistoryStats(); _History.WriteApprovalHistoryToFile(true); ConsolePrintHelpers.Wait(); CleanTranscodeTempDirectory(); _LoadSheetUpdateInterval = Globals.InitialLoadSheetUpdateInterval; _ActiveEncodings.Clear(); _FinishedEncodings.Clear(); _WaitingEncodings.Clear(); _EncodedFilesCount = 0; _CopiedFilesCount = 0; int encodingQueueCount = _EncodingQueues.EncodingQueue.Count; for (int i = 0; i < encodingQueueCount; i++) { AudioFileEncoding encoding = _EncodingQueues.EncodingQueue.Dequeue(); CopyOrEncodeAudioFile(encoding); AddToActiveOrWaitingList(encoding); IncrementalUpdateLoadSheet(); encoding.PrintAudioFileEncoding(); PrintEncodingStatsHeaders(); CheckForFinishedEncodings(Globals.MaxDegreeOfParallelism); } foreach (AudioFileEncoding waitingEncoding in _WaitingEncodings) { _ActiveEncodings.Add(waitingEncoding); } foreach (AODLoadSheetRow skippedLSR in _EncodingQueues.SkippedQueue) { _FinishedEncodings.Add(new AudioFileEncoding(skippedLSR, 0, false)); //Add skipped rows for updating back to loadsheet } if (encodingQueueCount > 0) { CheckForFinishedEncodings(1); } _History.WriteEncodingHistoryToFile(true); UpdateLoadSheet(); //final update to AOD Loadsheet with remaining rows not saved yet (including skipped rows) ConsolePrintHelpers.PrintDuration(stopwatch, "Encoding"); ConsolePrintHelpers.PrintYellowText("\n\n\n Encoding Run Completed"); if (_EncodingQueues.SkippedQueue.Count == 0) { ConsolePrintHelpers.PressAnyKeyToExit(); } else { _EncodingQueues.PrintAndEmptySkippedQueue(); } }