From 2c03f2abd3d3d98a81020438ca805acded39dbab Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 24 Jan 2014 04:47:33 +0000 Subject: Remove redundant and unnecessary properties from saved graphs and protocol. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5321 a436a847-0d15-0410-975c-d299462d15a1 --- src/gui/Port.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/gui/Port.cpp') diff --git a/src/gui/Port.cpp b/src/gui/Port.cpp index 2bdf2e43..0d82d0cd 100644 --- a/src/gui/Port.cpp +++ b/src/gui/Port.cpp @@ -89,6 +89,8 @@ Port::Port(App& app, show_control(); pm->signal_property().connect( sigc::mem_fun(this, &Port::property_changed)); + pm->signal_property_removed().connect( + sigc::mem_fun(this, &Port::property_removed)); pm->signal_value_changed().connect( sigc::mem_fun(this, &Port::value_changed)); } @@ -121,7 +123,7 @@ void Port::update_metadata() { SPtr pm = _port_model.lock(); - if (_app.can_control(pm.get()) && pm->is_numeric()) { + if (pm && _app.can_control(pm.get()) && pm->is_numeric()) { SPtr parent = dynamic_ptr_cast(pm->parent()); if (parent) { float min = 0.0f; @@ -435,13 +437,22 @@ Port::property_changed(const Raul::URI& key, const Atom& value) } } +void +Port::property_removed(const Raul::URI& key, const Atom& value) +{ + const URIs& uris = _app.uris(); + if (key == uris.lv2_minimum || key == uris.lv2_maximum) { + update_metadata(); + } +} + bool Port::on_selected(gboolean b) { if (b) { SPtr pm = _port_model.lock(); if (pm) { - SPtr block = dynamic_ptr_cast(pm->parent()); + SPtr block = dynamic_ptr_cast(pm->parent()); GraphWindow* win = _app.window_factory()->parent_graph_window(block); if (win && win->documentation_is_visible() && block->plugin_model()) { bool html = false; -- cgit v1.2.1