#include <sndfile.h>
-#include <gtkmm.h>
#include <gtkmm/layout.h>
-#include <gtk-canvas.h>
-#include <gtk-canvas/gtk-canvas-util.h>
+#include <gtkmm/comboboxtext.h>
+
+#include <libgnomecanvas/libgnomecanvas.h>
+#include <libgnomecanvas/gnome-canvas-util.h>
+
+#include <libgnomecanvasmm/canvas.h>
+#include <libgnomecanvasmm/polygon.h>
+#include <libgnomecanvasmm/text.h>
+#include <libgnomecanvasmm/rect.h>
+#include <libgnomecanvasmm/line.h>
+
#include <gtkmm2ext/selector.h>
#include <gtkmm2ext/click_box.h>
#include "editing.h"
#include "enums.h"
#include "region_selection.h"
+#include "simplerect.h"
namespace Gtkmm2ext {
class TearOff;
class TrackSelection;
class AutomationSelection;
class MixerStrip;
-class SoundFileSelector;
class StreamView;
class ControlPoint;
TimeAxisView* get_named_time_axis(std::string name) ;
/* </CMT Additions> */
- /* public access to auditioning */
-
- bool consider_auditioning (ARDOUR::AudioRegion*);
+ void consider_auditioning (ARDOUR::Region&);
+ void hide_a_region (ARDOUR::Region&);
+ void remove_a_region (ARDOUR::Region&);
/* option editor-access */
*/
if (pixel >= 0) {
- return (jack_nframes_t) rint (pixel * frames_per_unit * GTK_CANVAS(track_gtk_canvas)->pixels_per_unit);
+ return (jack_nframes_t) rint (pixel * frames_per_unit * GNOME_CANVAS(track_canvas.gobj())->pixels_per_unit);
} else {
return 0;
}
}
gulong frame_to_pixel (jack_nframes_t frame) {
- return (gulong) rint ((frame / (frames_per_unit * GTK_CANVAS(track_gtk_canvas)->pixels_per_unit)));
+ return (gulong) rint ((frame / (frames_per_unit * GNOME_CANVAS(track_canvas.gobj())->pixels_per_unit)));
}
/* selection */
Width editor_mixer_strip_width;
void show_editor_mixer (bool yn);
void set_selected_mixer_strip (TimeAxisView&);
- void unselect_strip_in_display (TimeAxisView& tv);
- void select_strip_in_display (TimeAxisView& tv);
+ void unselect_strip_in_display (TimeAxisView* tv);
+ void select_strip_in_display (TimeAxisView* tv);
/* nudge is initiated by transport controls owned by ARDOUR_UI */
void map_transport_state ();
void map_position_change (jack_nframes_t);
- void realize_impl();
- void map__impl();
+ void on_realize();
+ void on_map ();
private:
void refresh_location_display_internal (ARDOUR::Locations::LocationList&);
void add_new_location (ARDOUR::Location *);
void location_gone (ARDOUR::Location *);
- void remove_marker (GtkCanvasItem*, GdkEvent*);
+ void remove_marker (Gnome::Canvas::Polygon&, GdkEvent*);
gint really_remove_marker (ARDOUR::Location* loc);
uint32_t location_marker_color;
LocationMarkers *find_location_markers (ARDOUR::Location *);
ARDOUR::Location* find_location_from_marker (Marker *, bool& is_start);
- typedef map<ARDOUR::Location*,LocationMarkers *> LocationMarkerMap;
+ typedef std::map<ARDOUR::Location*,LocationMarkers *> LocationMarkerMap;
LocationMarkerMap location_markers;
- void hide_marker (GtkCanvasItem*, GdkEvent*);
+ void hide_marker (GnomeCanvasItem*, GdkEvent*);
void clear_marker_display ();
void mouse_add_new_marker (jack_nframes_t where);
Gtk::VBox global_vpacker;
Gtk::VBox vpacker;
- GdkCursor *current_canvas_cursor;
+ Gdk::Cursor* current_canvas_cursor;
- GtkWidget *track_gtk_canvas;
- GtkWidget *time_gtk_canvas;
- Gtk::Widget *track_canvas;
- Gtk::Widget *time_canvas;
+ Gnome::Canvas::CanvasAA track_canvas;
+ Gnome::Canvas::CanvasAA time_canvas;
- GtkCanvasItem* first_action_message;
- GtkCanvasItem *verbose_canvas_cursor;
- bool verbose_cursor_visible;
+ Gnome::Canvas::Text* first_action_message;
+ Gnome::Canvas::Text* verbose_canvas_cursor;
+ bool verbose_cursor_visible;
void session_control_changed (ARDOUR::Session::ControlType);
void queue_session_control_changed (ARDOUR::Session::ControlType);
- gint track_canvas_motion (GtkCanvasItem*, GdkEvent*);
+ gint track_canvas_motion (GdkEvent*);
void set_verbose_canvas_cursor (string, double x, double y);
void set_verbose_canvas_cursor_text (string);
void show_verbose_canvas_cursor();
Gtk::EventBox track_canvas_event_box;
Gtk::EventBox time_button_event_box;
- GtkCanvasItem *minsec_group;
- GtkCanvasItem *bbt_group;
- GtkCanvasItem *smpte_group;
- GtkCanvasItem *frame_group;
- GtkCanvasItem *tempo_group;
- GtkCanvasItem *meter_group;
- GtkCanvasItem *marker_group;
- GtkCanvasItem *range_marker_group;
- GtkCanvasItem *transport_marker_group;
+ Gnome::Canvas::Group *minsec_group;
+ Gnome::Canvas::Group *bbt_group;
+ Gnome::Canvas::Group *smpte_group;
+ Gnome::Canvas::Group *frame_group;
+ Gnome::Canvas::Group *tempo_group;
+ Gnome::Canvas::Group *meter_group;
+ Gnome::Canvas::Group *marker_group;
+ Gnome::Canvas::Group *range_marker_group;
+ Gnome::Canvas::Group *transport_marker_group;
enum {
ruler_metric_smpte = 0,
static const double timebar_height;
guint32 visible_timebars;
Gtk::Menu *editor_ruler_menu;
-
- GtkCanvasItem *tempo_bar;
- GtkCanvasItem *meter_bar;
- GtkCanvasItem *marker_bar;
- GtkCanvasItem *range_marker_bar;
-
- GtkCanvasItem *transport_marker_bar;
+ Gnome::Canvas::SimpleRect* tempo_bar;
+ Gnome::Canvas::SimpleRect* meter_bar;
+ Gnome::Canvas::SimpleRect* marker_bar;
+ Gnome::Canvas::SimpleRect* range_marker_bar;
+ Gnome::Canvas::SimpleRect* transport_marker_bar;
- GtkCanvasItem *tempo_line;
- GtkCanvasItem *meter_line;
- GtkCanvasItem *marker_line;
- GtkCanvasItem *range_marker_line;
- GtkCanvasItem *transport_marker_line;
-
- GtkCanvasPoints *tempo_line_points;
- GtkCanvasPoints *meter_line_points;
- GtkCanvasPoints *marker_line_points;
- GtkCanvasPoints *range_marker_line_points;
- GtkCanvasPoints *transport_marker_line_points;
+ Gnome::Canvas::Line* tempo_line;
+ Gnome::Canvas::Line* meter_line;
+ Gnome::Canvas::Line* marker_line;
+ Gnome::Canvas::Line* range_marker_line;
+ Gnome::Canvas::Line* transport_marker_line;
+
+ Gnome::Canvas::Points* tempo_line_points;
+ Gnome::Canvas::Points* meter_line_points;
+ Gnome::Canvas::Points* marker_line_points;
+ Gnome::Canvas::Points* range_marker_line_points;
+ Gnome::Canvas::Points* transport_marker_line_points;
Gtk::Label minsec_label;
Gtk::Label bbt_label;
struct Cursor {
Editor& editor;
- GtkCanvasPoints *points;
- GtkCanvasItem *canvas_item;
+ Gnome::Canvas::Points* points;
+ Gnome::Canvas::Item* canvas_item;
jack_nframes_t current_frame;
GtkSignalFunc callback;
double length;
Cursor* playhead_cursor;
Cursor* edit_cursor;
- GtkCanvasItem* cursor_group;
+ Gnome::Canvas::Group* cursor_group;
void cursor_to_next_region_point (Cursor*, ARDOUR::RegionPoint);
void cursor_to_previous_region_point (Cursor*, ARDOUR::RegionPoint);
bool no_zoom_repos_update;
bool no_tempo_map_update;
- Gtk::CTree region_list_display;
- Gtk::CTree_Helpers::RowList::iterator region_list_hidden_node;
+ struct RegionListDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ RegionListDisplayModelColumns() {
+ add (name);
+ add (region);
+ }
+ Gtk::TreeModelColumn<Glib::ustring> name;
+ Gtk::TreeModelColumn<ARDOUR::Region*> region;
+ };
+
+ RegionListDisplayModelColumns region_list_columns;
+ Gtk::TreeView region_list_display;
+ Glib::RefPtr<Gtk::TreeStore> region_list_model;
+ Glib::RefPtr<Gtk::TreeModelSort> region_list_sort_model;
+ Glib::RefPtr<Gtk::Action> toggle_full_region_list_action;
+
+ void region_list_selection_changed ();
+
Gtk::Menu *region_list_menu;
- vector<Gtk::MenuItem*> rl_context_menu_region_items;
Gtk::ScrolledWindow region_list_scroller;
Gtk::Frame region_list_frame;
- gint region_list_display_key_press (GdkEventKey *);
- gint region_list_display_key_release (GdkEventKey *);
- gint region_list_display_button_press (GdkEventButton *);
- gint region_list_display_button_release (GdkEventButton *);
- gint region_list_display_enter_notify (GdkEventCrossing *);
- gint region_list_display_leave_notify (GdkEventCrossing *);
- void region_list_display_selected (gint row, gint col, GdkEvent* ev);
- void region_list_display_unselected (gint row, gint col, GdkEvent* ev);
- void region_list_column_click (gint);
+ bool region_list_display_key_press (GdkEventKey *);
+ bool region_list_display_key_release (GdkEventKey *);
+ bool region_list_display_button_press (GdkEventButton *);
+ bool region_list_display_button_release (GdkEventButton *);
+ bool region_list_display_enter_notify (GdkEventCrossing *);
+ bool region_list_display_leave_notify (GdkEventCrossing *);
void region_list_clear ();
+ void region_list_selection_mapover (sigc::slot<void,ARDOUR::Region&>);
void build_region_list_menu ();
Gtk::CheckMenuItem* toggle_auto_regions_item;
void toggle_full_region_list ();
void toggle_show_auto_regions ();
- static gint _region_list_sorter (GtkCList*, gconstpointer, gconstpointer);
- gint region_list_sorter (gconstpointer, gconstpointer);
+ int region_list_sorter (Gtk::TreeModel::iterator, Gtk::TreeModel::iterator);
/* named selections */
+ struct NamedSelectionDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ NamedSelectionDisplayModelColumns() {
+ add (text);
+ add (selection);
+ }
+ Gtk::TreeModelColumn<Glib::ustring> text;
+ Gtk::TreeModelColumn<ARDOUR::NamedSelection*> selection;
+ };
+
+ NamedSelectionDisplayModelColumns named_selection_columns;
+ Glib::RefPtr<Gtk::TreeStore> named_selection_model;
+
Gtk::VPaned region_selection_vpane;
- Gtk::CList named_selection_display;
+ Gtk::TreeView named_selection_display;
Gtk::ScrolledWindow named_selection_scroller;
void name_selection();
void redisplay_named_selections ();
gint named_selection_display_button_press (GdkEventButton *ev);
- void named_selection_display_selected (gint row, gint col, GdkEvent *ev);
- void named_selection_display_unselected (gint row, gint col, GdkEvent *ev);
+ void named_selection_display_selection_changed ();
/* track views */
int track_spacing;
TrackViewList track_views;
TimeAxisView *trackview_by_y_position (double ypos);
- static GdkCursor* cross_hair_cursor;
- static GdkCursor* trimmer_cursor;
- static GdkCursor* selector_cursor;
- static GdkCursor* grabber_cursor;
- static GdkCursor* zoom_cursor;
- static GdkCursor* time_fx_cursor;
- static GdkCursor* fader_cursor;
- static GdkCursor* speaker_cursor;
- static GdkCursor* null_cursor;
- static GdkCursor* wait_cursor;
- static GdkCursor* timebar_cursor;
+ static Gdk::Cursor* cross_hair_cursor;
+ static Gdk::Cursor* trimmer_cursor;
+ static Gdk::Cursor* selector_cursor;
+ static Gdk::Cursor* grabber_cursor;
+ static Gdk::Cursor* zoom_cursor;
+ static Gdk::Cursor* time_fx_cursor;
+ static Gdk::Cursor* fader_cursor;
+ static Gdk::Cursor* speaker_cursor;
+ static Gdk::Cursor* null_cursor;
+ static Gdk::Cursor* wait_cursor;
+ static Gdk::Cursor* timebar_cursor;
static void build_cursors ();
jack_nframes_t cut_buffer_start;
jack_nframes_t cut_buffer_length;
- gint typed_event (GtkCanvasItem*, GdkEvent*, ItemType);
- gint button_press_handler (GtkCanvasItem*, GdkEvent*, ItemType);
- gint button_release_handler (GtkCanvasItem*, GdkEvent*, ItemType);
- gint motion_handler (GtkCanvasItem*, GdkEvent*, ItemType);
- gint enter_handler (GtkCanvasItem*, GdkEvent*, ItemType);
- gint leave_handler (GtkCanvasItem*, GdkEvent*, ItemType);
+ gint typed_event (GnomeCanvasItem*, GdkEvent*, ItemType);
+ gint button_press_handler (GnomeCanvasItem*, GdkEvent*, ItemType);
+ gint button_release_handler (GnomeCanvasItem*, GdkEvent*, ItemType);
+ gint motion_handler (GnomeCanvasItem*, GdkEvent*, ItemType);
+ gint enter_handler (GnomeCanvasItem*, GdkEvent*, ItemType);
+ gint leave_handler (GnomeCanvasItem*, GdkEvent*, ItemType);
/* KEYMAP HANDLING */
+ void register_actions ();
void install_keybindings ();
int ensure_cursor (jack_nframes_t* pos);
void normalize_region ();
void denormalize_region ();
- ARDOUR::Region* region_list_button_region;
void audition_region_from_region_list ();
- void remove_region_from_region_list ();
void hide_region_from_region_list ();
- void remove_selected_regions_from_region_list ();
+ void remove_region_from_region_list ();
void align (ARDOUR::RegionPoint);
void align_relative (ARDOUR::RegionPoint);
void amplitude_zoom (gdouble scale);
void amplitude_zoom_step (bool in);
- ARDOUR::AudioRegion* region_list_display_drag_region;
- char need_wave_cursor;
- gint region_list_display_motion (GdkEventMotion*);
-
void insert_region_list_drag (ARDOUR::AudioRegion&);
void insert_region_list_selection (float times);
void hide_all_tracks (bool with_select);
- void route_list_selected (gint row, gint col, GdkEvent* ev);
- void route_list_unselected (gint row, gint col, GdkEvent* ev);
+ void route_display_selection_changed ();
void redisplay_route_list();
gint route_list_reordered ();
bool ignore_route_list_reorder;
- void queue_route_list_reordered (gint row, gint col);
+ void queue_route_list_reordered ();
struct DragInfo {
- GtkCanvasItem* item;
+ GnomeCanvasItem* item;
void* data;
jack_nframes_t last_frame_position;
int32_t pointer_frame_offset;
double cumulative_y_drag;
double current_pointer_x;
double current_pointer_y;
- void (Editor::*motion_callback)(GtkCanvasItem*, GdkEvent*);
- void (Editor::*finished_callback)(GtkCanvasItem*, GdkEvent*);
+ void (Editor::*motion_callback)(GnomeCanvasItem*, GdkEvent*);
+ void (Editor::*finished_callback)(GnomeCanvasItem*, GdkEvent*);
TimeAxisView* last_trackview;
bool x_constrained;
bool copy;
LineDragInfo current_line_drag_info;
- void start_grab (GdkEvent*, GdkCursor* cursor = 0);
- bool end_grab (GtkCanvasItem*, GdkEvent*);
+ void start_grab (GdkEvent*, Gdk::Cursor* cursor = 0);
+ bool end_grab (GnomeCanvasItem*, GdkEvent*);
Gtk::Menu fade_context_menu;
- void popup_fade_context_menu (int, int, GtkCanvasItem*, ItemType);
-
- void start_fade_in_grab (GtkCanvasItem*, GdkEvent*);
- void start_fade_out_grab (GtkCanvasItem*, GdkEvent*);
- void fade_in_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void fade_out_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void fade_in_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void fade_out_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
+ void popup_fade_context_menu (int, int, GnomeCanvasItem*, ItemType);
+
+ void start_fade_in_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_fade_out_grab (GnomeCanvasItem*, GdkEvent*);
+ void fade_in_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void fade_out_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void fade_in_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void fade_out_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
std::set<ARDOUR::Playlist*> motion_frozen_playlists;
- void region_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void region_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void region_copy_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
-
- void cursor_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void cursor_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void marker_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void marker_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void control_point_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void control_point_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void line_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void line_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
-
- void tempo_marker_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void tempo_marker_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
- void meter_marker_drag_motion_callback (GtkCanvasItem*, GdkEvent*);
- void meter_marker_drag_finished_callback (GtkCanvasItem*, GdkEvent*);
-
- gint mouse_rename_region (GtkCanvasItem*, GdkEvent*);
-
- void start_region_grab (GtkCanvasItem*, GdkEvent*);
- void start_region_copy_grab (GtkCanvasItem*, GdkEvent*);
- void start_region_brush_grab (GtkCanvasItem*, GdkEvent*);
- void start_selection_grab (GtkCanvasItem*, GdkEvent*);
- void start_cursor_grab (GtkCanvasItem*, GdkEvent*);
- void start_marker_grab (GtkCanvasItem*, GdkEvent*);
- void start_control_point_grab (GtkCanvasItem*, GdkEvent*);
- void start_line_grab_from_regionview (GtkCanvasItem*, GdkEvent*);
- void start_line_grab_from_line (GtkCanvasItem*, GdkEvent*);
+ void region_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void region_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void region_copy_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+
+ void cursor_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void cursor_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void marker_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void marker_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void control_point_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void control_point_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void line_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void line_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+
+ void tempo_marker_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void tempo_marker_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+ void meter_marker_drag_motion_callback (GnomeCanvasItem*, GdkEvent*);
+ void meter_marker_drag_finished_callback (GnomeCanvasItem*, GdkEvent*);
+
+ gint mouse_rename_region (GnomeCanvasItem*, GdkEvent*);
+
+ void start_region_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_region_copy_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_region_brush_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_selection_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_cursor_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_marker_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_control_point_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_line_grab_from_regionview (GnomeCanvasItem*, GdkEvent*);
+ void start_line_grab_from_line (GnomeCanvasItem*, GdkEvent*);
void start_line_grab (AutomationLine *, GdkEvent*);
- void start_tempo_marker_grab (GtkCanvasItem*, GdkEvent*);
- void start_meter_marker_grab (GtkCanvasItem*, GdkEvent*);
+ void start_tempo_marker_grab (GnomeCanvasItem*, GdkEvent*);
+ void start_meter_marker_grab (GnomeCanvasItem*, GdkEvent*);
void region_view_item_click (AudioRegionView&, GdkEventButton*);
- void remove_gain_control_point (GtkCanvasItem*, GdkEvent*);
- void remove_control_point (GtkCanvasItem*, GdkEvent*);
+ void remove_gain_control_point (GnomeCanvasItem*, GdkEvent*);
+ void remove_control_point (GnomeCanvasItem*, GdkEvent*);
void mouse_brush_insert_region (AudioRegionView*, jack_nframes_t pos);
void brush (jack_nframes_t);
void show_verbose_time_cursor (jack_nframes_t frame, double offset = 0, double xpos=-1, double ypos=-1);
void show_verbose_duration_cursor (jack_nframes_t start, jack_nframes_t end, double offset = 0, double xpos=-1, double ypos=-1);
- /* static versions of these are public in PublicEditor */
-
- gint _canvas_crossfade_view_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_fade_in_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_fade_in_handle_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_fade_out_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_fade_out_handle_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_region_view_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_region_view_name_highlight_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_region_view_name_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_stream_view_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_automation_track_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_marker_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_zoom_rect_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_selection_rect_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_selection_start_trim_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_selection_end_trim_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_control_point_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_line_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_tempo_marker_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_meter_marker_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_tempo_bar_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_meter_bar_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_marker_bar_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_range_marker_bar_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_transport_marker_bar_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint _canvas_imageframe_item_view_event(GtkCanvasItem *item, GdkEvent* event, gpointer data) ;
- gint _canvas_imageframe_view_event(GtkCanvasItem *item, GdkEvent* event, gpointer data) ;
- gint _canvas_imageframe_start_handle_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
- gint _canvas_imageframe_end_handle_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
- gint _canvas_marker_time_axis_view_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
- gint _canvas_markerview_item_view_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
- gint _canvas_markerview_start_handle_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
- gint _canvas_markerview_end_handle_event(GtkCanvasItem* item, GdkEvent* event, gpointer data) ;
-
- /* now the real things */
-
- gint canvas_crossfade_view_event (GtkCanvasItem* item, GdkEvent* event, CrossfadeView*);
- gint canvas_fade_in_event (GtkCanvasItem* item, GdkEvent* event, AudioRegionView*);
- gint canvas_fade_in_handle_event (GtkCanvasItem* item, GdkEvent* event, AudioRegionView*);
- gint canvas_fade_out_event (GtkCanvasItem* item, GdkEvent* event, AudioRegionView*);
- gint canvas_fade_out_handle_event (GtkCanvasItem* item, GdkEvent* event, AudioRegionView*);
- gint canvas_region_view_event (GtkCanvasItem* item, GdkEvent* event, AudioRegionView*);
- gint canvas_stream_view_event (GtkCanvasItem* item, GdkEvent* event, AudioTimeAxisView*);
- gint canvas_automation_track_event (GtkCanvasItem* item, GdkEvent* event, AutomationTimeAxisView*);
- gint canvas_marker_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_zoom_rect_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_selection_rect_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_selection_start_trim_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_selection_end_trim_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_control_point_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_line_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_tempo_marker_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_meter_marker_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_tempo_bar_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_meter_bar_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_marker_bar_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_range_marker_bar_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_transport_marker_bar_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_region_view_name_highlight_event (GtkCanvasItem* item, GdkEvent* event);
- gint canvas_region_view_name_event (GtkCanvasItem* item, GdkEvent* event);
-
- /* these are not publically accessible, but we still need the static versions
- till we use Gnome::Canvas.
- */
-
- static gint _canvas_copy_region_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint canvas_copy_region_event (GtkCanvasItem* item, GdkEvent* event);
-
- static gint _canvas_playhead_cursor_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint canvas_playhead_cursor_event (GtkCanvasItem* item, GdkEvent* event);
-
- static gint _canvas_edit_cursor_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint canvas_edit_cursor_event (GtkCanvasItem* item, GdkEvent* event);
-
- static gint _track_canvas_event (GtkCanvasItem* item, GdkEvent* event, gpointer data);
- gint track_canvas_event (GtkCanvasItem* item, GdkEvent* event);
+ /* Canvas event handlers */
+
+ gint canvas_crossfade_view_event (GdkEvent* event);
+ gint canvas_fade_in_event (GdkEvent* event);
+ gint canvas_fade_in_handle_event (GdkEvent* event);
+ gint canvas_fade_out_event (GdkEvent* event);
+ gint canvas_fade_out_handle_event (GdkEvent* event);
+ gint canvas_region_view_event (GdkEvent* event);
+ gint canvas_region_view_name_highlight_event (GdkEvent* event);
+ gint canvas_region_view_name_event (GdkEvent* event);
+ gint canvas_stream_view_event (GdkEvent* event);
+ gint canvas_marker_event (GdkEvent* event);
+ gint canvas_zoom_rect_event (GdkEvent* event);
+ gint canvas_selection_rect_event (GdkEvent* event);
+ gint canvas_selection_start_trim_event (GdkEvent* event);
+ gint canvas_selection_end_trim_event (GdkEvent* event);
+ gint canvas_control_point_event (GdkEvent* event);
+ gint canvas_line_event (GdkEvent* event);
+ gint canvas_tempo_marker_event (GdkEvent* event);
+ gint canvas_meter_marker_event (GdkEvent* event);
+ gint canvas_tempo_bar_event (GdkEvent* event);
+ gint canvas_meter_bar_event (GdkEvent* event);
+ gint canvas_marker_bar_event (GdkEvent* event);
+ gint canvas_range_marker_bar_event (GdkEvent* event);
+ gint canvas_transport_marker_bar_event (GdkEvent* event);
+ gint canvas_imageframe_item_view_event(GdkEvent* event) ;
+ gint canvas_imageframe_view_event(GdkEvent* event) ;
+ gint canvas_imageframe_start_handle_event(GdkEvent* event) ;
+ gint canvas_imageframe_end_handle_event(GdkEvent* event) ;
+ gint canvas_marker_time_axis_view_event(GdkEvent* event) ;
+ gint canvas_markerview_item_view_event(GdkEvent* event) ;
+ gint canvas_markerview_start_handle_event(GdkEvent* event) ;
+ gint canvas_markerview_end_handle_event(GdkEvent* event) ;
+ gint canvas_automation_track_event(GdkEvent* event) ;
+
+#if 0
+ gint canvas_crossfade_view_event (GnomeCanvasItem* item, GdkEvent* event, CrossfadeView*);
+ gint canvas_fade_in_event (GnomeCanvasItem* item, GdkEvent* event, AudioRegionView*);
+ gint canvas_fade_in_handle_event (GnomeCanvasItem* item, GdkEvent* event, AudioRegionView*);
+ gint canvas_fade_out_event (GnomeCanvasItem* item, GdkEvent* event, AudioRegionView*);
+ gint canvas_fade_out_handle_event (GnomeCanvasItem* item, GdkEvent* event, AudioRegionView*);
+ gint canvas_region_view_event (GnomeCanvasItem* item, GdkEvent* event, AudioRegionView*);
+ gint canvas_stream_view_event (GnomeCanvasItem* item, GdkEvent* event, AudioTimeAxisView*);
+ gint canvas_automation_track_event (GnomeCanvasItem* item, GdkEvent* event, AutomationTimeAxisView*);
+ gint canvas_marker_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_zoom_rect_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_selection_rect_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_selection_start_trim_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_selection_end_trim_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_control_point_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_line_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_tempo_marker_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_meter_marker_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_tempo_bar_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_meter_bar_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_marker_bar_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_range_marker_bar_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_transport_marker_bar_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_region_view_name_highlight_event (GnomeCanvasItem* item, GdkEvent* event);
+ gint canvas_region_view_name_event (GnomeCanvasItem* item, GdkEvent* event);
+#endif
+
+ gint canvas_copy_region_event (GdkEvent* event);
+ gint canvas_playhead_cursor_event (GdkEvent* event);
+ gint canvas_edit_cursor_event (GdkEvent* event);
+ gint track_canvas_event (GdkEvent* event);
gint track_canvas_button_press_event (GdkEventButton *);
gint track_canvas_button_release_event (GdkEventButton *);
ARDOUR::TempoMap::BBTPointList *current_bbt_points;
- typedef vector<GtkCanvasItem*> TimeLineList;
+ typedef vector<GnomeCanvasItem*> TimeLineList;
TimeLineList free_measure_lines;
TimeLineList used_measure_lines;
- GtkCanvasItem* time_line_group;
- GtkCanvasItem* get_time_line ();
+ Gnome::Canvas::Group* time_line_group;
+ GnomeCanvasItem* get_time_line ();
void hide_measures ();
void draw_measures ();
void draw_time_bars ();
void mouse_add_new_tempo_event (jack_nframes_t where);
void mouse_add_new_meter_event (jack_nframes_t where);
- void remove_tempo_marker (GtkCanvasItem*);
- void remove_meter_marker (GtkCanvasItem*);
+ void remove_tempo_marker (GnomeCanvasItem*);
+ void remove_meter_marker (GnomeCanvasItem*);
gint real_remove_tempo_marker (ARDOUR::TempoSection*);
gint real_remove_meter_marker (ARDOUR::MeterSection*);
void edit_tempo_section (ARDOUR::TempoSection*);
void edit_meter_section (ARDOUR::MeterSection*);
- void edit_tempo_marker (GtkCanvasItem*);
- void edit_meter_marker (GtkCanvasItem*);
+ void edit_tempo_marker (GnomeCanvasItem*);
+ void edit_meter_marker (GnomeCanvasItem*);
void marker_menu_edit ();
void marker_menu_remove ();
void update_loop_range_view (bool visibility=false);
void update_punch_range_view (bool visibility=false);
gint new_transport_marker_menu_popdown (GdkEventAny*);
- void marker_context_menu (GdkEventButton*, GtkCanvasItem*);
- void tm_marker_context_menu (GdkEventButton*, GtkCanvasItem*);
- void transport_marker_context_menu (GdkEventButton*, GtkCanvasItem*);
- void new_transport_marker_context_menu (GdkEventButton*, GtkCanvasItem*);
+ void marker_context_menu (GdkEventButton*, GnomeCanvasItem*);
+ void tm_marker_context_menu (GdkEventButton*, GnomeCanvasItem*);
+ void transport_marker_context_menu (GdkEventButton*, GnomeCanvasItem*);
+ void new_transport_marker_context_menu (GdkEventButton*, GnomeCanvasItem*);
void build_marker_menu ();
void build_tm_marker_menu ();
void build_transport_marker_menu ();
Gtk::Menu* marker_menu;
Gtk::Menu* transport_marker_menu;
Gtk::Menu* new_transport_marker_menu;
- GtkCanvasItem* marker_menu_item;
+ GnomeCanvasItem* marker_menu_item;
typedef list<Marker*> Marks;
Marks metric_marks;
Gtk::Button automation_mode_button;
Gtk::ToggleButton global_automation_button;
- Gtk::Combo edit_mode_selector;
+ Gtk::ComboBoxText edit_mode_selector;
Gtk::Label edit_mode_label;
Gtk::VBox edit_mode_box;
gint edit_mode_selection_done (GdkEventAny*);
- Gtk::Combo snap_type_selector;
+ Gtk::ComboBoxText snap_type_selector;
Gtk::Label snap_type_label;
Gtk::VBox snap_type_box;
gint snap_type_selection_done (GdkEventAny*);
- Gtk::Combo snap_mode_selector;
+ Gtk::ComboBoxText snap_mode_selector;
Gtk::Label snap_mode_label;
Gtk::VBox snap_mode_box;
gint snap_mode_selection_done (GdkEventAny*);
- Gtk::Combo zoom_focus_selector;
+ Gtk::ComboBoxText zoom_focus_selector;
Gtk::Label zoom_focus_label;
Gtk::VBox zoom_focus_box;
SelectionMove
} selection_op;
- void start_selection_op (GtkCanvasItem* item, GdkEvent* event, SelectionOp);
- void drag_selection (GtkCanvasItem* item, GdkEvent* event);
- void end_selection_op (GtkCanvasItem* item, GdkEvent* event);
+ void start_selection_op (GnomeCanvasItem* item, GdkEvent* event, SelectionOp);
+ void drag_selection (GnomeCanvasItem* item, GdkEvent* event);
+ void end_selection_op (GnomeCanvasItem* item, GdkEvent* event);
void cancel_selection ();
void region_selection_op (void (ARDOUR::Region::*pmf)(void));
CreateTransportMarker
} range_marker_op;
- void start_range_markerbar_op (GtkCanvasItem* item, GdkEvent* event, RangeMarkerOp);
- void drag_range_markerbar_op (GtkCanvasItem* item, GdkEvent* event);
- void end_range_markerbar_op (GtkCanvasItem* item, GdkEvent* event);
+ void start_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event, RangeMarkerOp);
+ void drag_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event);
+ void end_range_markerbar_op (GnomeCanvasItem* item, GdkEvent* event);
- GtkCanvasItem *range_bar_drag_rect;
- GtkCanvasItem *transport_bar_drag_rect;
- GtkCanvasItem *marker_drag_line;
- GtkCanvasPoints *marker_drag_line_points;
- GtkCanvasItem *range_marker_drag_rect;
+ Gnome::Canvas::Item *range_bar_drag_rect;
+ Gnome::Canvas::Item *transport_bar_drag_rect;
+ Gnome::Canvas::Item *marker_drag_line;
+ Gnome::Canvas::Points *marker_drag_line_points;
+ Gnome::Canvas::Item *range_marker_drag_rect;
void update_marker_drag_item (ARDOUR::Location *);
- GtkCanvasItem *transport_bar_range_rect;
- GtkCanvasItem *transport_bar_preroll_rect;
- GtkCanvasItem *transport_bar_postroll_rect;
- GtkCanvasItem *transport_loop_range_rect;
- GtkCanvasItem *transport_punch_range_rect;
- GtkCanvasItem *transport_punchin_line;
- GtkCanvasItem *transport_punchout_line;
- GtkCanvasItem *transport_preroll_rect;
- GtkCanvasItem *transport_postroll_rect;
+ GnomeCanvasItem *transport_bar_range_rect;
+ GnomeCanvasItem *transport_bar_preroll_rect;
+ GnomeCanvasItem *transport_bar_postroll_rect;
+ Gnome::Canvas::Item *transport_loop_range_rect;
+ Gnome::Canvas::Item *transport_punch_range_rect;
+ Gnome::Canvas::Item *transport_punchin_line;
+ Gnome::Canvas::Item *transport_punchout_line;
+ GnomeCanvasItem *transport_preroll_rect;
+ GnomeCanvasItem *transport_postroll_rect;
ARDOUR::Location* transport_loop_location();
ARDOUR::Location* transport_punch_location();
/* object rubberband select process */
- void start_rubberband_select (GtkCanvasItem* item, GdkEvent* event);
- void drag_rubberband_select (GtkCanvasItem* item, GdkEvent* event);
- void end_rubberband_select (GtkCanvasItem* item, GdkEvent* event);
+ void start_rubberband_select (GnomeCanvasItem* item, GdkEvent* event);
+ void drag_rubberband_select (GnomeCanvasItem* item, GdkEvent* event);
+ void end_rubberband_select (GnomeCanvasItem* item, GdkEvent* event);
bool select_all_within (jack_nframes_t start, jack_nframes_t end, gdouble topy, gdouble boty, bool add);
- GtkCanvasItem *rubberband_rect;
+ Gnome::Canvas::Item *rubberband_rect;
/* mouse zoom process */
- void start_mouse_zoom (GtkCanvasItem* item, GdkEvent* event);
- void drag_mouse_zoom (GtkCanvasItem* item, GdkEvent* event);
- void end_mouse_zoom (GtkCanvasItem* item, GdkEvent* event);
+ void start_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event);
+ void drag_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event);
+ void end_mouse_zoom (GnomeCanvasItem* item, GdkEvent* event);
- GtkCanvasItem *zoom_rect;
+ Gnome::Canvas::Item *zoom_rect;
void reposition_zoom_rect (jack_nframes_t start, jack_nframes_t end);
/* diskstream/route display management */
- Gtk::CList route_list;
+ struct RouteDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
+ RouteDisplayModelColumns() {
+ add (text);
+ add (tv);
+ }
+ Gtk::TreeModelColumn<Glib::ustring> text;
+ Gtk::TreeModelColumn<TimeAxisView*> tv;
+ };
+
+ RouteDisplayModelColumns route_display_columns;
+ Glib::RefPtr<Gtk::ListStore> route_display_model;
+ Glib::RefPtr<Gtk::TreeSelection> route_display_selection;
+
+ gint route_list_compare_func (Gtk::TreeModel::iterator, Gtk::TreeModel::iterator);
+ Gtk::TreeView route_list; //GTK2FIX rename to route_display
Gtk::ScrolledWindow route_list_scroller;
Gtk::Menu *route_list_menu;
- void route_list_column_click (gint);
+ void route_list_column_click ();
void build_route_list_menu ();
void select_all_routes ();
void unselect_all_routes ();
/* edit group management */
+ struct GroupListModelColumns : public Gtk::TreeModel::ColumnRecord {
+ GroupListModelColumns () {
+ add (is_active);
+ add (text);
+ add (routegroup);
+ }
+ Gtk::TreeModelColumn<bool> is_active;
+ Gtk::TreeModelColumn<std::string> text;
+ Gtk::TreeModelColumn<ARDOUR::RouteGroup*> routegroup;
+ };
+
+ GroupListModelColumns group_columns;
+ Glib::RefPtr<Gtk::ListStore> group_model;
+ Glib::RefPtr<Gtk::TreeSelection> group_selection;
+
Gtk::Button edit_group_list_button;
Gtk::Label edit_group_list_button_label;
- Gtk::CList edit_group_list;
+ Gtk::TreeView edit_group_list;
Gtk::ScrolledWindow edit_group_list_scroller;
Gtk::Menu *edit_group_list_menu;
Gtk::VBox edit_group_vbox;
-
void edit_group_list_column_click (gint);
void build_edit_group_list_menu ();
void select_all_edit_groups ();
void new_edit_group ();
void edit_group_list_button_clicked ();
gint edit_group_list_button_press_event (GdkEventButton* ev);
- void edit_group_selected (gint row, gint col, GdkEvent* ev);
- void edit_group_unselected (gint row, gint col, GdkEvent* ev);
+ void edit_group_selection_changed ();
void fake_add_edit_group (ARDOUR::RouteGroup* group);
void add_edit_group (ARDOUR::RouteGroup* group);
void group_flags_changed (void*, ARDOUR::RouteGroup*);
ContentsTrim,
} trim_op;
- void start_trim (GtkCanvasItem*, GdkEvent*);
+ void start_trim (GnomeCanvasItem*, GdkEvent*);
void point_trim (GdkEvent*);
- void trim_motion_callback (GtkCanvasItem*, GdkEvent*);
+ void trim_motion_callback (GnomeCanvasItem*, GdkEvent*);
void single_contents_trim (AudioRegionView&, jack_nframes_t, bool, bool, bool);
void single_start_trim (AudioRegionView&, jack_nframes_t, bool, bool);
void single_end_trim (AudioRegionView&, jack_nframes_t, bool, bool);
- void trim_finished_callback (GtkCanvasItem*, GdkEvent*);
+ void trim_finished_callback (GnomeCanvasItem*, GdkEvent*);
void thaw_region_after_trim (AudioRegionView& rv);
void trim_region_to_edit_cursor ();
jack_nframes_t event_frame (GdkEvent*, double* px = 0, double* py = 0);
- void time_fx_motion (GtkCanvasItem*, GdkEvent*);
- void start_time_fx (GtkCanvasItem*, GdkEvent*);
- void end_time_fx (GtkCanvasItem*, GdkEvent*);
+ void time_fx_motion (GnomeCanvasItem*, GdkEvent*);
+ void start_time_fx (GnomeCanvasItem*, GdkEvent*);
+ void end_time_fx (GnomeCanvasItem*, GdkEvent*);
struct TimeStretchDialog : public ArdourDialog {
ARDOUR::Session::TimeStretchRequest request;
void handle_new_imageframe_time_axis_view(std::string track_name, void* src) ;
void handle_new_imageframe_marker_time_axis_view(std::string track_name, TimeAxisView* marked_track) ;
- void start_imageframe_grab(GtkCanvasItem*, GdkEvent*) ;
- void start_markerview_grab(GtkCanvasItem*, GdkEvent*) ;
-
- void imageframe_drag_motion_callback(GtkCanvasItem*, GdkEvent*) ;
- void markerview_drag_motion_callback(GtkCanvasItem*, GdkEvent*) ;
- void timeaxis_item_drag_finished_callback(GtkCanvasItem*, GdkEvent*) ;
-
- gint canvas_imageframe_item_view_event(GtkCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
- gint canvas_imageframe_view_event(GtkCanvasItem* item, GdkEvent* event, ImageFrameTimeAxis* ifta);
- gint canvas_imageframe_start_handle_event(GtkCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
- gint canvas_imageframe_end_handle_event(GtkCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
-
- gint canvas_marker_time_axis_view_event(GtkCanvasItem* item, GdkEvent* event, MarkerTimeAxis* mta);
- gint canvas_markerview_item_view_event(GtkCanvasItem* item, GdkEvent* event, MarkerView* mv);
- gint canvas_markerview_start_handle_event(GtkCanvasItem* item, GdkEvent* event, MarkerView* mv);
- gint canvas_markerview_end_handle_event(GtkCanvasItem* item, GdkEvent* event, MarkerView* mv);
-
- void imageframe_start_handle_op(GtkCanvasItem* item, GdkEvent* event) ;
- void imageframe_end_handle_op(GtkCanvasItem* item, GdkEvent* event) ;
- void imageframe_start_handle_trim_motion(GtkCanvasItem* item, GdkEvent* event) ;
- void imageframe_start_handle_end_trim(GtkCanvasItem* item, GdkEvent* event) ;
- void imageframe_end_handle_trim_motion(GtkCanvasItem* item, GdkEvent* event) ;
- void imageframe_end_handle_end_trim(GtkCanvasItem* item, GdkEvent* event) ;
+ void start_imageframe_grab(GnomeCanvasItem*, GdkEvent*) ;
+ void start_markerview_grab(GnomeCanvasItem*, GdkEvent*) ;
+
+ void imageframe_drag_motion_callback(GnomeCanvasItem*, GdkEvent*) ;
+ void markerview_drag_motion_callback(GnomeCanvasItem*, GdkEvent*) ;
+ void timeaxis_item_drag_finished_callback(GnomeCanvasItem*, GdkEvent*) ;
+
+ gint canvas_imageframe_item_view_event(GnomeCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
+ gint canvas_imageframe_view_event(GnomeCanvasItem* item, GdkEvent* event, ImageFrameTimeAxis* ifta);
+ gint canvas_imageframe_start_handle_event(GnomeCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
+ gint canvas_imageframe_end_handle_event(GnomeCanvasItem* item, GdkEvent* event, ImageFrameView* ifv);
+
+ gint canvas_marker_time_axis_view_event(GnomeCanvasItem* item, GdkEvent* event, MarkerTimeAxis* mta);
+ gint canvas_markerview_item_view_event(GnomeCanvasItem* item, GdkEvent* event, MarkerView* mv);
+ gint canvas_markerview_start_handle_event(GnomeCanvasItem* item, GdkEvent* event, MarkerView* mv);
+ gint canvas_markerview_end_handle_event(GnomeCanvasItem* item, GdkEvent* event, MarkerView* mv);
+
+ void imageframe_start_handle_op(GnomeCanvasItem* item, GdkEvent* event) ;
+ void imageframe_end_handle_op(GnomeCanvasItem* item, GdkEvent* event) ;
+ void imageframe_start_handle_trim_motion(GnomeCanvasItem* item, GdkEvent* event) ;
+ void imageframe_start_handle_end_trim(GnomeCanvasItem* item, GdkEvent* event) ;
+ void imageframe_end_handle_trim_motion(GnomeCanvasItem* item, GdkEvent* event) ;
+ void imageframe_end_handle_end_trim(GnomeCanvasItem* item, GdkEvent* event) ;
- void markerview_item_start_handle_op(GtkCanvasItem* item, GdkEvent* event) ;
- void markerview_item_end_handle_op(GtkCanvasItem* item, GdkEvent* event) ;
- void markerview_start_handle_trim_motion(GtkCanvasItem* item, GdkEvent* event) ;
- void markerview_start_handle_end_trim(GtkCanvasItem* item, GdkEvent* event) ;
- void markerview_end_handle_trim_motion(GtkCanvasItem* item, GdkEvent* event) ;
- void markerview_end_handle_end_trim(GtkCanvasItem* item, GdkEvent* event) ;
+ void markerview_item_start_handle_op(GnomeCanvasItem* item, GdkEvent* event) ;
+ void markerview_item_end_handle_op(GnomeCanvasItem* item, GdkEvent* event) ;
+ void markerview_start_handle_trim_motion(GnomeCanvasItem* item, GdkEvent* event) ;
+ void markerview_start_handle_end_trim(GnomeCanvasItem* item, GdkEvent* event) ;
+ void markerview_end_handle_trim_motion(GnomeCanvasItem* item, GdkEvent* event) ;
+ void markerview_end_handle_end_trim(GnomeCanvasItem* item, GdkEvent* event) ;
- void popup_imageframe_edit_menu(int button, int32_t time, GtkCanvasItem* ifv, bool with_frame) ;
- void popup_marker_time_axis_edit_menu(int button, int32_t time, GtkCanvasItem* ifv, bool with_frame) ;
+ void popup_imageframe_edit_menu(int button, int32_t time, GnomeCanvasItem* ifv, bool with_frame) ;
+ void popup_marker_time_axis_edit_menu(int button, int32_t time, GnomeCanvasItem* ifv, bool with_frame) ;
ImageFrameSocketHandler* image_socket_listener ;
/* </CMT Additions> */
void toggle_gain_envelope_visibility ();
void toggle_gain_envelope_active ();
- typedef map<Editing::ColorID,std::string> ColorStyleMap;
+ typedef std::map<Editing::ColorID,std::string> ColorStyleMap;
void init_colormap ();
+
+ /* GTK2 stuff */
+
+ Glib::RefPtr<Gtk::UIManager> ui_manager;
};
#endif /* __ardour_editor_h__ */