public void PreviousTrack() { if (!_vm.CanNavigatePrevious) { return; } int n = _vm.CurrentTrack.Number; _vm.CurrentTrack = _tracks.GetTrack(n - 1); _fileTasks.ZoomOutFull(); }
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(); _noiseprintSelection = _fileTasks.EnforceNoisePrintSelection(App, _vinylRipOptions.NoiseprintLengthSeconds); // TODO: aiming to get this to re-use the initialisation from VinylRip2, then once valid/initialized, throw up the confirm tracks form and do the existing processing/splitting // TODO: validate tracks DialogResult result = ConfirmTrackSplitsForm(Script.Application.Win32Window); if (result == DialogResult.Cancel) { return; } DoFinalAudioClean(); Directory.CreateDirectory(_outputDirectory); _splitTrackList.InitTracks(_vinylRipOptions); _splitTrackList.DumpToScriptWindow(); DoTrackSplitting(_splitTrackList, trackMarkerNameBuilder); }
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); }
//TODO: clear console //TODO: come up with a way of saving settings between script runs, and between the 2 scripts (save options to json?) protected override void Execute() { _file = App.CurrentFile; _fileTasks = new FileTasks(_file); _fileTasks.EnforceStereoFileOpen(); _fileTasks.ZoomOutFull(); //TODO: retain marker positions in script and undo NOT working! //_file.UndosAreEnabled = true; //int undoId = _file.BeginUndo("PrepareAudio"); //_file.EndUndo(undoId, true); _vinylRipOptions = new VinylRipOptions(); _noiseprintSelection = _fileTasks.EnforceNoisePrintSelection(App, _vinylRipOptions.NoiseprintLengthSeconds); _file.Markers.Add(new SfAudioMarker(_noiseprintSelection)); CleanVinylRecording(AggressiveCleaningPreset, 3, _noiseprintSelection); //TODO: configure number of noise reduction passes? _vinylRipOptions.StartScanFilePositionInSamples = _file.SecondsToPosition(_vinylRipOptions.NoiseprintLengthSeconds); _trackList = FindTracks(App, _file); App.DoMenuAndWait("Edit.UndoAll", false); FileMarkersWrapper markers = new FileMarkersWrapper(_file); TrackMarkerFactory regionFactory = new TrackMarkerFactory(markers, Output, new TrackMarkerNameBuilder()); foreach (TrackDefinition track in _trackList) { regionFactory.CreateRegion(track.Number, track.StartPosition, track.Length); } }
private void DoFinalAudioClean() { _fileTasks.ZoomOutFull(); _fileTasks.ApplyEffectPreset(App, _fileTasks.SelectAll(), "Sony Paragraphic EQ", "Remove very low and inaudible frequencies below 20 Hz", EffectOptions.EffectOnly, Output.ToScriptWindow); CleanVinylRecording(FinalCleaningPreset, 2, _noiseprintSelection); _fileTasks.ApplyEffectPreset(App, _fileTasks.SelectAll(), "Sony Paragraphic EQ", FinalCleaningPreset, EffectOptions.EffectOnly, Output.ToScriptWindow); _fileTasks.ApplyEffectPreset(App, _fileTasks.SelectAll(), "Normalize", "Maxixmize peak value", EffectOptions.EffectOnly, Output.ToScriptWindow); Output.LineBreakToScriptWindow(); }