summaryrefslogtreecommitdiffstats
path: root/src/gui/ObjectMenu.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-01-29 01:43:54 +0000
committerDavid Robillard <d@drobilla.net>2010-01-29 01:43:54 +0000
commitd5a514148bec58cd7e97d032259362b2e19c0e95 (patch)
tree64ea4dd182a8918b47a6d5f391e2cd097aebb526 /src/gui/ObjectMenu.cpp
parent36039b294ee823ceb2c239129defc5eafa110247 (diff)
downloadingen-d5a514148bec58cd7e97d032259362b2e19c0e95.tar.gz
ingen-d5a514148bec58cd7e97d032259362b2e19c0e95.tar.bz2
ingen-d5a514148bec58cd7e97d032259362b2e19c0e95.zip
Magic MIDI binding via special ingen_control port.
Always set lv2:minimum and lv2:maximum properties for control ports so they show up in properties dialog (and can be used for MIDI binding). git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2391 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/ObjectMenu.cpp')
-rw-r--r--src/gui/ObjectMenu.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/ObjectMenu.cpp b/src/gui/ObjectMenu.cpp
index 261cbd44..781c4359 100644
--- a/src/gui/ObjectMenu.cpp
+++ b/src/gui/ObjectMenu.cpp
@@ -37,6 +37,7 @@ ObjectMenu::ObjectMenu(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade:
, _destroy_menuitem(NULL)
, _properties_menuitem(NULL)
{
+ xml->get_widget("object_learn_menuitem", _learn_menuitem);
xml->get_widget("object_polyphonic_menuitem", _polyphonic_menuitem);
xml->get_widget("object_disconnect_menuitem", _disconnect_menuitem);
xml->get_widget("object_rename_menuitem", _rename_menuitem);
@@ -57,6 +58,9 @@ ObjectMenu::init(SharedPtr<ObjectModel> object)
_polyphonic_menuitem->set_active(object->polyphonic());
+ _learn_menuitem->signal_activate().connect(
+ sigc::mem_fun(this, &ObjectMenu::on_menu_learn));
+
_disconnect_menuitem->signal_activate().connect(
sigc::mem_fun(this, &ObjectMenu::on_menu_disconnect));
@@ -72,11 +76,20 @@ ObjectMenu::init(SharedPtr<ObjectModel> object)
object->signal_property.connect(sigc::mem_fun(this, &ObjectMenu::property_changed));
+ _learn_menuitem->hide();
+
_enable_signal = true;
}
void
+ObjectMenu::on_menu_learn()
+{
+ App::instance().engine()->learn(_object->path());
+}
+
+
+void
ObjectMenu::on_menu_polyphonic()
{
if (_enable_signal)