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 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(); }
private void AssignCycle() { string loadSheetFileName = Path.GetFileNameWithoutExtension(_AODLoadSheetFilePath); _Cycle = Regex.Match(loadSheetFileName, @"\d{4}$").ToString(); //Grab cycle digits at end of AOD Loadsheet filename if (!loadSheetFileName.EndsWith(_Cycle) || !CycleValidator.Validate4DigitCycle(_Cycle)) { ConsolePrintHelpers.PrintRedText("\n ERROR: Invalid Loadsheet cycle number at end of filename: " + _Cycle); ConsolePrintHelpers.PressAnyKeyToExit(); } }
private void ValidateLoadSheet() { ConsolePrintHelpers.PrintWhiteText(" Path: "); if (File.Exists(_Config.AODLoadSheetFilePath)) { ConsolePrintHelpers.PrintGreenText(_Config.AODLoadSheetFilePath + "\n\n"); } else { ConsolePrintHelpers.PrintRedText(_Config.AODLoadSheetFilePath); ConsolePrintHelpers.PrintWhiteText(" ERROR: Missing Loadsheet at this path"); ConsolePrintHelpers.PressAnyKeyToExit(); } }
private void AssignLoadSheet() { _AODLoadSheetFilePath = @"None"; DirectoryInfo di = new DirectoryInfo(_AODLoadSheetDirectoryPath); IEnumerable <FileInfo> finfo = di.GetFiles("*.xlsx"); if (finfo.Count() > 2) { ConsolePrintHelpers.PrintRedText("\n\n ERROR More Than 1 AOD Loadsheet Found In Directory: "); ConsolePrintHelpers.PrintWhiteText(_AODLoadSheetDirectoryPath); ConsolePrintHelpers.PressAnyKeyToExit(); } else if (finfo.Count() == 2) //Might have a hidden temporary file "~$file.xlsx" { bool foundTempFile = false; foreach (FileInfo fi in finfo) { if (fi.Name.Contains(@"~$")) { foundTempFile = true; } else { _AODLoadSheetFilePath = fi.FullName; } } if (!foundTempFile) { ConsolePrintHelpers.PrintRedText("\n\n ERROR More Than 1 AOD Loadsheet Found In Directory: "); ConsolePrintHelpers.PrintWhiteText(_AODLoadSheetDirectoryPath); ConsolePrintHelpers.PressAnyKeyToExit(); } } else if (finfo.Count() == 0) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing AOD Loadsheet In Directory: "); ConsolePrintHelpers.PrintWhiteText(_AODLoadSheetDirectoryPath); ConsolePrintHelpers.PressAnyKeyToExit(); } else //only 1 .xlsx file found { _AODLoadSheetFilePath = finfo.First().FullName; } }
public void AssignSuggestedAudioFileFromManualApproval(AudioFileOption bestOption) { if (_SearchCollection != null) { _SearchCollection.AssignBestOptionFromManualOptions(bestOption); AssignSuggestedAudioFile(); _IsApproved = true; _SuggestedAudioFile.AccuracyNote = Globals.WasApprovedNote; } else { ConsolePrintHelpers.PrintRedText("\n\n ERROR Trying To Assign Suggested Audio File With Null Search Collection at LSR #: "); ConsolePrintHelpers.PrintWhiteText((_LoadSheetRowNumber + 1).ToString()); ConsolePrintHelpers.PressAnyKeyToExit(); } }
private IWorkbook ReadWorkBook() { if (!File.Exists(_Config.AODLoadSheetFilePath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing AOD Loadsheet: "); ConsolePrintHelpers.PrintWhiteText(_Config.AODLoadSheetFilePath); ConsolePrintHelpers.PressAnyKeyToExit(); } IWorkbook workbook; using (FileStream fsRead = new FileStream(_Config.AODLoadSheetFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { workbook = WorkbookFactory.Create(fsRead); fsRead.Close(); } return(workbook); }
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"); }
public void AssignSuggestedAudioFile() { if (_SearchCollection != null) { _SuggestedAudioFile = _SearchCollection.GetSuggestedAudioFile(); if (_SuggestedAudioFile == null) //should never be the case, and if so, something is wrong { ConsolePrintHelpers.PrintRedText("\n\n ERROR Unassigned Suggested Audio File at LSR #: "); ConsolePrintHelpers.PrintWhiteText((_LoadSheetRowNumber + 1).ToString()); ConsolePrintHelpers.PressAnyKeyToExit(); } _PotentialFile = new AlreadyEncodedFile(this, false); //Non-validated AlreadyEncodedFile (Used For Faster Queue Building) _IsSuggestedAudioFileAssigned = true; } else { ConsolePrintHelpers.PrintRedText("\n\n ERROR Trying To Assign Suggested Audio File With Null Search Collection at LSR #: "); ConsolePrintHelpers.PrintWhiteText((_LoadSheetRowNumber + 1).ToString()); ConsolePrintHelpers.PressAnyKeyToExit(); } }
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"); }
private void PerformValidation() { if (!Directory.Exists(_ManualShortcutsDirectory)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing Manual Shortcuts Directory: "); ConsolePrintHelpers.PrintWhiteText(_ManualShortcutsDirectory); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Directory.Exists(_AODLoadSheetDirectoryPath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing AOD Loadsheet Directory: "); ConsolePrintHelpers.PrintWhiteText(_AODLoadSheetDirectoryPath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Directory.Exists(_AODLoadSheetBackupPath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing AOD Loadsheet Backup Directory: "); ConsolePrintHelpers.PrintWhiteText(_AODLoadSheetBackupPath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Directory.Exists(_HistoryDatabaseDirectory)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing History Directory: "); ConsolePrintHelpers.PrintWhiteText(_HistoryDatabaseDirectory); ConsolePrintHelpers.PressAnyKeyToExit(); } if (_ApprovalHistoryFilePath.Length >= Globals.MaxPathLenth) { ConsolePrintHelpers.PrintRedText(@"\n\n ERROR Approvals History File Path > MaxPathLength: "); ConsolePrintHelpers.PrintWhiteText(_ApprovalHistoryFilePath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (_EncodingHistoryFilePath.Length >= Globals.MaxPathLenth) { ConsolePrintHelpers.PrintRedText(@"\n\n ERROR Encoding History File Path > MaxPathLength: "); ConsolePrintHelpers.PrintWhiteText(_EncodingHistoryFilePath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Globals.IsDevelopmentEnvironment) //Don't check for these on development box { if (!Directory.Exists(_HistoryFilesArchiveDirectory)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing Already Encoded Files History Archive Directory: "); ConsolePrintHelpers.PrintWhiteText(_HistoryFilesArchiveDirectory); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!File.Exists(_FFMPEG_Executable)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing FFMPEG Executable: "); ConsolePrintHelpers.PrintWhiteText(_FFMPEG_Executable); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!File.Exists(_FFPROBE_Executable)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing FFPROBE Executable: "); ConsolePrintHelpers.PrintWhiteText(_FFPROBE_Executable); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!File.Exists(_Manzanita_Executable)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing Manzanita Executable: "); ConsolePrintHelpers.PrintWhiteText(_Manzanita_Executable); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!File.Exists(_PowerShellScriptPath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing PowerShell Script: "); ConsolePrintHelpers.PrintWhiteText(_PowerShellScriptPath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!File.Exists(_PowerShellCSVPath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing PowerShell CSV: "); ConsolePrintHelpers.PrintWhiteText(_PowerShellCSVPath); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Directory.Exists(_DestinationRootDirectory)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing FFMPEG_WRITE Directory: "); ConsolePrintHelpers.PrintWhiteText(_DestinationRootDirectory); ConsolePrintHelpers.PressAnyKeyToExit(); } if (!Directory.Exists(_TranscodeTempDirectory)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing TRANSCODE_TEMP Directory: "); ConsolePrintHelpers.PrintWhiteText(_TranscodeTempDirectory); ConsolePrintHelpers.PressAnyKeyToExit(); } } }
private void ApplyJSONConfigFile(string jsonConfigFilePath) { if (!File.Exists(jsonConfigFilePath)) { ConsolePrintHelpers.PrintRedText("\n\n ERROR Missing JSON Configuration File: "); ConsolePrintHelpers.PrintWhiteText(jsonConfigFilePath); ConsolePrintHelpers.PressAnyKeyToExit(); } string jsonConfigFile = File.ReadAllText(jsonConfigFilePath); dynamic jsonConfigOBJ = JObject.Parse(jsonConfigFile); Globals.ApplyJSONConfigFile(jsonConfigOBJ); //Configure Globals values _AODLoadSheetWorkSheetName = (string)jsonConfigOBJ.aodLoadSheetWorkSheetName; _AODLoadSheetDirectoryPath = (string)jsonConfigOBJ.aodLoadSheetDirectoryPath; _AODLoadSheetBackupPath = (string)jsonConfigOBJ.aodLoadSheetBackupPath; _ManualShortcutsDirectory = (string)jsonConfigOBJ.manualShortcutsDirectory; _FFMPEG_Executable = (string)jsonConfigOBJ.ffmpeg_Executable; _FFPROBE_Executable = (string)jsonConfigOBJ.ffprobe_Executable; _Manzanita_Executable = (string)jsonConfigOBJ.manzanita_Executable; _PowerShellScriptPath = (string)jsonConfigOBJ.powerShellScriptPath; _PowerShellCSVPath = (string)jsonConfigOBJ.powerShellCSVPath; _HistoryDatabaseDirectory = (string)jsonConfigOBJ.historyDatabaseDirectory; _ApprovalHistoryFilePath = (string)jsonConfigOBJ.approvalHistoryFilePath; _EncodingHistoryFilePath = (string)jsonConfigOBJ.encodingHistoryFilePath; _HistoryFilesArchiveDirectory = (string)jsonConfigOBJ.historyFilesArchiveDirectory; _DestinationRootDirectory = (string)jsonConfigOBJ.destinationRootDirectory; _TranscodeTempDirectory = (string)jsonConfigOBJ.transcodeTempDirectory; _AudioLibraryRoot = (string)jsonConfigOBJ.audioLibraryRoot; string[] productionAudioLibraryRootPaths = Globals.ConvertJSONArray_STR(jsonConfigOBJ.productionAudioLibraryRootPaths); if (Globals.IsDevelopmentEnvironment) { _AudioLibraryRootPaths.Add(@"\\10.7.22.11\CD_Repository\AOD CDs"); _AudioLibraryRootPaths.Add(@"\\10.7.22.11\Audio_Technical\Audio Programming"); } else { foreach (string path in productionAudioLibraryRootPaths) { _AudioLibraryRootPaths.Add(path); } } _AirlineColumn = (int)jsonConfigOBJ.columnConfig.airlineColumn; _AltCycleColumn = (int)jsonConfigOBJ.columnConfig.altCycleColumn; _ArtistColumn = (int)jsonConfigOBJ.columnConfig.artistColumn; _AlbumColumn = (int)jsonConfigOBJ.columnConfig.albumColumn; _TrackNumberColumn = (int)jsonConfigOBJ.columnConfig.trackNumberColumn; _TrackColumn = (int)jsonConfigOBJ.columnConfig.trackColumn; _OutputFileNameColumn = (int)jsonConfigOBJ.columnConfig.outputFileNameColumn; _AudioTypeColumn = (int)jsonConfigOBJ.columnConfig.audioTypeColumn; _ShipToColumn = (int)jsonConfigOBJ.columnConfig.shipToColumn; _SourceAudioFilePathColumn = (int)jsonConfigOBJ.columnConfig.sourceAudioFilePathColumn; _AccuracyScoreColumn = (int)jsonConfigOBJ.columnConfig.accuracyScoreColumn; _AccuracyNoteColumn = (int)jsonConfigOBJ.columnConfig.accuracyNoteColumn; _EncodedStatusColumn = (int)jsonConfigOBJ.columnConfig.encodedStatusColumn; _EncodedFilePathColumn = (int)jsonConfigOBJ.columnConfig.encodedFilePathColumn; _EncodedFileDurationPrettyColumn = (int)jsonConfigOBJ.columnConfig.encodedFileDurationPrettyColumn; _EncodedFileDurationSecondsColumn = (int)jsonConfigOBJ.columnConfig.encodedFileDurationSecondsColumn; _AODLoadSheetColumnNumsRead = new int[] { _AirlineColumn, _AltCycleColumn, _ArtistColumn, _AlbumColumn, _TrackNumberColumn, _TrackColumn, _OutputFileNameColumn, _AudioTypeColumn, _ShipToColumn, _EncodedStatusColumn }; _AODLoadSheetColumnNumsWrite = new int[] { _SourceAudioFilePathColumn, _AccuracyScoreColumn, _AccuracyNoteColumn, _EncodedStatusColumn, _EncodedFilePathColumn, _EncodedFileDurationPrettyColumn, _EncodedFileDurationSecondsColumn }; _AODLoadSheetOptionalColumnNumsRead = new int[] { _AltCycleColumn, _EncodedStatusColumn }; }
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 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 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(); }