private void labInfStart_MouseDoubleClick(object sender, MouseButtonEventArgs e) { Zeitpunkt z = new Zeitpunkt(); z.setAll(sstartzeit.Value); showTimeMagicInput(1, z.getStunden().ToString("00"), z.getMinuten().ToString("00"), z.getSekunden().ToString("00.000")); }
private void slaenge_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { GenerateVorschau(false); Zeitpunkt t = new Zeitpunkt(); t.setAll(slaenge.Value); labInfLaenge.Content = t.ToString(); }
private void GenerateVorschau(bool von) { if (this.IsInitialized == false) { return; } Zeitpunkt zp = new Zeitpunkt(); if (von) { zp.setAll(sstartzeit.Value); } else { zp.setAll(sstartzeit.Value + slaenge.Value); } lastZP = zp; GenerateVorschauName(); if (tmpvorlage == null || isTemplateOld()) { setTempVorlage(); } if (CheckIfInFrame() == false) { return; } if (File.Exists(strVorschauPfad + tmpvorlage.strName + lastZP.pathString() + strVorschaubild)) { setImage(); } else { BackgroundWorker ba = new BackgroundWorker(); ba.DoWork += new DoWorkEventHandler(CreateNewVorschau); ba.RunWorkerAsync(); } }
private void CreateExportWorker(object sender, EventArgs e) { try { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.FileName = "ffmpeg.exe"; Zeitpunkt startZP = new Zeitpunkt(); startZP.setAll(exportStart); Zeitpunkt bisZP = new Zeitpunkt(); bisZP.setAll(exportLaenge); strOutputFile = PfadAufraeumen(System.IO.Path.GetFileNameWithoutExtension(strInputFile) + "_" + startZP.pathString() + "_" + bisZP.pathString()); //-fs 1000000 p.StartInfo.Arguments = "-ss " + startZP.ToString() + " -i \"" + strInputFile + "\" -sn -c:v libvpx"; if (tmpvorlage.imaxfilesize > 0) { p.StartInfo.Arguments += " -fs " + (tmpvorlage.imaxfilesize * 1000000); } if (tmpvorlage.baudioaus == true) { p.StartInfo.Arguments += " -an"; } p.StartInfo.Arguments += " -crf " + tmpvorlage.icrf + " -qmin " + tmpvorlage.iqmin + " -qmax " + tmpvorlage.iqmax; if (tmpvorlage.icropbreite > 0 && tmpvorlage.icrophoehe > 0) { p.StartInfo.Arguments += " -vf \"[in]scale=" + tmpvorlage.ibreite + ":" + tmpvorlage.ihoehe + "[middle];[middle]crop=" + tmpvorlage.icropbreite + ":" + tmpvorlage.icrophoehe + ":" + tmpvorlage.icropx + ":" + tmpvorlage.icropy + "[out]\""; } else { p.StartInfo.Arguments += " -vf \"scale=" + tmpvorlage.ibreite + ":" + tmpvorlage.ihoehe + "\""; } p.StartInfo.Arguments += " -to " + bisZP.ToString() + " -y \"" + strOutputFile + ".webm\""; lsFfmpegLog.Add(p.StartInfo.FileName + " " + p.StartInfo.Arguments); p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = true; p.StartInfo.WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory; p.Start(); p.WaitForExit(); this.Dispatcher.BeginInvoke(new Action(() => gridContent.IsEnabled = true)); this.Dispatcher.BeginInvoke(new Action(() => gridContentBlurEffekt.Radius = 0)); this.Dispatcher.BeginInvoke(new Action(() => gridLoading.Visibility = Visibility.Collapsed)); } catch { MessageBox.Show("Fehler beim encoden des Videos.", "Vorgang abgebrochen", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void btnTimeMagicOk_Click(object sender, RoutedEventArgs e) { switch (vorgangid) { case 1: //Startzeitpunkt if (IsNumeric(tbTimeMagicStunden.Text) && IsNumeric(tbTimeMagicMinuten.Text) && IsNumeric(tbTimeMagicSekunden.Text)) { int Stunden = Convert.ToInt32(tbTimeMagicStunden.Text); int Minuten = Convert.ToInt32(tbTimeMagicMinuten.Text); double Sekunden = Convert.ToDouble(Convert.ToDecimal(tbTimeMagicSekunden.Text)); Zeitpunkt z = new Zeitpunkt(); z.setValue(Stunden, Minuten, Sekunden); if (z.getMilliseconds() > lmaxLaufzeitInMilliSek) { sstartzeit.Value = lmaxLaufzeitInMilliSek; } else { sstartzeit.Value = z.getMilliseconds(); } } break; case 2: //Länge if (IsNumeric(tbTimeMagicStunden.Text) && IsNumeric(tbTimeMagicMinuten.Text) && IsNumeric(tbTimeMagicSekunden.Text)) { int Stunden = Convert.ToInt32(tbTimeMagicStunden.Text); int Minuten = Convert.ToInt32(tbTimeMagicMinuten.Text); double Sekunden = Convert.ToDouble(Convert.ToDecimal(tbTimeMagicSekunden.Text)); Zeitpunkt z = new Zeitpunkt(); z.setValue(Stunden, Minuten, Sekunden); if (sstartzeit.Value + z.getMilliseconds() > lmaxLaufzeitInMilliSek) { slaenge.Value = lmaxLaufzeitInMilliSek - sstartzeit.Value - 1; } else { slaenge.Value = sstartzeit.Value + z.getMilliseconds(); } } break; } gridContentBlurEffekt.Radius = 0; gridTimeMagicInput.Visibility = Visibility.Collapsed; }
public void OeffneDatei() { //Alles auf 0 was so geht lastZP = new Zeitpunkt(); sstartzeit.Value = 0; slaenge.Value = 0; imgVorschau.Source = null; image = null; OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Bitte wähle die gewünschte Datei"; Nullable<bool> r = ofd.ShowDialog(); if (r == true) { strInputFile = ofd.FileName; BackgroundWorker ba = new BackgroundWorker(); ba.DoWork += new DoWorkEventHandler(HandlerLoadLength); ba.RunWorkerAsync(); mainGrid.IsEnabled = false; } else { MessageBox.Show("Keine Datei ausgewählt. DAU-Modus aktiviert. Das Programm wird beendet!", "Ungültige Datei", MessageBoxButton.OK, MessageBoxImage.Error); System.Environment.Exit(1); } }
public void CreateExport() { Zeitpunkt zp = new Zeitpunkt(); zp.setAll(sstartzeit.Value); lastZP = zp; if (CheckIfInFrame() == false) { MessageBox.Show("Der Ausgewählte Zeitraum ist ungültig.", "Ungültiger Zeitraum", MessageBoxButton.OK, MessageBoxImage.Error); return; } zp.setAll(sstartzeit.Value + slaenge.Value); lastZP = zp; if (CheckIfInFrame() == false) { MessageBox.Show("Der Ausgewählte Zeitraum ist ungültig.", "Ungültiger Zeitraum", MessageBoxButton.OK, MessageBoxImage.Error); return; } exportStart = sstartzeit.Value; exportLaenge = slaenge.Value; setTempVorlage(); gridContent.IsEnabled = false; gridContentBlurEffekt.Radius = 10; gridLoading.Visibility = Visibility.Visible; //labLadeInfo Random r = new Random(); labLadeInfo.Content = "[ " + lsWichtigeHinweise.ElementAt(r.Next(lsWichtigeHinweise.Count - 1)) + " ]"; BackgroundWorker b = new BackgroundWorker(); b.DoWork += new DoWorkEventHandler(CreateExportWorker); b.RunWorkerAsync(); }