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); }
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); }
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; } }