示例#1
0
        protected override void Execute()
        {
            _file      = App.CurrentFile;
            _fileTasks = new FileTasks(_file);
            _fileTasks.EnforceStereoFileOpen();
            _fileTasks.ZoomOutFull();

            FileMarkersWrapper     markers = new FileMarkersWrapper(_file);
            TrackMarkerNameBuilder trackMarkerNameBuilder = new TrackMarkerNameBuilder();
            TrackMarkerFactory     markerAndRegionFactory = new TrackMarkerFactory(markers, Output, trackMarkerNameBuilder);

            _splitTrackList = new SplitTrackList(markerAndRegionFactory, markerAndRegionFactory, trackMarkerNameBuilder, markers, new TrackMarkerSpecifications(), Output);

            _vinylRipOptions = new VinylRipOptions();

            // TODO: validate tracks

            _splitTrackList.InitTracks(_vinylRipOptions);
            _splitTrackList.DumpToScriptWindow();

            EditTracksViewModel viewModel = new EditTracksViewModel(_fileTasks);

            EditTracksController controller = new EditTracksController(App, new EditTracksFormFactory(), this, Output, _fileTasks);

            controller.Edit(viewModel, _splitTrackList, _vinylRipOptions);
        }
示例#2
0
        public EditTracksForm Create(EditTracksViewModel viewModel, EditTracksController controller,
                                     OutputHelper output)
        {
            EditTracksForm form = new EditTracksForm();

            BindViewModel(viewModel, form);
            form.Text     = viewModel.FormTitle;
            form.KeyDown += delegate(object sender, KeyEventArgs e)
            {
                KeyboardBindings(form, viewModel, controller, e);
            };

            form.Closing += delegate(object sender, System.ComponentModel.CancelEventArgs e)
            {
                output.ToStatusField1(string.Empty);
            };
            return(form);
        }
示例#3
0
        private void KeyboardBindings(EditTracksForm form, EditTracksViewModel vm, EditTracksController controller, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                form.Close();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Space)
            {
                form.BtnStopPreview.PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Q)
            {
                // "pass-through" behaviour to SF
                controller.ToggleLoopedPlayback();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.Home)
            {
                form.BtnPreviewStart.PerformClick();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.End)
            {
                form.BtnPreviewEnd.PerformClick();
                e.Handled = true;
            }

            if (vm.HasTracks && e.KeyCode == Keys.Delete)
            {
                form.BtnDelete.PerformClick();
                e.Handled = true;
            }

            if (vm.CanNavigatePrevious && e.KeyCode == Keys.Left)
            {
                form.BtnPrevious.PerformClick();
                e.Handled = true;
            }

            if (vm.CanNavigateNext && e.KeyCode == Keys.Right)
            {
                form.BtnNext.PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.J)
            {
                (e.Shift ? form.BtnMoveStartMinus : form.BtnMoveStartMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.K)
            {
                (e.Shift ? form.BtnMoveStartPlus : form.BtnMoveStartPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.H)
            {
                (e.Shift ? form.BtnMoveEndMinus : form.BtnMoveEndMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.L)
            {
                (e.Shift ? form.BtnMoveEndPlus : form.BtnMoveEndPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.U)
            {
                (e.Shift ? form.BtnMoveFadeInMinus : form.BtnMoveFadeInMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.I)
            {
                (e.Shift ? form.BtnMoveFadeInPlus : form.BtnMoveFadeInPlusPlus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.Y)
            {
                (e.Shift ? form.BtnMoveFadeOutMinus : form.BtnMoveFadeOutMinusMinus).PerformClick();
                e.Handled = true;
            }

            if (e.KeyCode == Keys.O)
            {
                (e.Shift ? form.BtnMoveFadeOutPlus : form.BtnMoveFadeOutPlusPlus).PerformClick();
                e.Handled = true;
            }
        }