Esempio n. 1
0
        private async void EncodeButton_Click(object sender, RoutedEventArgs e)
        {
            if (!Validate())
            {
                return;
            }

            MediaEncoderSettings EncodeSettings = encodeSettings;

            try {
                HidePreview();
                SetEncodeSettings((MediaEncoderSettings)encodeSettings.Clone());
                encodeSettings.FilePath    = "";
                encodeSettings.DisplayName = "";
                await Task.Delay(100); // Wait for media player file to be released.

                business.PrepareJobFiles(EncodeSettings);
                business.AddJobToQueue(EncodeSettings);
            } catch (Exception ex) {
                if (!encodeSettings.ConvertToAvi || System.IO.File.Exists(PathManager.TempFilesPath + "Preview.avi"))
                {
                    SetEncodeSettings(EncodeSettings);
                }
                MessageBox.Show(this, ex.Message, "Encoding Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Esempio n. 2
0
        //private void MenuSelect_Click(object sender, RoutedEventArgs e) {
        //    SelectVideoButton.IsOpen = false;
        //    SelectVideoButton.Content = ((MenuItem)sender).Header;
        //    SelectVideoButton_Click(sender, e);
        //}

        public void SetEncodeSettings(MediaEncoderSettings value)
        {
            isBinding = true;
            SettingsTab.SelectedIndex = (String.IsNullOrEmpty(value.CustomScript) ? 0 : 2);
            encodeSettings            = value;
            this.DataContext          = value;
            isBinding = false;
        }
        public static bool Instance(MediaEncoderBusiness business, MediaEncoderSettings settings)
        {
            DeshakerWindow NewForm = new DeshakerWindow();

            NewForm.business       = business;
            NewForm.encodeSettings = settings;
            NewForm.ShowDialog();
            return(NewForm.Result);
        }
Esempio n. 4
0
        /// <summary>
        /// Cancels an encoding task and display it to change settings.
        /// </summary>
        /// <param name="settings">The encoding task to display.</param>
        public async void EditEncodingTask(MediaEncoderSettings settings)
        {
            HidePreview();
            await business.MovePreviewFilesAsync(settings);

            SetEncodeSettings(settings);
            PathManager.DeleteJobFiles(settings.JobIndex);
            settings.JobIndex = -1;
            business.ProcessingQueue.Remove(settings);
        }
Esempio n. 5
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            this.DataContext = encodeSettings;
            SettingsTab.Items.CurrentChanging += new CurrentChangingEventHandler(Items_CurrentChanging);
            ((FFmpegUserInterfaceManager)FFmpegConfig.UserInterfaceManager).JobClosed += UserInterfaceManager_JobClosed;
            if (MediaPlayer.WindowsMediaPlayer.IsWmpInstalled)
            {
                playerOriginal             = new WmpPlayerWindow();
                playerOriginal.Title       = "Original";
                playerOriginal.WindowState = WindowState.Maximized;
                playerChanges             = new WmpPlayerWindow();
                playerChanges.Title       = "Preview Changes";
                playerChanges.WindowState = WindowState.Maximized;
                playerChanges.Player.Player.PositionChanged += Player_PositionChanged;
            }
            else
            {
                PreviewOriginalButton.Visibility = Visibility.Hidden;
                PreviewChangesButton.Visibility  = Visibility.Hidden;
            }
            //if (Settings.SavedFile.MediaPlayerApp != MediaPlayerApplication.Mpc)
            //    PreviewMpcButton.Visibility = Visibility.Hidden;
            business.EncodingCompleted     += business_EncodingCompleted;
            business.EncodingFailed        += business_EncodingFailed;
            ProcessingQueueList.ItemsSource = business.ProcessingQueue;
            //MpcConfigBusiness.IsSvpEnabled = false;

            MediaEncoderSettings RecoverSettings = await business.AutoLoadPreviewFileAsync();

            if (RecoverSettings != null)
            {
                SetEncodeSettings(RecoverSettings);
            }

            encodeSettings.AutoCalculateSize = true;

            business.AutoLoadJobs();
            if (business.ProcessingQueue.Count == 0)
            {
                PauseButton_Click(null, null);
            }

            // Run GPU test on startup.
            await business.RunGpuTest();
        }