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); }
private void BindViewModel(EditTracksViewModel viewModel, EditTracksForm form) { form.BtnPreviewAll.DataBindings.Add("Enabled", viewModel, "HasTracks", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnPreviewStart.DataBindings.Add("Enabled", viewModel, "HasTracks", false, DataSourceUpdateMode.OnPropertyChanged); form.LblTrack.DataBindings.Add("Text", viewModel, "TrackName", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnPreviewEnd.DataBindings.Add("Enabled", viewModel, "HasTracks", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnPrevious.DataBindings.Add("Enabled", viewModel, "CanNavigatePrevious", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnDelete.DataBindings.Add("Enabled", viewModel, "HasTracks", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnNext.DataBindings.Add("Enabled", viewModel, "CanNavigateNext", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnAddTrackBefore.DataBindings.Add("Enabled", viewModel, "CanAddTrackBefore", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnAddTrackAfter.DataBindings.Add("Enabled", viewModel, "CanAddTrackAfter", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveStartPlus.DataBindings.Add("Enabled", viewModel, "CanMoveStartPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveStartPlusPlus.DataBindings.Add("Enabled", viewModel, "CanMoveStartPlusPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveStartMinus.DataBindings.Add("Enabled", viewModel, "CanMoveStartMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveStartMinusMinus.DataBindings.Add("Enabled", viewModel, "CanMoveStartMinusMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeInPlus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeInPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeInPlusPlus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeInPlusPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeInMinus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeInMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeInMinusMinus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeInMinusMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveEndPlus.DataBindings.Add("Enabled", viewModel, "CanMoveEndPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveEndPlusPlus.DataBindings.Add("Enabled", viewModel, "CanMoveEndPlusPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveEndMinus.DataBindings.Add("Enabled", viewModel, "CanMoveEndMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveEndMinusMinus.DataBindings.Add("Enabled", viewModel, "CanMoveEndMinusMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeOutPlus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeOutPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeOutPlusPlus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeOutPlusPlus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeOutMinus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeOutMinus", false, DataSourceUpdateMode.OnPropertyChanged); form.BtnMoveFadeOutMinusMinus.DataBindings.Add("Enabled", viewModel, "CanMoveFadeOutMinusMinus", false, DataSourceUpdateMode.OnPropertyChanged); }
public void Edit(EditTracksViewModel viewModel, SplitTrackList tracks, VinylRipOptions options) { _options = options; _tracks = tracks; _vm = viewModel; viewModel.Build(tracks, _entryPoint.ScriptTitle); _form = _formFactory.Create(viewModel, this, _output); BindFormActions(); if (_vm.HasTracks) { _vm.CurrentTrack = tracks.GetTrack(1); } _form.ShowDialog(_app.Win32Window); }
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; } }