#include "gtk-custom-ruler.h"
#include "ardour_button.h"
#include "ardour_dialog.h"
-#include "ardour_menu.h"
+#include "ardour_dropdown.h"
#include "public_editor.h"
#include "editing.h"
#include "enums.h"
void nudge_forward_capture_offset ();
void nudge_backward_capture_offset ();
+ void sequence_regions ();
+
/* playhead/screen stuff */
void set_stationary_playhead (bool yn);
ArdourCanvas::Group* get_trackview_group () const { return _trackview_group; }
ArdourCanvas::Group* get_time_bars_group () const;
ArdourCanvas::Group* get_track_canvas_group () const;
- ArdourCanvas::GtkCanvasViewport* get_time_bars_canvas () const;
ArdourCanvas::GtkCanvasViewport* get_track_canvas () const;
void override_visible_track_count ();
ArdourCanvas::GtkCanvas* _track_canvas;
ArdourCanvas::GtkCanvasViewport* _track_canvas_viewport;
- ArdourCanvas::GtkCanvas* _time_bars_canvas;
- ArdourCanvas::GtkCanvasViewport* _time_bars_canvas_viewport;
-
bool within_track_canvas;
friend class VerboseCursor;
ArdourCanvas::Group* transport_marker_bar_group;
ArdourCanvas::Group* cd_marker_bar_group;
- /* The group containing all trackviews. Only scrolled vertically. */
+ /* The group containing all other groups that are scrolled vertically
+ and horizontally.
+ */
+ ArdourCanvas::Group* hv_scroll_group;
+
+ /* The group containing all other groups that are scrolled vertically ONLY
+ */
+ ArdourCanvas::Group* v_scroll_group;
+
+ /* The group containing all other groups that are scrolled horizontally ONLY
+ */
+ ArdourCanvas::Group* h_scroll_group;
+
+ /* The group containing all trackviews. */
ArdourCanvas::Group* _trackview_group;
/* The group used for region motion. Sits on top of _trackview_group */
ArdourCanvas::Group* _region_motion_group;
+ /* a rect that sits at the bottom of all tracks to act as a drag-no-drop/clickable
+ * target area.
+ */
+ ArdourCanvas::Rectangle* _canvas_bottom_rect;
+ bool canvas_bottom_rect_event (GdkEvent* event);
+
enum RulerType {
ruler_metric_timecode = 0,
ruler_metric_bbt = 1,
/* track views */
TrackViewList track_views;
std::pair<TimeAxisView*, double> trackview_by_y_position (double);
- TimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const;
+ RouteTimeAxisView* axis_view_from_route (boost::shared_ptr<ARDOUR::Route>) const;
TrackViewList get_tracks_for_range_action () const;
void escape ();
Gtk::Menu fade_context_menu;
- void popup_fade_context_menu (int, int, ArdourCanvas::Item*, ItemType);
Gtk::Menu xfade_in_context_menu;
Gtk::Menu xfade_out_context_menu;
bool canvas_start_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
bool canvas_end_xfade_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
bool canvas_fade_in_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
- bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
+ bool canvas_fade_in_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*, bool trim = false);
bool canvas_fade_out_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
- bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*);
+ bool canvas_fade_out_handle_event (GdkEvent* event,ArdourCanvas::Item*, AudioRegionView*, bool trim = false);
bool canvas_region_view_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_frame_handle_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
bool canvas_region_view_name_highlight_event (GdkEvent* event,ArdourCanvas::Item*, RegionView*);
Gtk::Allocation _canvas_viewport_allocation;
void track_canvas_viewport_allocate (Gtk::Allocation alloc);
- bool track_canvas_viewport_size_allocated ();
+ void track_canvas_viewport_size_allocated ();
bool track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const &, int, int, guint);
bool track_canvas_key_press (GdkEventKey *);
bool track_canvas_key_release (GdkEventKey *);
ArdourButton tav_expand_button;
ArdourButton tav_shrink_button;
- ArdourMenu visible_tracks_selector;
- int32_t _visible_track_count;
- void build_track_count_menu ();
- void set_visible_track_count (int32_t);
+ ArdourDropdown visible_tracks_selector;
+
+ int32_t _visible_track_count;
+ void build_track_count_menu ();
+ void set_visible_track_count (int32_t);
Gtk::VBox toolbar_clock_vbox;
Gtk::VBox toolbar_selection_clock_vbox;
Gtk::Button automation_mode_button;
//edit mode menu stuff
- ArdourMenu edit_mode_selector;
+ ArdourDropdown edit_mode_selector;
void edit_mode_selection_done ( ARDOUR::EditMode m );
void build_edit_mode_menu ();
Gtk::VBox edit_mode_box;
void set_edit_mode (ARDOUR::EditMode);
void cycle_edit_mode ();
- ArdourMenu snap_type_selector;
+ ArdourDropdown snap_type_selector;
void build_snap_type_menu ();
- ArdourMenu snap_mode_selector;
+ ArdourDropdown snap_mode_selector;
void build_snap_mode_menu ();
Gtk::HBox snap_box;
Glib::RefPtr<Gtk::RadioAction> snap_mode_action (Editing::SnapMode);
//zoom focus meu stuff
- ArdourMenu zoom_focus_selector;
+ ArdourDropdown zoom_focus_selector;
void zoom_focus_selection_done ( Editing::ZoomFocus f );
void build_zoom_focus_menu ();
std::vector<std::string> zoom_focus_strings;
Editing::EditPoint _edit_point;
- ArdourMenu edit_point_selector;
+ ArdourDropdown edit_point_selector;
void build_edit_point_menu();
void set_edit_point_preference (Editing::EditPoint ep, bool force = false);