X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Frhythm_ferret.h;h=f0919168822e47ec083494623ffbd1e8bb2f343f;hb=6e469ffb5e0fa93fff77f7559e5b94861f9e1be7;hp=b18a86377ca0dc516dbca2dc1060589652c26080;hpb=7df62788656fdfbb1ea4a8012ce7205227489e7e;p=ardour.git diff --git a/gtk2_ardour/rhythm_ferret.h b/gtk2_ardour/rhythm_ferret.h index b18a86377c..f091916882 100644 --- a/gtk2_ardour/rhythm_ferret.h +++ b/gtk2_ardour/rhythm_ferret.h @@ -1,3 +1,22 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #ifndef __gtk2_ardour_rhythm_ferret_h__ #define __gtk2_ardour_rhythm_ferret_h__ @@ -12,12 +31,13 @@ #include #include "ardour_dialog.h" +#include "region_selection.h" namespace ARDOUR { class Readable; } -class PublicEditor; +class Editor; class RegionView; class RhythmFerret : public ArdourDialog { @@ -32,11 +52,11 @@ class RhythmFerret : public ArdourDialog { enum Action { SplitRegion, - DefineTempoMap, + SnapRegionsToGrid, ConformRegion }; - RhythmFerret (PublicEditor&); + RhythmFerret (Editor&); void set_session (ARDOUR::Session*); @@ -44,7 +64,7 @@ class RhythmFerret : public ArdourDialog { void on_hide (); private: - PublicEditor& editor; + Editor& editor; Gtk::ComboBoxText operation_selector; @@ -65,6 +85,10 @@ class RhythmFerret : public ArdourDialog { Gtk::HScale peak_picker_threshold_scale; Gtk::Adjustment silence_threshold_adjustment; Gtk::HScale silence_threshold_scale; +#ifdef HAVE_AUBIO4 + Gtk::Adjustment minioi_adjustment; + Gtk::HScale minioi_scale; +#endif /* generic stuff */ @@ -79,14 +103,18 @@ class RhythmFerret : public ArdourDialog { ARDOUR::AnalysisFeatureList current_results; + void clear_transients (); + /** Regions that we have added transient marks to */ + RegionSelection regions_with_transients; + AnalysisMode get_analysis_mode () const; Action get_action() const; void analysis_mode_changed (); int get_note_onset_function (); void run_analysis (); - int run_percussion_onset_analysis (boost::shared_ptr region, nframes64_t offset, ARDOUR::AnalysisFeatureList& results); - int run_note_onset_analysis (boost::shared_ptr region, nframes64_t offset, ARDOUR::AnalysisFeatureList& results); + int run_percussion_onset_analysis (boost::shared_ptr region, ARDOUR::frameoffset_t offset, ARDOUR::AnalysisFeatureList& results); + int run_note_onset_analysis (boost::shared_ptr region, ARDOUR::frameoffset_t offset, ARDOUR::AnalysisFeatureList& results); void do_action (); void do_split_action ();