summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/NodeModule.cpp3
-rw-r--r--src/gui/Port.cpp3
-rw-r--r--src/gui/Style.cpp11
-rw-r--r--src/gui/Style.hpp1
4 files changed, 16 insertions, 2 deletions
diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp
index b9798339..0bacb70b 100644
--- a/src/gui/NodeModule.cpp
+++ b/src/gui/NodeModule.cpp
@@ -186,7 +186,8 @@ NodeModule::port_value_changed(uint32_t index, const Atom& value)
return;
}
- if (value.type() == uris.atom_Float) {
+ if (value.type() == uris.atom_Float &&
+ _block->get_port(index)->is_numeric()) {
_plugin_ui->port_event(index, sizeof(float), 0, value.ptr<float>());
} else {
_plugin_ui->port_event(index,
diff --git a/src/gui/Port.cpp b/src/gui/Port.cpp
index b04e93b5..e123a571 100644
--- a/src/gui/Port.cpp
+++ b/src/gui/Port.cpp
@@ -83,6 +83,7 @@ Port::Port(App& app,
assert(pm);
set_border_width(1.0);
+ set_dash_length(app.style()->get_port_dash_length(pm.get()));
if (app.can_control(pm.get())) {
show_control();
@@ -367,6 +368,8 @@ Port::activity(const Atom& value)
{
if (model()->is_a(_app.uris().lv2_AudioPort)) {
set_fill_color(peak_color(value.get<float>()));
+ } else if (_app.can_control(model().get()) && value.type() == _app.uris().atom_Float) {
+ Ganv::Port::set_control_value(value.get<float>());
} else {
_app.port_activity(this);
}
diff --git a/src/gui/Style.cpp b/src/gui/Style.cpp
index 1c61d995..287a1496 100644
--- a/src/gui/Style.cpp
+++ b/src/gui/Style.cpp
@@ -82,7 +82,6 @@ Style::apply_settings()
uint32_t
Style::get_port_color(const Client::PortModel* p)
{
- assert(p != NULL);
const URIs& uris = _app.uris();
if (p->is_a(uris.lv2_AudioPort)) {
return _audio_port_color;
@@ -102,5 +101,15 @@ Style::get_port_color(const Client::PortModel* p)
return 0x666666FF;
}
+uint32_t
+Style::get_port_dash_length(const Client::PortModel* p)
+{
+ const URIs& uris = _app.uris();
+ if (p->is_a(uris.atom_AtomPort)) {
+ return 4.0;
+ }
+ return 0.0;
+}
+
} // namespace GUI
} // namespace Ingen
diff --git a/src/gui/Style.hpp b/src/gui/Style.hpp
index 13fa0546..a52a3d01 100644
--- a/src/gui/Style.hpp
+++ b/src/gui/Style.hpp
@@ -41,6 +41,7 @@ public:
void apply_settings();
uint32_t get_port_color(const Client::PortModel* p);
+ uint32_t get_port_dash_length(const Client::PortModel* p);
private:
App& _app;