summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2005-11-25 03:36:42 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2005-11-25 03:36:42 +0000
commit2dd3c9578fa01dc5dca94f6ba9e4ded8f36b539c (patch)
tree8bc2c2fdd88d2ea156b70fc382e8f3bfb0e6f64a /gtk2_ardour
parentaca31b078bc50dfa193c4024515068001b56489c (diff)
advance compilation to include plugin_ui.cc
git-svn-id: svn://localhost/trunk/ardour2@111 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/panner2d.cc17
-rw-r--r--gtk2_ardour/panner2d.h1
-rw-r--r--gtk2_ardour/plugin_selector.h2
-rw-r--r--gtk2_ardour/plugin_ui.cc16
-rw-r--r--gtk2_ardour/plugin_ui.h16
5 files changed, 27 insertions, 25 deletions
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<Pango::Layout> layout;
typedef std::map<int,Target *> 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<Gtk::TreeSelection> 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&);