X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor.h;h=2ff5d24999a5c8e8df0a4a58b3caed06c1e3b0f4;hb=d0227fe5b7c30271cd2950a71d429cf03b0db2db;hp=e500060b41b301dfbc4f54e0f31de2d92a2807b8;hpb=1e8586742e48f56bb81fa14c50442cec23894dfd;p=ardour.git diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h index e500060b41..2ff5d24999 100644 --- a/gtk2_ardour/editor.h +++ b/gtk2_ardour/editor.h @@ -42,6 +42,7 @@ #include "gtkmm2ext/selector.h" #include "gtkmm2ext/click_box.h" #include "gtkmm2ext/dndtreeview.h" +#include "gtkmm2ext/stateful_button.h" #include "pbd/stateful.h" #include "pbd/signals.h" @@ -639,6 +640,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void set_selected_track (TimeAxisView&, Selection::Operation op = Selection::Set, bool no_remove=false); void select_all_tracks (); + void select_all_internal_edit (Selection::Operation); bool set_selected_control_point_from_click (Selection::Operation op = Selection::Set, bool no_remove=false); void set_selected_track_from_click (bool press, Selection::Operation op = Selection::Set, bool no_remove=false); @@ -670,7 +672,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD Gtk::Menu* build_track_selection_context_menu (); void add_dstream_context_items (Gtk::Menu_Helpers::MenuList&); void add_bus_context_items (Gtk::Menu_Helpers::MenuList&); - void add_region_context_items (Gtk::Menu_Helpers::MenuList&, bool); + void add_region_context_items (Gtk::Menu_Helpers::MenuList&, boost::shared_ptr); void add_crossfade_context_items (AudioStreamView*, boost::shared_ptr, Gtk::Menu_Helpers::MenuList&, bool many); void add_selection_context_items (Gtk::Menu_Helpers::MenuList&); Gtk::MenuItem* _popup_region_menu_item; @@ -933,16 +935,21 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD Gtk::Table edit_packer; Gtk::Adjustment vertical_adjustment; - + Gtk::Layout controls_layout; bool control_layout_scroll (GdkEventScroll* ev); - void controls_layout_size_request (Gtk::Requisition*); - sigc::connection controls_layout_size_request_connection; - - bool horizontal_scroll_left_press (); - void horizontal_scroll_left_release (); - bool horizontal_scroll_right_press (); - void horizontal_scroll_right_release (); + void reset_controls_layout_width (); + void reset_controls_layout_height (int32_t height); + + enum Direction { + LEFT, + RIGHT, + UP, + DOWN + }; + + bool scroll_press (Direction); + void scroll_release (); sigc::connection _scroll_connection; int _scroll_callbacks; @@ -1070,7 +1077,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void lower_region_to_bottom (); void split_regions_at (framepos_t, RegionSelection&); void split_region_at_transients (); - void split_region_at_points (boost::shared_ptr, ARDOUR::AnalysisFeatureList&, bool can_ferret); + void split_region_at_points (boost::shared_ptr, ARDOUR::AnalysisFeatureList&, bool can_ferret, bool select_new = false); void crop_region_to_selection (); void crop_region_to (framepos_t start, framepos_t end); void set_sync_point (framepos_t, const RegionSelection&); @@ -1131,8 +1138,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void snap_regions_to_grid (); void close_region_gaps (); - int get_prefix (float&, bool&); - void keyboard_paste (); void region_from_selection (); @@ -1154,9 +1159,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void temporal_zoom_by_frame (framepos_t start, framepos_t end, const std::string & op); void temporal_zoom_to_frame (bool coarser, framepos_t frame); - void amplitude_zoom (gdouble scale); - void amplitude_zoom_step (bool in); - void insert_region_list_drag (boost::shared_ptr, int x, int y); void insert_region_list_selection (float times); @@ -1218,25 +1220,15 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void move_to_start (); void move_to_end (); - void goto_frame (); void center_playhead (); void center_edit_point (); - void edit_cursor_backward (); - void edit_cursor_forward (); void playhead_forward_to_grid (); void playhead_backward_to_grid (); - void playhead_backward (); - void playhead_forward (); void scroll_playhead (bool forward); void scroll_backward (float pages=0.8f); void scroll_forward (float pages=0.8f); void scroll_tracks_down (); void scroll_tracks_up (); - void delete_sample_forward (); - void delete_sample_backward (); - void delete_screen (); - void search_backwards (); - void search_forwards (); void set_mark (); void clear_markers (); void clear_ranges (); @@ -1383,6 +1375,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*); bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*); bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*); + + PBD::Signal0 EditorFreeze; + PBD::Signal0 EditorThaw; private: friend class DragManager; @@ -1529,19 +1524,19 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD Gtk::Label toolbar_selection_cursor_label; Gtkmm2ext::TearOff* _mouse_mode_tearoff; - Gtk::ToggleButton mouse_select_button; - Gtk::ToggleButton mouse_move_button; - Gtk::ToggleButton mouse_gain_button; - Gtk::ToggleButton mouse_zoom_button; - Gtk::ToggleButton mouse_timefx_button; - Gtk::ToggleButton mouse_audition_button; - Gtk::ToggleButton join_object_range_button; + Gtkmm2ext::StatefulToggleButton mouse_select_button; + Gtkmm2ext::StatefulToggleButton mouse_move_button; + Gtkmm2ext::StatefulToggleButton mouse_gain_button; + Gtkmm2ext::StatefulToggleButton mouse_zoom_button; + Gtkmm2ext::StatefulToggleButton mouse_timefx_button; + Gtkmm2ext::StatefulToggleButton mouse_audition_button; + Gtkmm2ext::StatefulToggleButton join_object_range_button; void mouse_mode_toggled (Editing::MouseMode m); void mouse_mode_object_range_toggled () {} bool ignore_mouse_mode_toggle; - Gtk::ToggleButton internal_edit_button; + Gtkmm2ext::StatefulToggleButton internal_edit_button; void toggle_internal_editing (); gint mouse_select_button_release (GdkEventButton*); @@ -1658,7 +1653,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD /* object rubberband select process */ - bool select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool); + void select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool); ArdourCanvas::SimpleRect *rubberband_rect; @@ -1975,6 +1970,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD void get_regions_at (RegionSelection&, framepos_t where, const TrackViewList& ts) const; void get_regions_after (RegionSelection&, framepos_t where, const TrackViewList& ts) const; + RegionSelection get_regions_from_selection (); RegionSelection get_regions_from_selection_and_edit_point (); RegionSelection get_regions_from_selection_and_entered (); @@ -2020,7 +2016,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD Gtk::HBox _summary_hbox; EditorSummary* _summary; + void region_view_added (RegionView *); + void region_view_removed (); void update_canvas_now ();