示例#1
0
        private void Trim(object sender, RoutedEventArgs e)
        {
            string ext = Path.GetExtension(inputFilePath);

            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "Video file (*" + ext + ")|*" + ext;

            Console.WriteLine("Input file: " + inputFilePath);

            if (saveFileDialog.ShowDialog() == true &&
                !string.IsNullOrEmpty(inputFilePath) &&
                !string.IsNullOrEmpty(saveFileDialog.FileName))
            {
                string start    = TB_Start.Text;
                string duration = GetTimecode(Timeline.UpperValue - Timeline.LowerValue, VideoPreview.NaturalDuration.TimeSpan);

                Console.WriteLine("Output file: " + saveFileDialog.FileName);
                VideoOperations.PerformTrim(
                    this,
                    inputFilePath,
                    saveFileDialog.FileName,
                    start, duration);
            }
        }
示例#2
0
        /// <summary>
        /// Constructor for the VideoViewModel
        /// </summary>
        /// <param name="videoOperations">Requires a <see cref="VideoOperations"/> object</param>
        public VideoViewModel(VideoOperations videoOperations)
        {
            _videoOperations = videoOperations;
            _videoOperations.OnVideoOperationCompleted += OnVideoOperationCompleted;
            _videoOperations.OnVideoOperationStatus    += OnVideoOperationStatus;

            BrowseVideoCommand           = new DelegateCommand(BrowseVideo);
            ExecuteVideoOperationCommand = new DelegateCommand(ExecuteVideoOperation, CanExecuteVideoCommand);
        }
示例#3
0
        private void Crop_OnClick(object sender, RoutedEventArgs e)
        {
            // Make sure user used valid dimensions
            // TODO: Use regex on textbox event
            int x;
            int y;
            int width;
            int height;

            if (!int.TryParse(TB_X.Text, out x))
            {
                return;
            }
            if (!int.TryParse(TB_Y.Text, out y))
            {
                return;
            }
            if (!int.TryParse(TB_Width.Text, out width))
            {
                return;
            }
            if (!int.TryParse(TB_Height.Text, out height))
            {
                return;
            }


            string ext = Path.GetExtension(inputFilePath);

            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "Video file (*" + ext + ")|*" + ext;

            Console.WriteLine("Input file: " + inputFilePath);

            if (saveFileDialog.ShowDialog(this) ?? false &&
                !string.IsNullOrEmpty(inputFilePath) &&
                !string.IsNullOrEmpty(saveFileDialog.FileName))
            {
                Console.WriteLine("Output file: " + saveFileDialog.FileName);
                VideoOperations.PerformCrop(
                    this,
                    inputFilePath,
                    saveFileDialog.FileName,
                    (uint)x, (uint)y, (uint)width, (uint)height);
            }
        }
        public MainViewModel()
        {
            _videoOperations = new VideoOperations();

            VideoVm = new VideoViewModel(_videoOperations);
        }