internal static void ResetFilters() { Caption = null; Crop = null; Deinterlace = null; Denoise = null; Dub = null; Levels = null; MultipleTrim = null; Overlay = null; Resize = null; Reverse = null; Subtitle = null; Trim = null; }
public DubForm(DubFilter dubFilter) : this() { SetFile(dubFilter.AudioFileName); comboDubMode.SelectedIndex = (int)dubFilter.Mode; }
private void buttonConfirm_Click(object sender, EventArgs e) { var audioFile = boxAudioFile.Text; string indexFile; try { if (!File.Exists(audioFile)) throw new FileNotFoundException(); panelIndexingProgress.BringToFront(); labelIndexingProgress.Text = "Hashing..."; using (var md5 = MD5.Create()) using (var stream = File.OpenRead(audioFile)) { var filename = new UTF8Encoding().GetBytes(Path.GetFileNameWithoutExtension(audioFile)); var buffer = new byte[4096]; filename.CopyTo(buffer, 0); stream.Read(buffer, filename.Length, 4096 - filename.Length); var hash = BitConverter.ToString(md5.ComputeHash(buffer)); indexFile = Path.Combine(Path.GetTempPath(), hash + ".ffindex"); } if (File.Exists(indexFile)) { try { var index = new Index(indexFile); if (index.BelongsToFile(audioFile)) { DialogResult = DialogResult.OK; GeneratedFilter = new DubFilter(audioFile, indexFile, (DubMode)comboDubMode.SelectedIndex); Close(); return; } } catch { // ignored } File.Delete(indexFile); } labelIndexingProgress.Text = "Indexing..."; progressIndexingProgress.Value = 0; progressIndexingProgress.Style = ProgressBarStyle.Continuous; _worker = new BackgroundWorker { WorkerSupportsCancellation = true, WorkerReportsProgress = true }; _worker.ProgressChanged += (o, args) => { progressIndexingProgress.Value = args.ProgressPercentage; }; _worker.DoWork += (bw, workArgs) => { var indexer = new Indexer(audioFile, Source.Lavf); indexer.UpdateIndexProgress += (ind, updateArgs) => { _worker.ReportProgress((int) (((double) updateArgs.Current/updateArgs.Total)*100)); indexer.CancelIndexing = _worker.CancellationPending; }; try { var index = indexer.Index(); try { index.GetFirstIndexedTrackOfType(TrackType.Audio); } catch (KeyNotFoundException) { throw new InvalidDataException("That file doesn't have any audio!"); } index.WriteIndex(indexFile); } catch (OperationCanceledException) { workArgs.Cancel = true; } }; _worker.RunWorkerCompleted += (o, args) => { this.InvokeIfRequired(() => { panelIndexingProgress.SendToBack(); }); if (args.Error != null) { this.InvokeIfRequired(() => { SetFile(string.Empty); if ( MessageBox.Show(args.Error.Message, "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.Cancel) Close(); }); return; } if (args.Cancelled) { DialogResult = DialogResult.Cancel; } else { DialogResult = DialogResult.OK; GeneratedFilter = new DubFilter(audioFile, indexFile, (DubMode)comboDubMode.SelectedIndex); } this.InvokeIfRequired(Close); }; _worker.RunWorkerAsync(); } catch (Exception err) { if (MessageBox.Show(err.Message, "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.Cancel) Close(); } }
private void buttonConfirm_Click(object sender, EventArgs e) { var audioFile = boxAudioFile.Text; string indexFile; try { if (!File.Exists(audioFile)) { throw new FileNotFoundException(); } panelIndexingProgress.BringToFront(); labelIndexingProgress.Text = "Hashing..."; using (var md5 = MD5.Create()) using (var stream = File.OpenRead(audioFile)) { var filename = new UTF8Encoding().GetBytes(Path.GetFileNameWithoutExtension(audioFile)); var buffer = new byte[4096]; filename.CopyTo(buffer, 0); stream.Read(buffer, filename.Length, 4096 - filename.Length); var hash = BitConverter.ToString(md5.ComputeHash(buffer)); indexFile = Path.Combine(Path.GetTempPath(), hash + ".ffindex"); } if (File.Exists(indexFile)) { try { var index = new Index(indexFile); if (index.BelongsToFile(audioFile)) { DialogResult = DialogResult.OK; GeneratedFilter = new DubFilter(audioFile, indexFile, (DubMode)comboDubMode.SelectedIndex); Close(); return; } } catch { // ignored } File.Delete(indexFile); } labelIndexingProgress.Text = "Indexing..."; progressIndexingProgress.Value = 0; progressIndexingProgress.Style = ProgressBarStyle.Continuous; _worker = new BackgroundWorker { WorkerSupportsCancellation = true, WorkerReportsProgress = true }; _worker.ProgressChanged += (o, args) => { progressIndexingProgress.Value = args.ProgressPercentage; }; _worker.DoWork += (bw, workArgs) => { var indexer = new Indexer(audioFile, Source.Lavf); indexer.UpdateIndexProgress += (ind, updateArgs) => { _worker.ReportProgress((int)(((double)updateArgs.Current / updateArgs.Total) * 100)); indexer.CancelIndexing = _worker.CancellationPending; }; try { var index = indexer.Index(); try { index.GetFirstIndexedTrackOfType(TrackType.Audio); } catch (KeyNotFoundException) { throw new InvalidDataException("That file doesn't have any audio!"); } index.WriteIndex(indexFile); } catch (OperationCanceledException) { workArgs.Cancel = true; } }; _worker.RunWorkerCompleted += (o, args) => { this.InvokeIfRequired(() => { panelIndexingProgress.SendToBack(); }); if (args.Error != null) { this.InvokeIfRequired(() => { SetFile(string.Empty); if ( MessageBox.Show(args.Error.Message, "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.Cancel) { Close(); } }); return; } if (args.Cancelled) { DialogResult = DialogResult.Cancel; } else { DialogResult = DialogResult.OK; GeneratedFilter = new DubFilter(audioFile, indexFile, (DubMode)comboDubMode.SelectedIndex); } this.InvokeIfRequired(Close); }; _worker.RunWorkerAsync(); } catch (Exception err) { if (MessageBox.Show(err.Message, "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Error) == DialogResult.Cancel) { Close(); } } }