summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.h
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor.h')
-rw-r--r--gtk2_ardour/editor.h54
1 files changed, 45 insertions, 9 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 62d62a330f..6fe6d0207a 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -61,6 +61,7 @@
#include "editor_items.h"
#include "region_selection.h"
#include "canvas.h"
+#include "time_axis_view.h"
#include "draginfo.h"
#include "tempo_lines.h"
@@ -132,6 +133,8 @@ class Editor : public PublicEditor
void connect_to_session (ARDOUR::Session *);
ARDOUR::Session* current_session() const { return session; }
+ void first_idle ();
+ virtual bool have_idled() const { return _have_idled; }
nframes_t leftmost_position() const { return leftmost_frame; }
nframes_t current_page_frames() const {
@@ -163,9 +166,11 @@ class Editor : public PublicEditor
void add_imageframe_marker_time_axis(const std::string & track_name, TimeAxisView* marked_track, void*) ;
void connect_to_image_compositor() ;
void scroll_timeaxis_to_imageframe_item(const TimeAxisViewItem* item) ;
- TimeAxisView* get_named_time_axis(const std::string & name) ;
#endif
+ TimeAxisView* get_named_time_axis(const std::string & name) ;
+ void foreach_time_axis_view (sigc::slot<void,TimeAxisView&>);
+
RouteTimeAxisView* get_route_view_by_id (PBD::ID& id);
void consider_auditioning (boost::shared_ptr<ARDOUR::Region>);
@@ -181,6 +186,8 @@ class Editor : public PublicEditor
void set_show_waveforms (bool yn);
bool show_waveforms() const { return _show_waveforms; }
+ void set_waveform_scale (Editing::WaveformScale);
+
void set_show_waveforms_recording (bool yn);
bool show_waveforms_recording() const { return _show_waveforms_recording; }
@@ -225,14 +232,14 @@ class Editor : public PublicEditor
*/
if (pixel >= 0) {
- return (nframes_t) rint (pixel * frames_per_unit * GNOME_CANVAS(track_canvas.gobj())->pixels_per_unit);
+ return (nframes_t) rint (pixel * frames_per_unit * GNOME_CANVAS(track_canvas->gobj())->pixels_per_unit);
} else {
return 0;
}
}
gulong frame_to_pixel (nframes64_t frame) const {
- return (gulong) rint ((frame / (frames_per_unit * GNOME_CANVAS(track_canvas.gobj())->pixels_per_unit)));
+ return (gulong) rint ((frame / (frames_per_unit * GNOME_CANVAS(track_canvas->gobj())->pixels_per_unit)));
}
void flush_canvas ();
@@ -561,8 +568,8 @@ class Editor : public PublicEditor
void set_canvas_cursor ();
Gdk::Cursor* which_grabber_cursor ();
- ArdourCanvas::CanvasAA track_canvas;
- ArdourCanvas::CanvasAA time_canvas;
+ ArdourCanvas::Canvas* track_canvas;
+ ArdourCanvas::Canvas* time_canvas;
ArdourCanvas::Text* first_action_message;
ArdourCanvas::Text* verbose_canvas_cursor;
@@ -596,7 +603,7 @@ class Editor : public PublicEditor
ArdourCanvas::Group *transport_marker_group;
ArdourCanvas::Group* cd_marker_group;
- enum {
+ enum RulerType {
ruler_metric_smpte = 0,
ruler_metric_bbt = 1,
ruler_metric_frames = 2,
@@ -611,7 +618,16 @@ class Editor : public PublicEditor
};
static GtkCustomMetric ruler_metrics[4];
- bool ruler_shown[10];
+ Glib::RefPtr<Gtk::ToggleAction> ruler_timecode_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_bbt_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_samples_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_minsec_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_tempo_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_meter_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_marker_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_range_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_loop_punch_action;
+ Glib::RefPtr<Gtk::ToggleAction> ruler_cd_marker_action;
bool no_ruler_shown_update;
gint ruler_button_press (GdkEventButton*);
@@ -629,6 +645,8 @@ class Editor : public PublicEditor
void update_tempo_based_rulers ();
void popup_ruler_menu (nframes_t where = 0, ItemType type = RegionItem);
void update_ruler_visibility ();
+ void set_ruler_visible (RulerType, bool);
+ void toggle_ruler_visibility (RulerType rt);
void ruler_toggled (int);
gint ruler_label_button_release (GdkEventButton*);
void store_ruler_visibility ();
@@ -1018,7 +1036,7 @@ class Editor : public PublicEditor
void cut_copy (Editing::CutCopyOp);
bool can_cut_copy () const;
void cut_copy_points (Editing::CutCopyOp);
- void cut_copy_regions (Editing::CutCopyOp);
+ void cut_copy_regions (Editing::CutCopyOp, RegionSelection&);
void cut_copy_ranges (Editing::CutCopyOp);
void mouse_paste ();
@@ -1135,7 +1153,10 @@ class Editor : public PublicEditor
SoundFileOmega* sfbrowser;
void bring_in_external_audio (Editing::ImportMode mode, nframes64_t& pos);
+
+ void _do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&);
void do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&);
+ bool idle_do_import (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, ARDOUR::SrcQuality, nframes64_t&);
void _do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&);
void do_embed (vector<Glib::ustring> paths, Editing::ImportDisposition, Editing::ImportMode mode, nframes64_t&);
@@ -1641,6 +1662,7 @@ public:
void time_selection_changed ();
void track_selection_changed ();
void region_selection_changed ();
+ void sensitize_the_right_region_actions (bool have_selected_regions);
void point_selection_changed ();
void marker_selection_changed ();
@@ -2172,7 +2194,7 @@ public:
Gtk::ComboBoxText edit_point_selector;
- void set_edit_point_preference (Editing::EditPoint ep);
+ void set_edit_point_preference (Editing::EditPoint ep, bool force = false);
void cycle_edit_point (bool with_marker);
void set_edit_point ();
void edit_point_selection_done ();
@@ -2203,6 +2225,20 @@ public:
void snap_to_internal (nframes64_t& first, int32_t direction = 0, bool for_mark = false);
RhythmFerret* rhythm_ferret;
+
+ void set_track_height (TimeAxisView::TrackHeight h);
+ void set_track_height_largest ();
+ void set_track_height_large ();
+ void set_track_height_larger ();
+ void set_track_height_normal ();
+ void set_track_height_smaller ();
+ void set_track_height_small ();
+
+ void remove_tracks ();
+ void toggle_tracks_active ();
+ void waveform_scale_chosen (Editing::WaveformScale);
+
+ bool _have_idled;
};
#endif /* __ardour_editor_h__ */