get editor.cc to compile

git-svn-id: svn://localhost/trunk/ardour2@99 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2005-11-16 02:57:22 +00:00
parent adacfd9b24
commit f16caf535c
36 changed files with 219 additions and 259 deletions

View file

@ -100,7 +100,7 @@ static const gchar * small_x_xpm[] = {
" ", " ",
" "}; " "};
AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session& sess, Route& rt, CanvasAA& canvas) AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session& sess, Route& rt, Canvas& canvas)
: AxisView(sess), : AxisView(sess),
RouteUI(rt, sess, _("m"), _("s"), _("r")), // mute, solo, and record RouteUI(rt, sess, _("m"), _("s"), _("r")), // mute, solo, and record
TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas), TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas),
@ -1202,20 +1202,15 @@ AudioTimeAxisView::add_gain_automation_child ()
_route, _route,
editor, editor,
*this, *this,
*(parent_canvas.root()), parent_canvas,
_("gain"), _("gain"),
_route.gain_automation_curve()); _route.gain_automation_curve());
#if 0
line = new AutomationGainLine ("automation gain", line = new AutomationGainLine ("automation gain",
_session, _session,
*gain_track, *gain_track,
*gain_track->canvas_display, *gain_track->canvas_display,
_route.gain_automation_curve(), _route.gain_automation_curve());
mem_fun (editor, &PublicEditor::canvas_control_point_event),
mem_fun (editor, &PublicEditor::canvas_line_event));
#endif
line->set_line_color (color_map[cAutomationLine]); line->set_line_color (color_map[cAutomationLine]);
@ -1248,7 +1243,7 @@ AudioTimeAxisView::add_pan_automation_child ()
{ {
XMLProperty* prop; XMLProperty* prop;
pan_track = new PanAutomationTimeAxisView (_session, _route, editor, *this, *(parent_canvas.root()), _("pan")); pan_track = new PanAutomationTimeAxisView (_session, _route, editor, *this, parent_canvas, _("pan"));
update_pans (); update_pans ();
@ -1294,9 +1289,7 @@ AudioTimeAxisView::update_pans ()
line = new AutomationPanLine ("automation pan", _session, *pan_track, line = new AutomationPanLine ("automation pan", _session, *pan_track,
*pan_track->canvas_display, *pan_track->canvas_display,
(*p)->automation(), (*p)->automation());
mem_fun (editor, &PublicEditor::canvas_control_point_event),
mem_fun (editor, &PublicEditor::canvas_line_event));
if (p == _route.panner().begin()) { if (p == _route.panner().begin()) {
/* first line is a nice orange */ /* first line is a nice orange */
@ -1472,13 +1465,11 @@ AudioTimeAxisView::add_redirect_automation_curve (Redirect *redirect, uint32_t w
char state_name[256]; char state_name[256];
snprintf (state_name, sizeof (state_name), "Redirect-%s-%" PRIu32, legalize_for_xml_node (redirect->name()).c_str(), what); snprintf (state_name, sizeof (state_name), "Redirect-%s-%" PRIu32, legalize_for_xml_node (redirect->name()).c_str(), what);
ran->view = new RedirectAutomationTimeAxisView (_session, _route, editor, *this, (*parent_canvas.root()), name, what, *redirect, state_name); ran->view = new RedirectAutomationTimeAxisView (_session, _route, editor, *this, parent_canvas, name, what, *redirect, state_name);
ral = new RedirectAutomationLine (name, ral = new RedirectAutomationLine (name,
*redirect, what, _session, *ran->view, *redirect, what, _session, *ran->view,
*ran->view->canvas_display, redirect->automation_list (what), *ran->view->canvas_display, redirect->automation_list (what));
mem_fun (editor, &PublicEditor::canvas_control_point_event),
mem_fun (editor, &PublicEditor::canvas_line_event));
ral->set_line_color (color_map[cRedirectAutomationLine]); ral->set_line_color (color_map[cRedirectAutomationLine]);
ral->queue_reset (); ral->queue_reset ();

View file

@ -69,7 +69,7 @@ class AutomationTimeAxisView;
class AudioTimeAxisView : public RouteUI, public TimeAxisView class AudioTimeAxisView : public RouteUI, public TimeAxisView
{ {
public: public:
AudioTimeAxisView (PublicEditor&, ARDOUR::Session&, ARDOUR::Route&, ArdourCanvas::CanvasAA& canvas); AudioTimeAxisView (PublicEditor&, ARDOUR::Session&, ARDOUR::Route&, ArdourCanvas::Canvas& canvas);
virtual ~AudioTimeAxisView (); virtual ~AudioTimeAxisView ();
void show_selection (TimeSelection&); void show_selection (TimeSelection&);

View file

@ -32,12 +32,9 @@
using namespace std; using namespace std;
using namespace ARDOUR; using namespace ARDOUR;
AutomationGainLine::AutomationGainLine (string name, Session& s, TimeAxisView& tv, Gnome::Canvas::Group& parent, AutomationGainLine::AutomationGainLine (string name, Session& s, TimeAxisView& tv, Gnome::Canvas::Group& parent, Curve& c)
Curve& c,
sigc::slot<bool,GdkEvent*,ControlPoint*> point_callback,
sigc::slot<bool,GdkEvent*,AutomationLine*> line_callback)
: AutomationLine (name, tv, parent, c, point_callback, line_callback), : AutomationLine (name, tv, parent, c),
session (s) session (s)
{ {
set_verbose_cursor_uses_gain_mapping (true); set_verbose_cursor_uses_gain_mapping (true);

View file

@ -2,9 +2,9 @@
#define __ardour_gtk_automation_gain_line_h__ #define __ardour_gtk_automation_gain_line_h__
#include <ardour/ardour.h> #include <ardour/ardour.h>
#include <libgnomecanvas/libgnomecanvas.h>
#include <gtkmm.h> #include <gtkmm.h>
#include "canvas.h"
#include "automation_line.h" #include "automation_line.h"
namespace ARDOUR { namespace ARDOUR {
@ -17,9 +17,7 @@ class TimeAxisView;
class AutomationGainLine : public AutomationLine class AutomationGainLine : public AutomationLine
{ {
public: public:
AutomationGainLine (string name, ARDOUR::Session&, TimeAxisView&, Gnome::Canvas::Group& parent, AutomationGainLine (string name, ARDOUR::Session&, TimeAxisView&, ArdourCanvas::Group& parent, ARDOUR::Curve&);
ARDOUR::Curve&,
sigc::slot<bool,GdkEvent*,ControlPoint*>, sigc::slot<bool,GdkEvent*,AutomationLine*>);
void view_to_model_y (double&); void view_to_model_y (double&);
void model_to_view_y (double&); void model_to_view_y (double&);

View file

@ -51,7 +51,7 @@ using namespace ARDOUR;
using namespace Editing; using namespace Editing;
using namespace Gnome; // for Canvas using namespace Gnome; // for Canvas
ControlPoint::ControlPoint (AutomationLine& al, sigc::slot<bool,GdkEvent*,ControlPoint*> handler) ControlPoint::ControlPoint (AutomationLine& al)
: line (al) : line (al)
{ {
model = al.the_list().end(); model = al.the_list().end();
@ -70,7 +70,7 @@ ControlPoint::ControlPoint (AutomationLine& al, sigc::slot<bool,GdkEvent*,Contro
item->property_outline_color_rgba() = color_map[cControlPointOutline]; item->property_outline_color_rgba() = color_map[cControlPointOutline];
item->property_outline_pixels() = 1; item->property_outline_pixels() = 1;
item->set_data ("control_point", this); item->set_data ("control_point", this);
item->signal_event().connect (bind (handler, this)); item->signal_event().connect (mem_fun (this, &ControlPoint::event_handler));
hide (); hide ();
set_visible (false); set_visible (false);
@ -108,6 +108,12 @@ ControlPoint::~ControlPoint ()
gtk_object_destroy (GTK_OBJECT(item)); gtk_object_destroy (GTK_OBJECT(item));
} }
bool
ControlPoint::event_handler (GdkEvent* event)
{
return PublicEditor::instance().canvas_control_point_event (event, item, this);
}
void void
ControlPoint::hide () ControlPoint::hide ()
{ {
@ -211,10 +217,7 @@ ControlPoint::move_to (double x, double y, ShapeType shape)
/*****/ /*****/
AutomationLine::AutomationLine (string name, TimeAxisView& tv, Gnome::Canvas::Group& parent, AutomationList& al, AutomationLine::AutomationLine (string name, TimeAxisView& tv, Gnome::Canvas::Group& parent, AutomationList& al)
slot<bool,GdkEvent*,ControlPoint*> point_handler,
slot<bool,GdkEvent*,AutomationLine*> line_handler)
: trackview (tv), : trackview (tv),
_name (name), _name (name),
alist (al), alist (al),
@ -225,7 +228,6 @@ AutomationLine::AutomationLine (string name, TimeAxisView& tv, Gnome::Canvas::Gr
_vc_uses_gain_mapping = false; _vc_uses_gain_mapping = false;
no_draw = false; no_draw = false;
_visible = true; _visible = true;
point_slot = point_handler;
terminal_points_can_slide = true; terminal_points_can_slide = true;
_height = 0; _height = 0;
@ -236,8 +238,7 @@ AutomationLine::AutomationLine (string name, TimeAxisView& tv, Gnome::Canvas::Gr
line = new Gnome::Canvas::Line (*group); line = new Gnome::Canvas::Line (*group);
line->set_property ("width_pixels", (guint)1); line->set_property ("width_pixels", (guint)1);
line->set_data ("line", this); line->signal_event().connect (mem_fun (*this, &AutomationLine::event_handler));
line->signal_event().connect (bind (line_handler, this));
alist.StateChanged.connect (mem_fun(*this, &AutomationLine::list_changed)); alist.StateChanged.connect (mem_fun(*this, &AutomationLine::list_changed));
} }
@ -249,6 +250,12 @@ AutomationLine::~AutomationLine ()
gtk_object_destroy (GTK_OBJECT(group)); gtk_object_destroy (GTK_OBJECT(group));
} }
bool
AutomationLine::event_handler (GdkEvent* event)
{
return PublicEditor::instance().canvas_line_event (event, line, this);
}
void void
AutomationLine::queue_reset () AutomationLine::queue_reset ()
{ {
@ -736,7 +743,7 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
if (view_index >= control_points.size()) { if (view_index >= control_points.size()) {
/* make sure we have enough control points */ /* make sure we have enough control points */
ControlPoint* ncp = new ControlPoint (*this, point_slot); ControlPoint* ncp = new ControlPoint (*this);
if (_height > (guint32) TimeAxisView::Larger) { if (_height > (guint32) TimeAxisView::Larger) {
ncp->set_size (8.0); ncp->set_size (8.0);

View file

@ -55,9 +55,9 @@ namespace Gnome {
class ControlPoint class ControlPoint
{ {
public: public:
ControlPoint (AutomationLine& al, sigc::slot<bool,GdkEvent*,ControlPoint*>); ControlPoint (AutomationLine& al);
ControlPoint (const ControlPoint&, bool dummy_arg_to_force_special_copy_constructor); ControlPoint (const ControlPoint&, bool dummy_arg_to_force_special_copy_constructor);
~ControlPoint (); virtual ~ControlPoint ();
enum ShapeType { enum ShapeType {
Full, Full,
@ -84,6 +84,9 @@ class ControlPoint
bool can_slide; bool can_slide;
bool selected; bool selected;
protected:
virtual bool event_handler (GdkEvent*);
private: private:
double _x; double _x;
double _y; double _y;
@ -94,9 +97,7 @@ class ControlPoint
class AutomationLine : public sigc::trackable class AutomationLine : public sigc::trackable
{ {
public: public:
AutomationLine (string name, TimeAxisView&, Gnome::Canvas::Group&, ARDOUR::AutomationList&, AutomationLine (string name, TimeAxisView&, Gnome::Canvas::Group&, ARDOUR::AutomationList&);
sigc::slot<bool,GdkEvent*,ControlPoint*>, sigc::slot<bool,GdkEvent*,AutomationLine*>);
virtual ~AutomationLine (); virtual ~AutomationLine ();
void queue_reset (); void queue_reset ();
@ -176,8 +177,6 @@ class AutomationLine : public sigc::trackable
Gnome::Canvas::Points line_points; /* coordinates for canvas line */ Gnome::Canvas::Points line_points; /* coordinates for canvas line */
vector<ControlPoint*> control_points; /* visible control points */ vector<ControlPoint*> control_points; /* visible control points */
sigc::slot<bool,GdkEvent*,ControlPoint*> point_slot;
struct ALPoint { struct ALPoint {
double x; double x;
double y; double y;
@ -202,6 +201,8 @@ class AutomationLine : public sigc::trackable
void list_changed (ARDOUR::Change); void list_changed (ARDOUR::Change);
UndoAction get_memento(); UndoAction get_memento();
virtual bool event_handler (GdkEvent*);
private: private:
uint32_t drags; uint32_t drags;

View file

@ -22,6 +22,7 @@
#include <ardour/curve.h> #include <ardour/curve.h>
#include "canvas_impl.h"
#include "public_editor.h" #include "public_editor.h"
#include "automation_pan_line.h" #include "automation_pan_line.h"
#include "utils.h" #include "utils.h"
@ -31,12 +32,9 @@
using namespace ARDOUR; using namespace ARDOUR;
AutomationPanLine::AutomationPanLine (string name, Session& s, TimeAxisView& tv, Gnome::Canvas::Group& parent, AutomationPanLine::AutomationPanLine (string name, Session& s, TimeAxisView& tv, Gnome::Canvas::Group& parent, Curve& c)
Curve& c,
sigc::slot<bool,GdkEvent*,ControlPoint*> point_handler,
sigc::slot<bool,GdkEvent*,AutomationLine*> line_handler)
: AutomationLine (name, tv, parent, c, point_handler, line_handler), : AutomationLine (name, tv, parent, c),
session (s) session (s)
{ {
} }

View file

@ -2,9 +2,9 @@
#define __ardour_gtk_automation_pan_line_h__ #define __ardour_gtk_automation_pan_line_h__
#include <ardour/ardour.h> #include <ardour/ardour.h>
#include <libgnomecanvas/libgnomecanvas.h>
#include <gtkmm.h> #include <gtkmm.h>
#include "canvas.h"
#include "automation_line.h" #include "automation_line.h"
namespace ARDOUR { namespace ARDOUR {
@ -16,17 +16,14 @@ class TimeAxisView;
class AutomationPanLine : public AutomationLine class AutomationPanLine : public AutomationLine
{ {
public: public:
AutomationPanLine (string name, ARDOUR::Session&, TimeAxisView&, Gnome::Canvas::Group& parent, AutomationPanLine (string name, ARDOUR::Session&, TimeAxisView&, Gnome::Canvas::Group& parent, ARDOUR::Curve&);
ARDOUR::Curve&,
sigc::slot<bool,GdkEvent*,ControlPoint*> point_handler,
sigc::slot<bool,GdkEvent*,AutomationLine*> line_handler);
void view_to_model_y (double&); void view_to_model_y (double&);
void model_to_view_y (double&); void model_to_view_y (double&);
private: private:
ARDOUR::Session& session; ARDOUR::Session& session;
vector<GnomeCanvasItem*> lines; vector<ArdourCanvas::Item*> lines;
}; };

View file

@ -4,13 +4,13 @@
#include "automation_time_axis.h" #include "automation_time_axis.h"
#include "automation_line.h" #include "automation_line.h"
#include "public_editor.h" #include "public_editor.h"
#include "canvas-simplerect.h" #include "simplerect.h"
#include "canvas-waveview.h"
#include "selection.h" #include "selection.h"
#include "ghostregion.h" #include "ghostregion.h"
#include "rgb_macros.h" #include "rgb_macros.h"
#include "automation_selectable.h" #include "automation_selectable.h"
#include "point_selection.h" #include "point_selection.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
@ -34,10 +34,12 @@ static const gchar * small_x_xpm[] = {
" ", " ",
" "}; " "};
AutomationTimeAxisView::AutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& rent, Widget* p, std::string nom, std::string state_name, std::string nomparent) AutomationTimeAxisView::AutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& rent,
ArdourCanvas::Canvas& canvas, std::string nom,
std::string state_name, std::string nomparent)
: AxisView (s), : AxisView (s),
TimeAxisView (s, e, &rent, p), TimeAxisView (s, e, &rent, canvas),
route (r), route (r),
_name (nom), _name (nom),
_state_name (state_name), _state_name (state_name),
@ -63,7 +65,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (Session& s, Route& r, PublicEdit
// "outline_what", (guint32) (0x1|0x2|0x8), // "outline_what", (guint32) (0x1|0x2|0x8),
// "fill_color_rgba", color_map[cAutomationTrackFill], // "fill_color_rgba", color_map[cAutomationTrackFill],
// NULL); // NULL);
base_rect = new Gnome::Canvas::SimpleRect(*canvas_display); base_rect = new SimpleRect(*canvas_display);
base_rect->set_property ("x1", 0.0); base_rect->set_property ("x1", 0.0);
base_rect->set_property ("y1", 0.0); base_rect->set_property ("y1", 0.0);
base_rect->set_property ("x2", 1000000.0); base_rect->set_property ("x2", 1000000.0);

View file

@ -6,6 +6,7 @@
#include <string> #include <string>
#include <ardour/types.h> #include <ardour/types.h>
#include "canvas.h"
#include "time_axis_view.h" #include "time_axis_view.h"
#include "simplerect.h" #include "simplerect.h"
@ -18,10 +19,6 @@ namespace ARDOUR {
class Route; class Route;
} }
namespace Gtk {
class Widget;
}
class PublicEditor; class PublicEditor;
class TimeSelection; class TimeSelection;
class AudioRegionSelection; class AudioRegionSelection;
@ -37,7 +34,7 @@ class AutomationTimeAxisView : public TimeAxisView {
ARDOUR::Route&, ARDOUR::Route&,
PublicEditor&, PublicEditor&,
TimeAxisView& parent, TimeAxisView& parent,
Gtk::Widget* parent, ArdourCanvas::Canvas& canvas,
std::string name, /* translatable */ std::string name, /* translatable */
std::string state_name, /* not translatable */ std::string state_name, /* not translatable */
std::string plug_name = ""); std::string plug_name = "");
@ -78,7 +75,7 @@ class AutomationTimeAxisView : public TimeAxisView {
protected: protected:
ARDOUR::Route& route; ARDOUR::Route& route;
Gnome::Canvas::SimpleRect* base_rect; ArdourCanvas::SimpleRect* base_rect;
string _name; string _name;
string _state_name; string _state_name;
bool in_destructor; bool in_destructor;

View file

@ -1,6 +1,8 @@
#ifndef __ardour_gtk_canvas_impl_h__ #ifndef __ardour_gtk_canvas_impl_h__
#define __ardour_gtk_canvas_impl_h__ #define __ardour_gtk_canvas_impl_h__
#include "canvas.h"
#include <libgnomecanvasmm/canvas.h> #include <libgnomecanvasmm/canvas.h>
#include <libgnomecanvasmm/polygon.h> #include <libgnomecanvasmm/polygon.h>
#include <libgnomecanvasmm/text.h> #include <libgnomecanvasmm/text.h>

View file

@ -80,8 +80,9 @@ CrossfadeView::CrossfadeView (Gnome::Canvas::Group *parent,
vestigial_frame->hide(); vestigial_frame->hide();
show_vestigial = false; show_vestigial = false;
group->signal_event.connect (bind (mem_fun (editor, &Public::canvas_crossfade_view_event), group, this)); // GTK2FIX
// group->signal_event.connect (bind (mem_fun (tv.editor, &PublicEditor::canvas_crossfade_view_event), group, this));
crossfade_changed (Change (~0)); crossfade_changed (Change (~0));
crossfade.StateChanged.connect (mem_fun(*this, &CrossfadeView::crossfade_changed)); crossfade.StateChanged.connect (mem_fun(*this, &CrossfadeView::crossfade_changed));

View file

@ -90,20 +90,6 @@ const double Editor::timebar_height = 15.0;
#include "editor_xpms" #include "editor_xpms"
static const gchar *route_list_titles[] = {
N_("Tracks"),
0
};
static const gchar *edit_group_list_titles[] = {
"foo", "bar", 0
};
static const gchar *named_selection_display_titles[] = {
N_("Chunks"),
0
};
static const int32_t slide_index = 0; static const int32_t slide_index = 0;
static const int32_t splice_index = 1; static const int32_t splice_index = 1;
@ -525,8 +511,11 @@ Editor::Editor (AudioEngine& eng)
route_list.set_headers_visible (true); route_list.set_headers_visible (true);
route_list.set_headers_clickable (true); route_list.set_headers_clickable (true);
route_display_model->set_sort_func (0, mem_fun (*this, &Editor::route_list_compare_func)); // GTK2FIX
route_display_model->signal_rows_reordered().connect (mem_fun (*this, &Editor::queue_route_list_reordered)); // route_list.signal_rows_reordered().connect (mem_fun (*this, &Editor::queue_route_list_reordered));
// GTK2FIX
// route_display_model->set_sort_func (0, mem_fun (*this, &Editor::route_list_compare_func));
// GTK2FIX // GTK2FIX
//route_list.set_shadow_type (Gtk::SHADOW_IN); //route_list.set_shadow_type (Gtk::SHADOW_IN);
@ -616,15 +605,16 @@ Editor::Editor (AudioEngine& eng)
region_list_scroller.add (region_list_display); region_list_scroller.add (region_list_display);
region_list_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); region_list_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
vector<Gtk::TargetEntry> region_list_target_table; list<Gtk::TargetEntry> region_list_target_table;
region_list_target_table.push_back (TargetEntry ("STRING")); region_list_target_table.push_back (TargetEntry ("STRING"));
region_list_target_table.push_back (TargetEntry ("text/plain")); region_list_target_table.push_back (TargetEntry ("text/plain"));
region_list_target_table.push_back (TargetEntry ("text/uri-list")); region_list_target_table.push_back (TargetEntry ("text/uri-list"));
region_list_target_table.push_back (TargetEntry ("application/x-rootwin-drop")); region_list_target_table.push_back (TargetEntry ("application/x-rootwin-drop"));
region_list_display.drag_dest_set (region_list_target_table, DEST_DEFAULT_ALL, GdkDragAction (Gdk::ACTION_COPY|Gdk::ACTION_MOVE)); // GTK2FIX
region_list_display.signal_drag_data_received().connect (mem_fun(*this, &Editor::region_list_display_drag_data_received)); // region_list_display.drag_dest_set (region_list_target_table, DEST_DEFAULT_ALL, GdkDragAction (Gdk::ACTION_COPY|Gdk::ACTION_MOVE));
// region_list_display.signal_drag_data_received().connect (mem_fun(*this, &Editor::region_list_display_drag_data_received));
region_list_display.signal_key_press_event().connect (mem_fun(*this, &Editor::region_list_display_key_press)); region_list_display.signal_key_press_event().connect (mem_fun(*this, &Editor::region_list_display_key_press));
region_list_display.signal_key_release_event().connect (mem_fun(*this, &Editor::region_list_display_key_release)); region_list_display.signal_key_release_event().connect (mem_fun(*this, &Editor::region_list_display_key_release));
@ -816,10 +806,9 @@ Editor::initialize_canvas ()
// GNOME_CANVAS(track_canvas)->close_enough = 2; // GNOME_CANVAS(track_canvas)->close_enough = 2;
track_canvas.signal_event().connect (mem_fun (*this, &Editor::track_canvas_event)); track_canvas.signal_event().connect (bind (mem_fun (*this, &Editor::track_canvas_event), (ArdourCanvas::Item*) 0));
track_canvas.set_name ("EditorMainCanvas"); track_canvas.set_name ("EditorMainCanvas");
track_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK); track_canvas.add_events (Gdk::POINTER_MOTION_HINT_MASK);
track_canvas.signal_event().connect (mem_fun (*this, &Editor::track_canvas_event));
track_canvas.signal_leave_notify_event().connect (mem_fun(*this, &Editor::left_track_canvas)); track_canvas.signal_leave_notify_event().connect (mem_fun(*this, &Editor::left_track_canvas));
/* set up drag-n-drop */ /* set up drag-n-drop */
@ -830,8 +819,9 @@ Editor::initialize_canvas ()
target_table.push_back (TargetEntry ("text/uri-list")); target_table.push_back (TargetEntry ("text/uri-list"));
target_table.push_back (TargetEntry ("application/x-rootwin-drop")); target_table.push_back (TargetEntry ("application/x-rootwin-drop"));
track_canvas.drag_dest_set (target_table, DEST_DEFAULT_ALL, GdkDragAction (Gdk::ACTION_COPY|Gdk::ACTION_MOVE)); // GTK2FIX
track_canvas.signal_drag_data_received().connect (mem_fun(*this, &Editor::track_canvas_drag_data_received)); // track_canvas.drag_dest_set (target_table, DEST_DEFAULT_ALL, GdkDragAction (Gdk::ACTION_COPY|Gdk::ACTION_MOVE));
// track_canvas.signal_drag_data_received().connect (mem_fun(*this, &Editor::track_canvas_drag_data_received));
/* stuff for the verbose canvas cursor */ /* stuff for the verbose canvas cursor */
@ -944,7 +934,7 @@ Editor::initialize_canvas ()
zoom_rect->set_property ("outline_pixels", 1); zoom_rect->set_property ("outline_pixels", 1);
zoom_rect->hide(); zoom_rect->hide();
zoom_rect->signal_event().connect (mem_fun (*this, &Editor::canvas_zoom_rect_event)); zoom_rect->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
// used as rubberband rect // used as rubberband rect
rubberband_rect = new Gnome::Canvas::SimpleRect (*track_canvas.root(), 0.0, 0.0, 0.0, 0.0); rubberband_rect = new Gnome::Canvas::SimpleRect (*track_canvas.root(), 0.0, 0.0, 0.0, 0.0);
@ -953,11 +943,11 @@ Editor::initialize_canvas ()
rubberband_rect->set_property ("outline_pixels", 1); rubberband_rect->set_property ("outline_pixels", 1);
rubberband_rect->hide(); rubberband_rect->hide();
tempo_bar->signal_event().connect (mem_fun (*this, &Editor::canvas_tempo_bar_event)); tempo_bar->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
meter_bar->signal_event().connect (mem_fun (*this, &Editor::canvas_meter_bar_event)); meter_bar->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
marker_bar->signal_event().connect (mem_fun (*this, &Editor::canvas_marker_bar_event)); marker_bar->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
range_marker_bar->signal_event().connect (mem_fun (*this, &Editor::canvas_range_marker_bar_event)); range_marker_bar->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
transport_marker_bar->signal_event().connect (mem_fun (*this, &Editor::canvas_transport_marker_bar_event)); transport_marker_bar->signal_event().connect (bind (mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
/* separator lines */ /* separator lines */
@ -997,8 +987,8 @@ Editor::initialize_canvas ()
double time_width = FLT_MAX/frames_per_unit; double time_width = FLT_MAX/frames_per_unit;
time_canvas.set_scroll_region(0.0, 0.0, time_width, time_height); time_canvas.set_scroll_region(0.0, 0.0, time_width, time_height);
edit_cursor = new Cursor (*this, "blue", canvas_edit_cursor_event); edit_cursor = new Cursor (*this, "blue", &Editor::canvas_edit_cursor_event);
playhead_cursor = new Cursor (*this, "red", canvas_playhead_cursor_event); playhead_cursor = new Cursor (*this, "red", &Editor::canvas_playhead_cursor_event);
track_canvas.signal_size_allocate().connect (mem_fun(*this, &Editor::track_canvas_allocate)); track_canvas.signal_size_allocate().connect (mem_fun(*this, &Editor::track_canvas_allocate));
} }
@ -1226,10 +1216,10 @@ Editor::on_map ()
} }
void void
Editor::track_canvas_allocate (GtkAllocation *alloc) Editor::track_canvas_allocate (Gtk::Allocation alloc)
{ {
canvas_width = alloc->width; canvas_width = alloc.get_width();
canvas_height = alloc->height; canvas_height = alloc.get_height();
if (session == 0 && !ARDOUR_UI::instance()->will_create_new_session_automatically()) { if (session == 0 && !ARDOUR_UI::instance()->will_create_new_session_automatically()) {
@ -1288,13 +1278,13 @@ Editor::track_canvas_allocate (GtkAllocation *alloc)
zoom_range_clock.set ((jack_nframes_t) (canvas_width * frames_per_unit)); zoom_range_clock.set ((jack_nframes_t) (canvas_width * frames_per_unit));
edit_cursor->set_position (edit_cursor->current_frame); edit_cursor->set_position (edit_cursor->current_frame);
playhead_cursor->set_position (playhead_cursor->current_frame); playhead_cursor->set_position (playhead_cursor->current_frame);
reset_scrolling_region (alloc); reset_scrolling_region (&alloc);
Resized (); /* EMIT_SIGNAL */ Resized (); /* EMIT_SIGNAL */
} }
void void
Editor::reset_scrolling_region (GtkAllocation *alloc) Editor::reset_scrolling_region (Gtk::Allocation* alloc)
{ {
guint32 last_canvas_unit; guint32 last_canvas_unit;
double height; double height;
@ -1337,11 +1327,11 @@ Editor::reset_scrolling_region (GtkAllocation *alloc)
canvas_height = (guint32) height; canvas_height = (guint32) height;
if (alloc) { if (alloc) {
canvas_alloc_height = alloc->height; canvas_alloc_height = alloc->get_height();
canvas_alloc_width = alloc->width; canvas_alloc_width = alloc->get_width();
} else { } else {
canvas_alloc_height = track_canvas.get_height(); canvas_alloc_height = track_canvas.get_height();
canvas_alloc_width = track_canvas.get_width(); canvas_alloc_width = track_canvas.get_width();
} }
canvas_height = max (canvas_height, canvas_alloc_height); canvas_height = max (canvas_height, canvas_alloc_height);
@ -2964,7 +2954,7 @@ Editor::setup_toolbar ()
edit_mode_box.pack_start (edit_mode_label, false, false); edit_mode_box.pack_start (edit_mode_label, false, false);
edit_mode_box.pack_start (edit_mode_selector, false, false); edit_mode_box.pack_start (edit_mode_selector, false, false);
edit_mode_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::edit_mode_selection_done)); edit_mode_selector.signal_changed().connect (mem_fun(*this, &Editor::edit_mode_selection_done));
/* Snap Type */ /* Snap Type */
@ -2984,7 +2974,7 @@ Editor::setup_toolbar ()
snap_type_box.pack_start (snap_type_label, false, false); snap_type_box.pack_start (snap_type_label, false, false);
snap_type_box.pack_start (snap_type_selector, false, false); snap_type_box.pack_start (snap_type_selector, false, false);
snap_type_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::snap_type_selection_done)); snap_type_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_type_selection_done));
/* Snap mode, not snap type */ /* Snap mode, not snap type */
@ -3001,7 +2991,7 @@ Editor::setup_toolbar ()
snap_mode_box.pack_start (snap_mode_label, false, false); snap_mode_box.pack_start (snap_mode_label, false, false);
snap_mode_box.pack_start (snap_mode_selector, false, false); snap_mode_box.pack_start (snap_mode_selector, false, false);
snap_mode_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::snap_mode_selection_done)); snap_mode_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_mode_selection_done));
/* Zoom focus mode */ /* Zoom focus mode */
@ -3020,7 +3010,7 @@ Editor::setup_toolbar ()
zoom_focus_box.pack_start (zoom_focus_label, false, false); zoom_focus_box.pack_start (zoom_focus_label, false, false);
zoom_focus_box.pack_start (zoom_focus_selector, false, false); zoom_focus_box.pack_start (zoom_focus_selector, false, false);
zoom_focus_selector.signal_unmap_event().connect (mem_fun(*this, &Editor::zoom_focus_selection_done)); zoom_focus_selector.signal_changed().connect (mem_fun(*this, &Editor::zoom_focus_selection_done));
/* selection/cursor clocks */ /* selection/cursor clocks */
@ -3090,7 +3080,7 @@ Editor::setup_toolbar ()
tools_tearoff->set_name ("MouseModeBase"); tools_tearoff->set_name ("MouseModeBase");
tools_tearoff->Detach.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Gtk::Box*>(&toolbar_hbox), tools_tearoff->Detach.connect (bind (mem_fun(*this, &Editor::detach_tearoff), static_cast<Gtk::Box*>(&toolbar_hbox),
tools_tearoff->tearoff_window(), 0)); tools_tearoff->tearoff_window()));
tools_tearoff->Attach.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Gtk::Box*> (&toolbar_hbox), tools_tearoff->Attach.connect (bind (mem_fun(*this, &Editor::reattach_tearoff), static_cast<Gtk::Box*> (&toolbar_hbox),
tools_tearoff->tearoff_window(), 0)); tools_tearoff->tearoff_window(), 0));
@ -3630,7 +3620,7 @@ Editor::set_selected_regionview_from_region_list (Region& r, bool add)
commit_reversible_command () ; commit_reversible_command () ;
} }
gint bool
Editor::set_selected_regionview_from_map_event (GdkEventAny* ev, StreamView* sv, Region* r) Editor::set_selected_regionview_from_map_event (GdkEventAny* ev, StreamView* sv, Region* r)
{ {
AudioRegionView* rv; AudioRegionView* rv;
@ -3692,8 +3682,8 @@ Editor::set_edit_menu (Menu& menu)
edit_menu->signal_map_event().connect (mem_fun(*this, &Editor::edit_menu_map_handler)); edit_menu->signal_map_event().connect (mem_fun(*this, &Editor::edit_menu_map_handler));
} }
void bool
Editor::edit_menu_map_handler () Editor::edit_menu_map_handler (GdkEventAny* ev)
{ {
using namespace Menu_Helpers; using namespace Menu_Helpers;
MenuList& edit_items = edit_menu->items(); MenuList& edit_items = edit_menu->items();
@ -3704,7 +3694,7 @@ Editor::edit_menu_map_handler ()
edit_items.clear (); edit_items.clear ();
if (session == 0) { if (session == 0) {
return; return false;
} }
if (session->undo_depth() == 0) { if (session->undo_depth() == 0) {
@ -3774,6 +3764,8 @@ Editor::edit_menu_map_handler ()
if (!session->have_captured()) { if (!session->have_captured()) {
edit_items.back().set_sensitive (false); edit_items.back().set_sensitive (false);
} }
return false;
} }
void void
@ -3887,11 +3879,11 @@ Editor::set_verbose_canvas_cursor_text (string txt)
verbose_canvas_cursor->set_property("text", txt.c_str()); verbose_canvas_cursor->set_property("text", txt.c_str());
} }
gint void
Editor::edit_mode_selection_done (GdkEventAny *ev) Editor::edit_mode_selection_done ()
{ {
if (session == 0) { if (session == 0) {
return FALSE; return;
} }
string choice = edit_mode_selector.get_active_text(); string choice = edit_mode_selector.get_active_text();
@ -3904,15 +3896,13 @@ Editor::edit_mode_selection_done (GdkEventAny *ev)
} }
session->set_edit_mode (mode); session->set_edit_mode (mode);
return FALSE;
} }
gint void
Editor::snap_type_selection_done (GdkEventAny *ev) Editor::snap_type_selection_done ()
{ {
if (session == 0) { if (session == 0) {
return FALSE; return;
} }
string choice = snap_type_selector.get_active_text(); string choice = snap_type_selector.get_active_text();
@ -3961,14 +3951,14 @@ Editor::snap_type_selection_done (GdkEventAny *ev)
} }
set_snap_to (snaptype); set_snap_to (snaptype);
return FALSE;
} }
gint void
Editor::snap_mode_selection_done (GdkEventAny *ev) Editor::snap_mode_selection_done ()
{ {
if(session == 0) return FALSE; if(session == 0) {
return;
}
string choice = snap_mode_selector.get_active_text(); string choice = snap_mode_selector.get_active_text();
SnapMode mode = SnapNormal; SnapMode mode = SnapNormal;
@ -3980,15 +3970,13 @@ Editor::snap_mode_selection_done (GdkEventAny *ev)
} }
set_snap_mode (mode); set_snap_mode (mode);
return FALSE;
} }
gint void
Editor::zoom_focus_selection_done (GdkEventAny *ev) Editor::zoom_focus_selection_done ()
{ {
if (session == 0) { if (session == 0) {
return FALSE; return;
} }
string choice = zoom_focus_selector.get_active_text(); string choice = zoom_focus_selector.get_active_text();
@ -4007,8 +3995,6 @@ Editor::zoom_focus_selection_done (GdkEventAny *ev)
} }
set_zoom_focus (focus_type); set_zoom_focus (focus_type);
return FALSE;
} }
gint gint

View file

@ -437,7 +437,7 @@ class Editor : public PublicEditor
void set_selected_track_from_click (bool add = false, bool with_undo = true, bool no_remove=false); void set_selected_track_from_click (bool add = false, bool with_undo = true, bool no_remove=false);
void set_selected_regionview_from_click (bool add = false, bool no_track_remove=false); void set_selected_regionview_from_click (bool add = false, bool no_track_remove=false);
void set_selected_regionview_from_region_list (ARDOUR::Region& region, bool add = false); void set_selected_regionview_from_region_list (ARDOUR::Region& region, bool add = false);
gint set_selected_regionview_from_map_event (GdkEventAny*, StreamView*, ARDOUR::Region*); bool set_selected_regionview_from_map_event (GdkEventAny*, StreamView*, ARDOUR::Region*);
void collect_new_region_view (AudioRegionView *); void collect_new_region_view (AudioRegionView *);
Gtk::Menu track_context_menu; Gtk::Menu track_context_menu;
@ -1184,15 +1184,15 @@ class Editor : public PublicEditor
/* non-public event handlers */ /* non-public event handlers */
bool canvas_playhead_cursor_event (GdkEvent* event, ArdourCanvas::Item*); bool canvas_playhead_cursor_event (GdkEvent* event);
bool canvas_edit_cursor_event (GdkEvent* event, ArdourCanvas::Item*); bool canvas_edit_cursor_event (GdkEvent* event);
bool track_canvas_event (GdkEvent* event, ArdourCanvas::Item*); bool track_canvas_event (GdkEvent* event, ArdourCanvas::Item*);
bool track_canvas_button_press_event (GdkEventButton *); bool track_canvas_button_press_event (GdkEventButton *);
bool track_canvas_button_release_event (GdkEventButton *); bool track_canvas_button_release_event (GdkEventButton *);
void track_canvas_allocate (GtkAllocation* alloc); void track_canvas_allocate (Gtk::Allocation alloc);
void time_canvas_allocate (GtkAllocation* alloc); void time_canvas_allocate (Gtk::Allocation alloc);
void set_edit_cursor (GdkEvent* event); void set_edit_cursor (GdkEvent* event);
void set_playhead_cursor (GdkEvent* event); void set_playhead_cursor (GdkEvent* event);
@ -1215,7 +1215,7 @@ class Editor : public PublicEditor
void fake_handle_new_duration (); void fake_handle_new_duration ();
void handle_new_duration (); void handle_new_duration ();
void initialize_canvas (); void initialize_canvas ();
void reset_scrolling_region (GtkAllocation* alloc = 0); void reset_scrolling_region (Gtk::Allocation* alloc = 0);
void scroll_canvas (); void scroll_canvas ();
/* sub-event loop handling */ /* sub-event loop handling */
@ -1347,25 +1347,25 @@ class Editor : public PublicEditor
Gtk::Label edit_mode_label; Gtk::Label edit_mode_label;
Gtk::VBox edit_mode_box; Gtk::VBox edit_mode_box;
gint edit_mode_selection_done (GdkEventAny*); void edit_mode_selection_done ();
Gtk::ComboBoxText snap_type_selector; Gtk::ComboBoxText snap_type_selector;
Gtk::Label snap_type_label; Gtk::Label snap_type_label;
Gtk::VBox snap_type_box; Gtk::VBox snap_type_box;
gint snap_type_selection_done (GdkEventAny*); void snap_type_selection_done ();
Gtk::ComboBoxText snap_mode_selector; Gtk::ComboBoxText snap_mode_selector;
Gtk::Label snap_mode_label; Gtk::Label snap_mode_label;
Gtk::VBox snap_mode_box; Gtk::VBox snap_mode_box;
gint snap_mode_selection_done (GdkEventAny*); void snap_mode_selection_done ();
Gtk::ComboBoxText zoom_focus_selector; Gtk::ComboBoxText zoom_focus_selector;
Gtk::Label zoom_focus_label; Gtk::Label zoom_focus_label;
Gtk::VBox zoom_focus_box; Gtk::VBox zoom_focus_box;
gint zoom_focus_selection_done (GdkEventAny*); void zoom_focus_selection_done ();
Gtk::Label zoom_indicator_label; Gtk::Label zoom_indicator_label;
Gtk::HBox zoom_indicator_box; Gtk::HBox zoom_indicator_box;
@ -1673,7 +1673,7 @@ class Editor : public PublicEditor
/* edit menu */ /* edit menu */
Gtk::Menu* edit_menu; Gtk::Menu* edit_menu;
void edit_menu_map_handler (); bool edit_menu_map_handler (GdkEventAny*);
jack_nframes_t event_frame (GdkEvent*, double* px = 0, double* py = 0); jack_nframes_t event_frame (GdkEvent*, double* px = 0, double* py = 0);

View file

@ -23,16 +23,17 @@
#include "gain_automation_time_axis.h" #include "gain_automation_time_axis.h"
#include "automation_line.h" #include "automation_line.h"
#include "canvas.h"
#include "i18n.h" #include "i18n.h"
using namespace ARDOUR; using namespace ARDOUR;
using namespace Gtk; using namespace Gtk;
GainAutomationTimeAxisView::GainAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, Widget* p, std::string n, ARDOUR::Curve& c) GainAutomationTimeAxisView::GainAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, Canvas& canvas, std::string n, ARDOUR::Curve& c)
: AxisView (s), : AxisView (s),
AutomationTimeAxisView (s, r, e, parent, p, n, X_("gain"), ""), AutomationTimeAxisView (s, r, e, parent, canvas, n, X_("gain"), ""),
curve (c) curve (c)
{ {

View file

@ -16,7 +16,7 @@ class GainAutomationTimeAxisView : public AutomationTimeAxisView
ARDOUR::Route&, ARDOUR::Route&,
PublicEditor&, PublicEditor&,
TimeAxisView& parent_axis, TimeAxisView& parent_axis,
ArdourCanvas::Group& parent, ArdourCanvas::Canvas& canvas,
std::string name, std::string name,
ARDOUR::Curve&); ARDOUR::Curve&);

View file

@ -31,7 +31,7 @@
#include "public_editor.h" #include "public_editor.h"
#include "imageframe_time_axis.h" #include "imageframe_time_axis.h"
#include "canvas-simplerect.h" #include "simplerect.h"
#include "enums.h" #include "enums.h"
#include "imageframe_time_axis_view.h" #include "imageframe_time_axis_view.h"
#include "imageframe_time_axis_group.h" #include "imageframe_time_axis_group.h"
@ -40,6 +40,7 @@
#include "marker_time_axis.h" #include "marker_time_axis.h"
#include "marker_view.h" #include "marker_view.h"
#include "gui_thread.h" #include "gui_thread.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
@ -55,7 +56,7 @@ using namespace Gtk ;
* @param sess the current session * @param sess the current session
* @param canvas the parent canvas item * @param canvas the parent canvas item
*/ */
ImageFrameTimeAxis::ImageFrameTimeAxis(std::string track_id, PublicEditor& ed, ARDOUR::Session& sess, Widget *canvas) ImageFrameTimeAxis::ImageFrameTimeAxis(std::string track_id, PublicEditor& ed, ARDOUR::Session& sess, Canvas& canvas)
: AxisView(sess), : AxisView(sess),
VisualTimeAxis(track_id, ed, sess, canvas) VisualTimeAxis(track_id, ed, sess, canvas)
{ {

View file

@ -21,13 +21,14 @@
#ifndef __ardour_imageframe_time_axis_h__ #ifndef __ardour_imageframe_time_axis_h__
#define __ardour_imageframe_time_axis_h__ #define __ardour_imageframe_time_axis_h__
#include <list>
#include <gtkmm.h> #include <gtkmm.h>
#include <libgnomecanvas/libgnomecanvas.h> #include <libgnomecanvas/libgnomecanvas.h>
#include "ardour_dialog.h" #include "ardour_dialog.h"
#include "enums.h" #include "enums.h"
#include "time_axis_view.h" #include "time_axis_view.h"
#include <list> #include "canvas.h"
#include "visual_time_axis.h" #include "visual_time_axis.h"
namespace ARDOUR namespace ARDOUR
@ -59,7 +60,7 @@ class ImageFrameTimeAxis : public VisualTimeAxis
* @param sess the current session * @param sess the current session
* @param canvas the parent canvas item * @param canvas the parent canvas item
*/ */
ImageFrameTimeAxis(std::string track_id, PublicEditor& ed, ARDOUR::Session& sess, Gtk::Widget *canvas) ; ImageFrameTimeAxis(std::string track_id, PublicEditor& ed, ARDOUR::Session& sess, ArdourCanvas::Canvas& canvas) ;
/** /**
* Destructor * Destructor

View file

@ -30,12 +30,12 @@
#include "ardour_ui.h" #include "ardour_ui.h"
#include "public_editor.h" #include "public_editor.h"
#include "imageframe_time_axis.h" #include "imageframe_time_axis.h"
#include "canvas-simplerect.h"
#include "selection.h" #include "selection.h"
#include "imageframe_time_axis_view.h" #include "imageframe_time_axis_view.h"
#include "marker_time_axis_view.h" #include "marker_time_axis_view.h"
#include "imageframe_view.h" #include "imageframe_view.h"
#include "marker_time_axis.h" #include "marker_time_axis.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
@ -55,7 +55,7 @@ using namespace Gtk;
* @param name the name/id of this time axis * @param name the name/id of this time axis
* @param tav the associated track view that this MarkerTimeAxis is marking up * @param tav the associated track view that this MarkerTimeAxis is marking up
*/ */
MarkerTimeAxis::MarkerTimeAxis (PublicEditor& ed, ARDOUR::Session& sess, Widget *canvas, std::string name, TimeAxisView* tav) MarkerTimeAxis::MarkerTimeAxis (PublicEditor& ed, ARDOUR::Session& sess, Canvas& canvas, std::string name, TimeAxisView* tav)
: AxisView(sess), : AxisView(sess),
VisualTimeAxis(name, ed, sess, canvas) VisualTimeAxis(name, ed, sess, canvas)
{ {
@ -65,9 +65,7 @@ MarkerTimeAxis::MarkerTimeAxis (PublicEditor& ed, ARDOUR::Session& sess, Widget
_color = unique_random_color() ; _color = unique_random_color() ;
time_axis_name = name ; time_axis_name = name ;
//GTK2FIX -- how to get the group? is the canvas display really a group? selection_group = new Group (*canvas_display);
//selection_group = gnome_canvas_item_new (GNOME_CANVAS_GROUP(canvas_display), gnome_canvas_group_get_type (), 0) ;
selection_group = new Gnome::Canvas::Group (*canvas_display);
selection_group->hide(); selection_group->hide();
// intialize our data items // intialize our data items
@ -96,28 +94,28 @@ MarkerTimeAxis::~MarkerTimeAxis()
for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i) for (list<SelectionRect*>::iterator i = free_selection_rects.begin(); i != free_selection_rects.end(); ++i)
{ {
gtk_object_destroy (GTK_OBJECT((*i)->rect)); delete (*i)->rect;
gtk_object_destroy (GTK_OBJECT((*i)->start_trim)); delete (*i)->start_trim;
gtk_object_destroy (GTK_OBJECT((*i)->end_trim)); delete (*i)->end_trim;
} }
for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i)
{ {
gtk_object_destroy (GTK_OBJECT((*i)->rect)); delete (*i)->rect;
gtk_object_destroy (GTK_OBJECT((*i)->start_trim)); delete (*i)->start_trim;
gtk_object_destroy (GTK_OBJECT((*i)->end_trim)); delete (*i)->end_trim;
} }
if(selection_group) if(selection_group)
{ {
gtk_object_destroy(GTK_OBJECT (selection_group)) ; delete selection_group;
selection_group = 0 ; selection_group = 0 ;
} }
// destroy the view helper // destroy the view helper
// this handles removing and destroying individual marker items // this handles removing and destroying individual marker items
if(view)
{ if(view) {
delete view ; delete view ;
view = 0 ; view = 0 ;
} }

View file

@ -21,6 +21,7 @@
#ifndef __ardour_marker_time_axis_h__ #ifndef __ardour_marker_time_axis_h__
#define __ardour_marker_time_axis_h__ #define __ardour_marker_time_axis_h__
#include <string>
#include <gtkmm.h> #include <gtkmm.h>
#include <libgnomecanvas/libgnomecanvas.h> #include <libgnomecanvas/libgnomecanvas.h>
@ -28,7 +29,7 @@
#include "route_ui.h" #include "route_ui.h"
#include "enums.h" #include "enums.h"
#include "time_axis_view.h" #include "time_axis_view.h"
#include <string> #include "canvas.h"
#include "visual_time_axis.h" #include "visual_time_axis.h"
namespace ARDOUR { namespace ARDOUR {
@ -63,7 +64,7 @@ class MarkerTimeAxis : public VisualTimeAxis
* @param name the name/id of this time axis * @param name the name/id of this time axis
* @param tav the associated track view that this MarkerTimeAxis is marking up * @param tav the associated track view that this MarkerTimeAxis is marking up
*/ */
MarkerTimeAxis(PublicEditor& ed, ARDOUR::Session& sess, Gtk::Widget* canvas, std::string name, TimeAxisView* tav) ; MarkerTimeAxis(PublicEditor& ed, ARDOUR::Session& sess, ArdourCanvas::Canvas& canvas, std::string name, TimeAxisView* tav) ;
/** /**
* Destructor * Destructor

View file

@ -428,7 +428,7 @@ OptionEditor::setup_path_options()
vector<string> nfstrings = internationalize (native_format_strings); vector<string> nfstrings = internationalize (native_format_strings);
set_popdown_strings (native_format_combo, nfstrings); set_popdown_strings (native_format_combo, nfstrings);
native_format_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::native_format_chosen)); native_format_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::native_format_chosen));
fixup_combo_size (native_format_combo, nfstrings); fixup_combo_size (native_format_combo, nfstrings);
@ -489,7 +489,7 @@ OptionEditor::setup_fade_options ()
dumb.push_back (lmode_strings[Session::AddHigher]); dumb.push_back (lmode_strings[Session::AddHigher]);
set_popdown_strings (layer_mode_combo, dumb); set_popdown_strings (layer_mode_combo, dumb);
layer_mode_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::layer_mode_chosen)); layer_mode_combo.signal_changed ().connect (mem_fun(*this, &OptionEditor::layer_mode_chosen));
fixup_combo_size (layer_mode_combo, layer_mode_strings); fixup_combo_size (layer_mode_combo, layer_mode_strings);
@ -507,7 +507,7 @@ OptionEditor::setup_fade_options ()
dumb.push_back (xfade_model_strings[ShortCrossfade]); dumb.push_back (xfade_model_strings[ShortCrossfade]);
set_popdown_strings (xfade_model_combo, dumb); set_popdown_strings (xfade_model_combo, dumb);
xfade_model_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::xfade_model_chosen)); xfade_model_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::xfade_model_chosen));
fixup_combo_size (xfade_model_combo, xfade_model_strings); fixup_combo_size (xfade_model_combo, xfade_model_strings);
@ -551,11 +551,11 @@ OptionEditor::short_xfade_adjustment_changed ()
} }
} }
gint void
OptionEditor::layer_mode_chosen (GdkEventAny* ev) OptionEditor::layer_mode_chosen ()
{ {
if (!session) { if (!session) {
return FALSE; return;
} }
string which = layer_mode_combo.get_active_text (); string which = layer_mode_combo.get_active_text ();
@ -567,14 +567,13 @@ OptionEditor::layer_mode_chosen (GdkEventAny* ev)
} else if (which == layer_mode_strings[Session::AddHigher]) { } else if (which == layer_mode_strings[Session::AddHigher]) {
session->set_layer_model (Session::AddHigher); session->set_layer_model (Session::AddHigher);
} }
return FALSE;
} }
gint void
OptionEditor::xfade_model_chosen (GdkEventAny* ev) OptionEditor::xfade_model_chosen ()
{ {
if (!session) { if (!session) {
return FALSE; return;
} }
string which = xfade_model_combo.get_active_text (); string which = xfade_model_combo.get_active_text ();
@ -584,7 +583,6 @@ OptionEditor::xfade_model_chosen (GdkEventAny* ev)
} else if (which == xfade_model_strings[ShortCrossfade]) { } else if (which == xfade_model_strings[ShortCrossfade]) {
session->set_xfade_model (ShortCrossfade); session->set_xfade_model (ShortCrossfade);
} }
return FALSE;
} }
void void
@ -705,7 +703,7 @@ OptionEditor::setup_display_options ()
dumb.push_back (_("Medium")); dumb.push_back (_("Medium"));
dumb.push_back (_("Long")); dumb.push_back (_("Long"));
set_popdown_strings (meter_hold_combo, dumb); set_popdown_strings (meter_hold_combo, dumb);
meter_hold_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::meter_hold_chosen)); meter_hold_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::meter_hold_chosen));
hbox = manage (new HBox); hbox = manage (new HBox);
hbox->set_border_width (8); hbox->set_border_width (8);
hbox->set_spacing (8); hbox->set_spacing (8);
@ -724,7 +722,7 @@ OptionEditor::setup_display_options ()
dumb.push_back (_("Faster")); dumb.push_back (_("Faster"));
dumb.push_back (_("Fastest")); dumb.push_back (_("Fastest"));
set_popdown_strings (meter_falloff_combo, dumb); set_popdown_strings (meter_falloff_combo, dumb);
meter_falloff_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::meter_falloff_chosen)); meter_falloff_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::meter_falloff_chosen));
hbox = manage (new HBox); hbox = manage (new HBox);
hbox->set_border_width (8); hbox->set_border_width (8);
hbox->set_spacing (8); hbox->set_spacing (8);
@ -747,8 +745,8 @@ OptionEditor::setup_display_options ()
follow_playhead_button.set_active (editor.follow_playhead()); follow_playhead_button.set_active (editor.follow_playhead());
} }
gint void
OptionEditor::meter_hold_chosen (GdkEventAny* ev) OptionEditor::meter_hold_chosen ()
{ {
if (session) { if (session) {
string str = meter_hold_combo.get_active_text(); string str = meter_hold_combo.get_active_text();
@ -763,12 +761,10 @@ OptionEditor::meter_hold_chosen (GdkEventAny* ev)
session->set_meter_hold (200); session->set_meter_hold (200);
} }
} }
return TRUE;
} }
gint void
OptionEditor::meter_falloff_chosen (GdkEventAny* ev) OptionEditor::meter_falloff_chosen ()
{ {
if (session) { if (session) {
string str = meter_falloff_combo.get_active_text(); string str = meter_falloff_combo.get_active_text();
@ -789,8 +785,6 @@ OptionEditor::meter_falloff_chosen (GdkEventAny* ev)
session->set_meter_falloff (2.5f); session->set_meter_falloff (2.5f);
} }
} }
return TRUE;
} }
void void
@ -834,7 +828,7 @@ OptionEditor::setup_sync_options ()
positional_sync_strings = internationalize (psync_strings); positional_sync_strings = internationalize (psync_strings);
slave_type_combo.set_name ("OptionsEntry"); slave_type_combo.set_name ("OptionsEntry");
slave_type_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::slave_type_chosen)); slave_type_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::slave_type_chosen));
dumb.clear (); dumb.clear ();
dumb.push_back (X_("24 FPS")); dumb.push_back (X_("24 FPS"));
@ -843,7 +837,7 @@ OptionEditor::setup_sync_options ()
dumb.push_back (X_("30 FPS non-drop")); dumb.push_back (X_("30 FPS non-drop"));
set_popdown_strings (smpte_fps_combo, dumb); set_popdown_strings (smpte_fps_combo, dumb);
smpte_fps_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::smpte_fps_chosen)); smpte_fps_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::smpte_fps_chosen));
smpte_offset_clock.set_mode (AudioClock::SMPTE); smpte_offset_clock.set_mode (AudioClock::SMPTE);
smpte_offset_clock.ValueChanged.connect (mem_fun(*this, &OptionEditor::smpte_offset_chosen)); smpte_offset_clock.ValueChanged.connect (mem_fun(*this, &OptionEditor::smpte_offset_chosen));
@ -911,8 +905,8 @@ OptionEditor::smpte_offset_negative_clicked ()
} }
} }
gint void
OptionEditor::smpte_fps_chosen (GdkEventAny* ev) OptionEditor::smpte_fps_chosen ()
{ {
if (session) { if (session) {
string str = smpte_fps_combo.get_active_text(); string str = smpte_fps_combo.get_active_text();
@ -927,8 +921,6 @@ OptionEditor::smpte_fps_chosen (GdkEventAny* ev)
session->set_smpte_type (30.0, false); session->set_smpte_type (30.0, false);
} }
} }
return TRUE;
} }
void void
@ -1466,13 +1458,13 @@ OptionEditor::session_control_changed (Session::ControlType t)
} }
} }
gint void
OptionEditor::native_format_chosen (GdkEventAny *ignored) OptionEditor::native_format_chosen ()
{ {
string which; string which;
if (session == 0) { if (session == 0) {
return FALSE; return;
} }
bool use_bwf = (native_format_combo.get_active_text() == native_format_strings[0]); bool use_bwf = (native_format_combo.get_active_text() == native_format_strings[0]);
@ -1481,17 +1473,15 @@ OptionEditor::native_format_chosen (GdkEventAny *ignored)
Config->set_native_format_is_bwf (use_bwf); Config->set_native_format_is_bwf (use_bwf);
session->reset_native_file_format (); session->reset_native_file_format ();
} }
return TRUE;
} }
gint void
OptionEditor::slave_type_chosen (GdkEventAny *ignored) OptionEditor::slave_type_chosen ()
{ {
string which; string which;
if (session == 0) { if (session == 0) {
return FALSE; return;
} }
which = slave_type_combo.get_active_text(); which = slave_type_combo.get_active_text();
@ -1503,7 +1493,6 @@ OptionEditor::slave_type_chosen (GdkEventAny *ignored)
} else if (which == positional_sync_strings[Session::JACK]) { } else if (which == positional_sync_strings[Session::JACK]) {
session->request_slave_source (Session::JACK); session->request_slave_source (Session::JACK);
} }
return FALSE;
} }
void void
@ -1833,7 +1822,7 @@ OptionEditor::setup_keyboard_options ()
} }
set_popdown_strings (edit_modifier_combo, dumb); set_popdown_strings (edit_modifier_combo, dumb);
edit_modifier_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::edit_modifier_chosen)); edit_modifier_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::edit_modifier_chosen));
for (int x = 0; modifiers[x].name; ++x) { for (int x = 0; modifiers[x].name; ++x) {
if (modifiers[x].modifier == Keyboard::edit_modifier ()) { if (modifiers[x].modifier == Keyboard::edit_modifier ()) {
@ -1860,7 +1849,7 @@ OptionEditor::setup_keyboard_options ()
edit_button_adjustment.signal_value_changed().connect (mem_fun(*this, &OptionEditor::edit_button_changed)); edit_button_adjustment.signal_value_changed().connect (mem_fun(*this, &OptionEditor::edit_button_changed));
set_popdown_strings (delete_modifier_combo, dumb); set_popdown_strings (delete_modifier_combo, dumb);
delete_modifier_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::delete_modifier_chosen)); delete_modifier_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::delete_modifier_chosen));
for (int x = 0; modifiers[x].name; ++x) { for (int x = 0; modifiers[x].name; ++x) {
if (modifiers[x].modifier == Keyboard::delete_modifier ()) { if (modifiers[x].modifier == Keyboard::delete_modifier ()) {
@ -1887,7 +1876,7 @@ OptionEditor::setup_keyboard_options ()
delete_button_adjustment.signal_value_changed().connect (mem_fun(*this, &OptionEditor::delete_button_changed)); delete_button_adjustment.signal_value_changed().connect (mem_fun(*this, &OptionEditor::delete_button_changed));
set_popdown_strings (snap_modifier_combo, dumb); set_popdown_strings (snap_modifier_combo, dumb);
snap_modifier_combo.signal_unmap_event().connect (mem_fun(*this, &OptionEditor::snap_modifier_chosen)); snap_modifier_combo.signal_changed().connect (mem_fun(*this, &OptionEditor::snap_modifier_chosen));
for (int x = 0; modifiers[x].name; ++x) { for (int x = 0; modifiers[x].name; ++x) {
if (modifiers[x].modifier == (guint) Keyboard::snap_modifier ()) { if (modifiers[x].modifier == (guint) Keyboard::snap_modifier ()) {
@ -1904,8 +1893,8 @@ OptionEditor::setup_keyboard_options ()
keyboard_mouse_table.attach (snap_modifier_combo, 1, 2, 2, 3, Gtk::FILL|Gtk::EXPAND, FILL); keyboard_mouse_table.attach (snap_modifier_combo, 1, 2, 2, 3, Gtk::FILL|Gtk::EXPAND, FILL);
} }
gint void
OptionEditor::edit_modifier_chosen (GdkEventAny *ev) OptionEditor::edit_modifier_chosen ()
{ {
string txt; string txt;
@ -1917,11 +1906,10 @@ OptionEditor::edit_modifier_chosen (GdkEventAny *ev)
break; break;
} }
} }
return TRUE;
} }
gint void
OptionEditor::delete_modifier_chosen (GdkEventAny *ev) OptionEditor::delete_modifier_chosen ()
{ {
string txt; string txt;
@ -1933,11 +1921,10 @@ OptionEditor::delete_modifier_chosen (GdkEventAny *ev)
break; break;
} }
} }
return TRUE;
} }
gint void
OptionEditor::snap_modifier_chosen (GdkEventAny *ev) OptionEditor::snap_modifier_chosen ()
{ {
string txt; string txt;
@ -1949,7 +1936,6 @@ OptionEditor::snap_modifier_chosen (GdkEventAny *ev)
break; break;
} }
} }
return TRUE;
} }
void void

View file

@ -83,7 +83,7 @@ class OptionEditor : public ArdourDialog
void setup_path_options(); void setup_path_options();
void add_session_paths (); void add_session_paths ();
void remove_session_paths (); void remove_session_paths ();
gint native_format_chosen (GdkEventAny *); void native_format_chosen ();
void raid_path_changed (); void raid_path_changed ();
/* fades */ /* fades */
@ -102,8 +102,8 @@ class OptionEditor : public ArdourDialog
void auto_xfade_clicked (); void auto_xfade_clicked ();
void xfade_active_clicked (); void xfade_active_clicked ();
gint layer_mode_chosen (GdkEventAny*); void layer_mode_chosen ();
gint xfade_model_chosen (GdkEventAny*); void xfade_model_chosen ();
void setup_fade_options(); void setup_fade_options();
void short_xfade_adjustment_changed (); void short_xfade_adjustment_changed ();
@ -135,8 +135,8 @@ class OptionEditor : public ArdourDialog
void show_measures_clicked (); void show_measures_clicked ();
void strip_width_clicked (); void strip_width_clicked ();
void follow_playhead_clicked (); void follow_playhead_clicked ();
gint meter_hold_chosen (GdkEventAny *); void meter_hold_chosen ();
gint meter_falloff_chosen (GdkEventAny *); void meter_falloff_chosen ();
void display_control_changed (Editing::DisplayControl); void display_control_changed (Editing::DisplayControl);
@ -155,10 +155,10 @@ class OptionEditor : public ArdourDialog
void setup_sync_options (); void setup_sync_options ();
gint send_mtc_toggled (GdkEventButton*, Gtk::CheckButton*); gint send_mtc_toggled (GdkEventButton*, Gtk::CheckButton*);
gint slave_type_chosen (GdkEventAny*); void slave_type_chosen ();
void jack_time_master_clicked (); void jack_time_master_clicked ();
void jack_transport_master_clicked (); void jack_transport_master_clicked ();
gint smpte_fps_chosen (GdkEventAny*); void smpte_fps_chosen ();
void smpte_offset_chosen (); void smpte_offset_chosen ();
void smpte_offset_negative_clicked (); void smpte_offset_negative_clicked ();
@ -247,9 +247,9 @@ class OptionEditor : public ArdourDialog
Gtk::SpinButton edit_button_spin; Gtk::SpinButton edit_button_spin;
void setup_keyboard_options (); void setup_keyboard_options ();
gint delete_modifier_chosen (GdkEventAny*); void delete_modifier_chosen ();
gint edit_modifier_chosen (GdkEventAny*); void edit_modifier_chosen ();
gint snap_modifier_chosen (GdkEventAny*); void snap_modifier_chosen ();
void edit_button_changed (); void edit_button_changed ();
void delete_button_changed (); void delete_button_changed ();

View file

@ -26,16 +26,17 @@
#include "pan_automation_time_axis.h" #include "pan_automation_time_axis.h"
#include "automation_line.h" #include "automation_line.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
using namespace ARDOUR; using namespace ARDOUR;
using namespace Gtk; using namespace Gtk;
PanAutomationTimeAxisView::PanAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, Widget* p, std::string n) PanAutomationTimeAxisView::PanAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, Canvas& canvas, std::string n)
: AxisView (s), : AxisView (s),
AutomationTimeAxisView (s, r, e, parent, p, n, X_("pan"), "") AutomationTimeAxisView (s, r, e, parent, canvas, n, X_("pan"), "")
{ {
} }

View file

@ -15,7 +15,7 @@ class PanAutomationTimeAxisView : public AutomationTimeAxisView
ARDOUR::Route&, ARDOUR::Route&,
PublicEditor&, PublicEditor&,
TimeAxisView& parent_axis, TimeAxisView& parent_axis,
ArdourCanvas::Group& parent, ArdourCanvas::Canvas& canvas,
std::string name); std::string name);
~PanAutomationTimeAxisView(); ~PanAutomationTimeAxisView();

View file

@ -479,7 +479,7 @@ PluginUI::build_control_ui (AudioEngine &engine, guint32 port_index, MIDI::Contr
control_ui->combo = new Gtk::ComboBoxText; control_ui->combo = new Gtk::ComboBoxText;
//control_ui->combo->set_value_in_list(true, false); //control_ui->combo->set_value_in_list(true, false);
set_popdown_strings (*control_ui->combo, setup_scale_values(port_index, control_ui)); set_popdown_strings (*control_ui->combo, setup_scale_values(port_index, control_ui));
control_ui->combo->signal_unmap_event().connect (bind (mem_fun(*this, &PluginUI::control_combo_changed), control_ui)); control_ui->combo->signal_changed().connect (bind (mem_fun(*this, &PluginUI::control_combo_changed), control_ui));
plugin.ParameterChanged.connect (bind (mem_fun (*this, &PluginUI::parameter_changed), control_ui)); plugin.ParameterChanged.connect (bind (mem_fun (*this, &PluginUI::parameter_changed), control_ui));
control_ui->pack_start(control_ui->label, true, true); control_ui->pack_start(control_ui->label, true, true);
control_ui->pack_start(*control_ui->combo, false, true); control_ui->pack_start(*control_ui->combo, false, true);
@ -873,7 +873,7 @@ PlugUIBase::PlugUIBase (PluginInsert& pi)
//combo.set_use_arrows_always(true); //combo.set_use_arrows_always(true);
set_popdown_strings (combo, plugin.get_presets()); set_popdown_strings (combo, plugin.get_presets());
combo.set_active_text (""); combo.set_active_text ("");
combo.signal_unmap_event().connect(mem_fun(*this, &PlugUIBase::setting_selected)); combo.signal_changed().connect(mem_fun(*this, &PlugUIBase::setting_selected));
save_button.set_name ("PluginSaveButton"); save_button.set_name ("PluginSaveButton");
save_button.signal_clicked().connect(mem_fun(*this, &PlugUIBase::save_plugin_setting)); save_button.signal_clicked().connect(mem_fun(*this, &PlugUIBase::save_plugin_setting));

View file

@ -81,7 +81,7 @@ class PlugUIBase : public sigc::trackable
Gtk::Button save_button; Gtk::Button save_button;
Gtk::ToggleButton bypass_button; Gtk::ToggleButton bypass_button;
gint setting_selected(GdkEventAny* ignored); void setting_selected();
void save_plugin_setting (void); void save_plugin_setting (void);
void bypass_toggled(); void bypass_toggled();
}; };
@ -186,7 +186,7 @@ class PluginUI : public PlugUIBase, public Gtk::VBox
void parameter_changed (uint32_t, float, ControlUI* cui); void parameter_changed (uint32_t, float, ControlUI* cui);
void update_control_display (ControlUI* cui); void update_control_display (ControlUI* cui);
void control_port_toggled (ControlUI* cui); void control_port_toggled (ControlUI* cui);
bool control_combo_changed (GdkEventAny* ignored, ControlUI* cui); void control_combo_changed (GdkEventAny* ignored, ControlUI* cui);
gint entry_focus_event (GdkEventFocus* ev); gint entry_focus_event (GdkEventFocus* ev);
void redirect_active_changed (ARDOUR::Redirect*, void*); void redirect_active_changed (ARDOUR::Redirect*, void*);

View file

@ -52,7 +52,7 @@ class PublicEditor : public Gtk::Window, public Stateful, public KeyboardTarget
typedef list<TimeAxisView *> TrackViewList; typedef list<TimeAxisView *> TrackViewList;
static PublicEditor* instance() { return _instance; } static PublicEditor& instance() { return *_instance; }
virtual void connect_to_session (ARDOUR::Session*) = 0; virtual void connect_to_session (ARDOUR::Session*) = 0;
virtual ARDOUR::Session* current_session() const = 0; virtual ARDOUR::Session* current_session() const = 0;

View file

@ -35,11 +35,9 @@ using namespace ARDOUR;
RedirectAutomationLine::RedirectAutomationLine (string name, Redirect& rd, uint32_t port, Session& s, RedirectAutomationLine::RedirectAutomationLine (string name, Redirect& rd, uint32_t port, Session& s,
TimeAxisView& tv, Gnome::Canvas::Group& parent, TimeAxisView& tv, Gnome::Canvas::Group& parent,
AutomationList& l, AutomationList& l)
sigc::slot<bool,GdkEvent*,ControlPoint*> point_handler,
sigc::slot<bool,GdkEvent*,AutomationLine*> line_handler),
: AutomationLine (name, tv, parent, l, point_handler, line_handler), : AutomationLine (name, tv, parent, l)
session (s), session (s),
_redirect (rd), _redirect (rd),
_port (port) _port (port)

View file

@ -24,7 +24,6 @@
#include <ardour/ardour.h> #include <ardour/ardour.h>
#include <gtkmm.h> #include <gtkmm.h>
#include "canvas.h"
#include "automation_line.h" #include "automation_line.h"
namespace ARDOUR { namespace ARDOUR {
@ -37,11 +36,8 @@ class TimeAxisView;
class RedirectAutomationLine : public AutomationLine class RedirectAutomationLine : public AutomationLine
{ {
public: public:
RedirectAutomationLine (string name, ARDOUR::Redirect&, uint32_t port, ARDOUR::Session&, TimeAxisView&, RedirectAutomationLine (string name, ARDOUR::Redirect&, uint32_t port, ARDOUR::Session&, TimeAxisView&,
ArdourCanvas::Group& parent, ArdourCanvas::Group& parent, ARDOUR::AutomationList&);
ARDOUR::AutomationList&,
sigc::slot<bool,GdkEvent*,ControlPoint*> point_handler,
sigc::slot<bool,GdkEvent*,AutomationLine*> line_handler);
uint32_t port() const { return _port; } uint32_t port() const { return _port; }
ARDOUR::Redirect& redirect() const { return _redirect; } ARDOUR::Redirect& redirect() const { return _redirect; }

View file

@ -24,17 +24,18 @@
#include "redirect_automation_time_axis.h" #include "redirect_automation_time_axis.h"
#include "automation_line.h" #include "automation_line.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
using namespace ARDOUR; using namespace ARDOUR;
using namespace Gtk; using namespace Gtk;
RedirectAutomationTimeAxisView::RedirectAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, ArdourCanvas::Group& gp, std::string n, RedirectAutomationTimeAxisView::RedirectAutomationTimeAxisView (Session& s, Route& r, PublicEditor& e, TimeAxisView& parent, Canvas& canvas, std::string n,
uint32_t prt, Redirect& rd, string state_name) uint32_t prt, Redirect& rd, string state_name)
: AxisView (s), : AxisView (s),
AutomationTimeAxisView (s, r, e, parent, gp, n, state_name, rd.name()), AutomationTimeAxisView (s, r, e, parent, canvas, n, state_name, rd.name()),
redirect (rd), redirect (rd),
port (prt) port (prt)

View file

@ -17,7 +17,7 @@ class RedirectAutomationTimeAxisView : public AutomationTimeAxisView
ARDOUR::Route&, ARDOUR::Route&,
PublicEditor&, PublicEditor&,
TimeAxisView& parent, TimeAxisView& parent,
ArdourCanvas::Group& parent, ArdourCanvas::Canvas& canvas,
std::string name, std::string name,
uint32_t port, uint32_t port,
ARDOUR::Redirect& rd, ARDOUR::Redirect& rd,

View file

@ -229,7 +229,7 @@ class TimeAxisView : public virtual AxisView
* Do anything that needs to be done to dynamically reset * Do anything that needs to be done to dynamically reset
* the LHS control menu. * the LHS control menu.
*/ */
virtual gint handle_display_menu_map_event (GdkEventAny *ev) { return FALSE; } virtual bool handle_display_menu_map_event (GdkEventAny *ev) { return false; }
/** /**
* Build the standard LHS control size menu for the default TrackHeight options. * Build the standard LHS control size menu for the default TrackHeight options.

View file

@ -41,7 +41,6 @@
#include "ardour_ui.h" #include "ardour_ui.h"
#include "public_editor.h" #include "public_editor.h"
#include "imageframe_time_axis.h" #include "imageframe_time_axis.h"
#include "canvas-simplerect.h"
#include "imageframe_time_axis_view.h" #include "imageframe_time_axis_view.h"
#include "marker_time_axis_view.h" #include "marker_time_axis_view.h"
#include "imageframe_view.h" #include "imageframe_view.h"
@ -50,6 +49,7 @@
#include "utils.h" #include "utils.h"
#include "prompter.h" #include "prompter.h"
#include "rgb_macros.h" #include "rgb_macros.h"
#include "canvas_impl.h"
#include "i18n.h" #include "i18n.h"
@ -83,7 +83,7 @@ static const gchar* small_x_xpm[] = {
* @param sess the current session * @param sess the current session
* @param canvas the parent canvas object * @param canvas the parent canvas object
*/ */
VisualTimeAxis::VisualTimeAxis(std::string name, PublicEditor& ed, ARDOUR::Session& sess, Widget *canvas) VisualTimeAxis::VisualTimeAxis(std::string name, PublicEditor& ed, ARDOUR::Session& sess, Canvas& canvas)
: AxisView(sess), : AxisView(sess),
TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas), TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas),
visual_button (_("v")), visual_button (_("v")),

View file

@ -22,14 +22,13 @@
#define __ardour_visual_time_axis_h__ #define __ardour_visual_time_axis_h__
#include <gtkmm.h> #include <gtkmm.h>
#include <libgnomecanvas/libgnomecanvas.h>
#include <gtkmm2ext/selector.h> #include <gtkmm2ext/selector.h>
#include "ardour_dialog.h" #include "ardour_dialog.h"
#include "route_ui.h" #include "route_ui.h"
#include "enums.h" #include "enums.h"
#include "time_axis_view.h" #include "time_axis_view.h"
#include "canvas.h"
namespace ARDOUR namespace ARDOUR
{ {
@ -145,7 +144,7 @@ class VisualTimeAxis : public TimeAxisView
* @param sess the current session * @param sess the current session
* @param canvas the parent canvas object * @param canvas the parent canvas object
*/ */
VisualTimeAxis(std::string name, PublicEditor& ed, ARDOUR::Session& sess, Gtk::Widget* canvas) ; VisualTimeAxis(std::string name, PublicEditor& ed, ARDOUR::Session& sess, ArdourCanvas::Canvas& canvas) ;
//---------------------------------------------------------------------------------------// //---------------------------------------------------------------------------------------//

View file

@ -35,7 +35,7 @@ namespace Gtkmm2ext {
gint hpadding, gint hpadding,
gint vpadding); gint vpadding);
void set_popdown_strings (Gtk::ComboBoxText&, std::vector<std::string>&); void set_popdown_strings (Gtk::ComboBoxText&, const std::vector<std::string>&);
template<class T> void deferred_delete (void *ptr) { template<class T> void deferred_delete (void *ptr) {
delete static_cast<T *> (ptr); delete static_cast<T *> (ptr);

View file

@ -44,11 +44,11 @@ Gtkmm2ext::init ()
} }
void void
Gtkmm2ext::set_popdown_strings (Gtk::ComboBoxText& cr, vector<string>& strings) Gtkmm2ext::set_popdown_strings (Gtk::ComboBoxText& cr, const vector<string>& strings)
{ {
cr.clear (); cr.clear ();
for (vector<string>::iterator i = strings.begin(); i != strings.end(); ++i) { for (vector<string>::const_iterator i = strings.begin(); i != strings.end(); ++i) {
cr.append_text (*i); cr.append_text (*i);
} }
} }