X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Frhythm_ferret.h;h=68d3d5f9e46445549df865b715dc21146a4f7a22;hb=9b35264bdb6e9468c2c1bb9b4df96daa537ee432;hp=36d445093932ecba1dc7b95afe83d4ed9e093cf4;hpb=9f63ab9931e6478472853bdda58da47ea29ac125;p=ardour.git diff --git a/gtk2_ardour/rhythm_ferret.h b/gtk2_ardour/rhythm_ferret.h index 36d4450939..68d3d5f9e4 100644 --- a/gtk2_ardour/rhythm_ferret.h +++ b/gtk2_ardour/rhythm_ferret.h @@ -36,12 +36,15 @@ class RhythmFerret : public ArdourDialog { DefineTempoMap, ConformRegion }; - + RhythmFerret (PublicEditor&); ~RhythmFerret (); void set_session (ARDOUR::Session*); - + + protected: + void on_hide (); + private: PublicEditor& editor; @@ -68,6 +71,9 @@ class RhythmFerret : public ArdourDialog { Gtk::VBox ferret_packer; Gtk::ComboBoxText analysis_mode_selector; Gtk::Label analysis_mode_label; + + /* transient detection widgets */ + Gtk::Adjustment detection_threshold_adjustment; Gtk::HScale detection_threshold_scale; Gtk::Label detection_threshold_label; @@ -75,26 +81,48 @@ class RhythmFerret : public ArdourDialog { Gtk::HScale sensitivity_scale; Gtk::Label sensitivity_label; Gtk::Button analyze_button; + Gtk::VBox perc_onset_packer; + + /* onset detection widgets */ + + Gtk::ComboBoxText onset_detection_function_selector; + Gtk::Label onset_function_label; + Gtk::Adjustment peak_picker_threshold_adjustment; + Gtk::HScale peak_picker_threshold_scale; + Gtk::Label peak_picker_label; + Gtk::Adjustment silence_threshold_adjustment; + Gtk::HScale silence_threshold_scale; + Gtk::Label silence_label; + Gtk::VBox note_onset_packer; + + /* generic stuff */ + Gtk::Adjustment trigger_gap_adjustment; Gtk::SpinButton trigger_gap_spinner; Gtk::Label trigger_gap_label; + Gtk::VBox analysis_packer; + Gtk::Label operation_clarification_label; Gtk::Button action_button; std::vector analysis_mode_strings; + std::vector onset_function_strings; - std::vector current_results; + ARDOUR::AnalysisFeatureList current_results; 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, std::vector& results); + 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); void do_action (); void do_split_action (); - void do_region_split (RegionView* rv, const std::vector&); + void do_region_split (RegionView* rv, const ARDOUR::AnalysisFeatureList&); }; #endif /* __gtk2_ardour_rhythm_ferret_h__ */