From 2dd3c9578fa01dc5dca94f6ba9e4ded8f36b539c Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 25 Nov 2005 03:36:42 +0000 Subject: advance compilation to include plugin_ui.cc git-svn-id: svn://localhost/trunk/ardour2@111 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/panner2d.cc | 17 +++++++++-------- gtk2_ardour/panner2d.h | 1 + gtk2_ardour/plugin_selector.h | 2 -- gtk2_ardour/plugin_ui.cc | 16 +++++++++------- gtk2_ardour/plugin_ui.h | 16 ++++++++-------- 5 files changed, 27 insertions(+), 25 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc index a93a4a3b24..e97fa74576 100644 --- a/gtk2_ardour/panner2d.cc +++ b/gtk2_ardour/panner2d.cc @@ -425,6 +425,11 @@ Panner2d::on_expose_event (GdkEventExpose *event) gint x, y; float fx, fy; + if (layout == 0) { + layout = create_pango_layout (""); + layout->set_font_description (get_style()->get_font()); + } + /* redraw the background */ get_window()->draw_rectangle (get_style()->get_bg_gc(get_state()), @@ -438,7 +443,6 @@ Panner2d::on_expose_event (GdkEventExpose *event) for (Targets::iterator i = pucks.begin(); i != pucks.end(); ++i) { Target* puck = i->second; - Pango::Layout layout = new Pango::Layout(get_window()->create_pango_layout()); if (puck->visible) { /* redraw puck */ @@ -456,13 +460,10 @@ Panner2d::on_expose_event (GdkEventExpose *event) x, y, 8, 8, 0, 360 * 64); - layout.set_text(puck->text); - //get_window()->draw_text (get_style()->get_font(), - // get_style()->get_fg_gc(Gtk::STATE_NORMAL), - // x + 6, y + 6, - // puck->text, - // puck->textlen); - // GTK2FIX : needs a pango layout + + layout->set_text (puck->text); + + get_window()->draw_layout (get_style()->get_fg_gc (STATE_NORMAL), x+6, y+6, layout); } } diff --git a/gtk2_ardour/panner2d.h b/gtk2_ardour/panner2d.h index d1bbfb9add..d3ceef1401 100644 --- a/gtk2_ardour/panner2d.h +++ b/gtk2_ardour/panner2d.h @@ -84,6 +84,7 @@ class Panner2d : public Gtk::DrawingArea ARDOUR::Panner& panner; Gtk::Menu* context_menu; Gtk::CheckMenuItem* bypass_menu_item; + Glib::RefPtr layout; typedef std::map Targets; Targets targets; diff --git a/gtk2_ardour/plugin_selector.h b/gtk2_ardour/plugin_selector.h index ca765f8aac..d7c32ba28f 100644 --- a/gtk2_ardour/plugin_selector.h +++ b/gtk2_ardour/plugin_selector.h @@ -79,8 +79,6 @@ class PluginSelector : public ArdourDialog Glib::RefPtr aselection; Gtk::TreeView added_list; - void column_clicked (int column, GtkCList* clist); - #ifdef VST_SUPPORT // page 2 struct VstColumns : public Gtk::TreeModel::ColumnRecord { diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index b15d12ad31..262b830d8a 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -747,7 +747,7 @@ PluginUI::control_port_toggled (ControlUI* cui) } void -PluginUI::control_combo_changed (GdkEventAny* ignored, ControlUI* cui) +PluginUI::control_combo_changed (ControlUI* cui) { if (!cui->ignore_change) { string value = cui->combo->get_active_text(); @@ -762,7 +762,7 @@ PluginUIWindow::plugin_going_away (ARDOUR::Redirect* ignored) { ENSURE_GUI_THREAD(bind (mem_fun(*this, &PluginUIWindow::plugin_going_away), ignored)); - _pluginui->stop_updating(); + _pluginui->stop_updating(0); delete_when_idle (this); } @@ -774,22 +774,24 @@ PluginUI::redirect_active_changed (Redirect* r, void* src) bypass_button.set_active (!r->active()); } -void -PluginUI::start_updating () +bool +PluginUI::start_updating (GdkEventAny* ignored) { if (output_controls.size() > 0 ) { screen_update_connection.disconnect(); screen_update_connection = ARDOUR_UI::instance()->RapidScreenUpdate.connect (mem_fun(*this, &PluginUI::output_update)); } + return false; } -void -PluginUI::stop_updating () +bool +PluginUI::stop_updating (GdkEventAny* ignored) { if (output_controls.size() > 0 ) { screen_update_connection.disconnect(); } + return false; } void @@ -887,7 +889,7 @@ PlugUIBase::save_plugin_setting () prompter.show_all(); switch (prompter.run ()) { - case GTK_RESPONSE_ACCEPT: + case Gtk::RESPONSE_ACCEPT: string name; diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index dd16082489..61d3d41580 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -64,15 +64,15 @@ namespace Gtkmm2ext { class PixmapButton; } -class PlugUIBase : public sigc::trackable +class PlugUIBase : public virtual sigc::trackable { public: PlugUIBase (ARDOUR::PluginInsert&); virtual ~PlugUIBase() {} virtual gint get_preferred_height () = 0; - virtual void start_updating() = 0; - virtual void stop_updating() = 0; + virtual bool start_updating(GdkEventAny*) = 0; + virtual bool stop_updating(GdkEventAny*) = 0; protected: ARDOUR::PluginInsert& insert; @@ -94,8 +94,8 @@ class PluginUI : public PlugUIBase, public Gtk::VBox gint get_preferred_height () { return prefheight; } - void start_updating(); - void stop_updating(); + bool start_updating(GdkEventAny*); + bool stop_updating(GdkEventAny*); private: ARDOUR::AudioEngine &engine; @@ -186,7 +186,7 @@ class PluginUI : public PlugUIBase, public Gtk::VBox void parameter_changed (uint32_t, float, ControlUI* cui); void update_control_display (ControlUI* cui); void control_port_toggled (ControlUI* cui); - void control_combo_changed (GdkEventAny* ignored, ControlUI* cui); + void control_combo_changed (ControlUI* cui); void redirect_active_changed (ARDOUR::Redirect*, void*); @@ -223,8 +223,8 @@ class VSTPluginUI : public PlugUIBase, public Gtk::VBox ~VSTPluginUI (); gint get_preferred_height (); - void start_updating() {} - void stop_updating() {} + bool start_updating(GdkEventAny*) {} + bool stop_updating(GdkEventAny*) {} int package (Gtk::Window&); -- cgit v1.2.3