summaryrefslogtreecommitdiffstats
path: root/src/gui/ControlPanel.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-25 20:40:13 +0000
committerDavid Robillard <d@drobilla.net>2010-02-25 20:40:13 +0000
commit77a9beca75debd2d87d735fc4fe847694eee6f13 (patch)
treeae03699b999e84bc4c283abfd215c8037ecddaf6 /src/gui/ControlPanel.cpp
parente22984efe9b82ab006494aea93814a592cd44ece (diff)
downloadingen-77a9beca75debd2d87d735fc4fe847694eee6f13.tar.gz
ingen-77a9beca75debd2d87d735fc4fe847694eee6f13.tar.bz2
ingen-77a9beca75debd2d87d735fc4fe847694eee6f13.zip
Work on contexts and polymorphic ports.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2492 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/gui/ControlPanel.cpp')
-rw-r--r--src/gui/ControlPanel.cpp29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/gui/ControlPanel.cpp b/src/gui/ControlPanel.cpp
index eda1adc0..c0f6d19f 100644
--- a/src/gui/ControlPanel.cpp
+++ b/src/gui/ControlPanel.cpp
@@ -16,6 +16,7 @@
*/
#include "interface/EngineInterface.hpp"
+#include "interface/PortType.hpp"
#include "shared/LV2URIMap.hpp"
#include "client/NodeModel.hpp"
#include "client/PortModel.hpp"
@@ -89,21 +90,19 @@ ControlPanel::add_port(SharedPtr<PortModel> pm)
// Add port
if (pm->is_input()) {
- if (pm->type().is_control()) {
- if (pm->is_toggle()) {
- ToggleControl* tc;
- Glib::RefPtr<Gnome::Glade::Xml> xml
- = GladeFactory::new_glade_reference("toggle_control");
- xml->get_widget_derived("toggle_control", tc);
- control = tc;
- } else {
- SliderControl* sc;
- Glib::RefPtr<Gnome::Glade::Xml> xml
- = GladeFactory::new_glade_reference("control_strip");
- xml->get_widget_derived("control_strip", sc);
- control = sc;
- }
- } else if (pm->type().is_value() || pm->type().is_message()) {
+ if (pm->is_toggle()) {
+ ToggleControl* tc;
+ Glib::RefPtr<Gnome::Glade::Xml> xml
+ = GladeFactory::new_glade_reference("toggle_control");
+ xml->get_widget_derived("toggle_control", tc);
+ control = tc;
+ } else if (pm->supports(App::instance().uris().object_class_float32)) {
+ SliderControl* sc;
+ Glib::RefPtr<Gnome::Glade::Xml> xml
+ = GladeFactory::new_glade_reference("control_strip");
+ xml->get_widget_derived("control_strip", sc);
+ control = sc;
+ } else if (pm->supports(App::instance().uris().object_class_string)) {
StringControl* sc;
Glib::RefPtr<Gnome::Glade::Xml> xml
= GladeFactory::new_glade_reference("string_control");