summaryrefslogtreecommitdiffstats
path: root/src/gui/ControlPanel.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-10-22 03:08:06 +0000
committerDavid Robillard <d@drobilla.net>2011-10-22 03:08:06 +0000
commitac1d6d135bda8d739fdb8bf564f89c38b664c097 (patch)
treed750da79dd88b64ab2a88cca1651c2a5a240bd72 /src/gui/ControlPanel.cpp
parent143968e38cc2f058dd7c500e984904a39864d652 (diff)
downloadingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.tar.gz
ingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.tar.bz2
ingen-ac1d6d135bda8d739fdb8bf564f89c38b664c097.zip
De-singleton-ify GUI.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3584 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/ControlPanel.cpp')
-rw-r--r--src/gui/ControlPanel.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/gui/ControlPanel.cpp b/src/gui/ControlPanel.cpp
index 1aca1adf..6b3c180d 100644
--- a/src/gui/ControlPanel.cpp
+++ b/src/gui/ControlPanel.cpp
@@ -48,11 +48,13 @@ ControlPanel::~ControlPanel()
}
void
-ControlPanel::init(SharedPtr<const NodeModel> node, uint32_t poly)
+ControlPanel::init(App& app, SharedPtr<const NodeModel> node, uint32_t poly)
{
assert(node != NULL);
assert(poly > 0);
+ _app = &app;
+
for (NodeModel::Ports::const_iterator i = node->ports().begin();
i != node->ports().end(); ++i) {
add_port(*i);
@@ -90,12 +92,12 @@ ControlPanel::add_port(SharedPtr<const PortModel> pm)
ToggleControl* tc;
WidgetFactory::get_widget_derived("toggle_control", tc);
control = tc;
- } else if (pm->is_a(App::instance().uris().lv2_ControlPort)
- || pm->supports(App::instance().uris().atom_Float32)) {
+ } else if (pm->is_a(_app->uris().lv2_ControlPort)
+ || pm->supports(_app->uris().atom_Float32)) {
SliderControl* sc;
WidgetFactory::get_widget_derived("control_strip", sc);
control = sc;
- } else if (pm->supports(App::instance().uris().atom_String)) {
+ } else if (pm->supports(_app->uris().atom_String)) {
StringControl* sc;
WidgetFactory::get_widget_derived("string_control", sc);
control = sc;
@@ -103,7 +105,7 @@ ControlPanel::add_port(SharedPtr<const PortModel> pm)
}
if (control) {
- control->init(this, pm);
+ control->init(*_app, this, pm);
if (_controls.size() > 0)
_control_box->pack_start(*Gtk::manage(new Gtk::HSeparator()), false, false, 4);
@@ -142,9 +144,9 @@ ControlPanel::value_changed_atom(SharedPtr<const PortModel> port,
const Raul::Atom& val)
{
if (_callback_enabled) {
- App::instance().engine()->set_property(port->path(),
- App::instance().uris().ingen_value,
- val);
+ _app->engine()->set_property(port->path(),
+ _app->uris().ingen_value,
+ val);
}
}