From 981c7950a6f5fc9f22decaee261556d20b641d5c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 13 May 2011 01:22:29 +0000 Subject: Make signals private with accessors, and localise dependency on sigc::signal. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3258 a436a847-0d15-0410-975c-d299462d15a1 --- src/client/ClientStore.cpp | 22 +++++++-------- src/client/ClientStore.hpp | 5 ++-- src/client/NodeModel.cpp | 4 +-- src/client/NodeModel.hpp | 5 ++-- src/client/ObjectModel.cpp | 8 +++--- src/client/ObjectModel.hpp | 13 ++++----- src/client/PatchModel.cpp | 10 +++---- src/client/PatchModel.hpp | 13 ++++----- src/client/PluginModel.cpp | 4 +-- src/client/PluginModel.hpp | 7 ++--- src/client/PortModel.cpp | 2 +- src/client/PortModel.hpp | 19 ++++++------- src/client/SigClientInterface.hpp | 47 +++++++++++++++---------------- src/client/ThreadedSigClientInterface.hpp | 33 +++++++++++----------- src/client/signal.hpp | 30 ++++++++++++++++++++ src/gui/App.cpp | 6 ++-- src/gui/BreadCrumbs.cpp | 2 +- src/gui/ConnectWindow.cpp | 4 +-- src/gui/Controls.cpp | 6 ++-- src/gui/LoadPluginWindow.cpp | 8 +++--- src/gui/NodeModule.cpp | 16 ++++++----- src/gui/ObjectMenu.cpp | 2 +- src/gui/PatchCanvas.cpp | 16 +++++------ src/gui/PatchPortModule.cpp | 3 +- src/gui/PatchTreeWindow.cpp | 21 +++++++------- src/gui/PatchView.cpp | 11 +++++--- src/gui/PatchWindow.cpp | 12 ++++---- src/gui/Port.cpp | 10 ++++--- src/gui/PortPropertiesWindow.cpp | 13 +++++---- src/gui/PropertiesWindow.cpp | 2 +- 30 files changed, 196 insertions(+), 158 deletions(-) create mode 100644 src/client/signal.hpp diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp index e647c130..52d05622 100644 --- a/src/client/ClientStore.cpp +++ b/src/client/ClientStore.cpp @@ -42,9 +42,9 @@ using namespace Shared; namespace Client { -ClientStore::ClientStore(SharedPtr uris, - SharedPtr engine, - SharedPtr emitter) +ClientStore::ClientStore(SharedPtr uris, + SharedPtr engine, + SharedPtr emitter) : _uris(uris) , _engine(engine) , _emitter(emitter) @@ -54,8 +54,8 @@ ClientStore::ClientStore(SharedPtr uris, return; #define CONNECT(signal, method) \ - emitter->signal_ ## signal .connect( \ - sigc::mem_fun(this, &ClientStore:: method)); + emitter->signal_##signal().connect( \ + sigc::mem_fun(this, &ClientStore::method)); CONNECT(object_deleted, del); CONNECT(object_moved, move); @@ -93,11 +93,11 @@ ClientStore::add_object(SharedPtr object) assert(parent && (object->parent() == parent)); (*this)[object->path()] = object; - signal_new_object.emit(object); + _signal_new_object.emit(object); } } else { (*this)[object->path()] = object; - signal_new_object.emit(object); + _signal_new_object.emit(object); } } @@ -105,7 +105,7 @@ ClientStore::add_object(SharedPtr object) typedef Resource::Properties::const_iterator Iterator; for (Iterator i = object->properties().begin(); i != object->properties().end(); ++i) - object->signal_property(i->first, i->second); + object->signal_property().emit(i->first, i->second); LOG(debug) << "Added " << object->path() << " {" << endl; for (iterator i = begin(); i != end(); ++i) { @@ -132,7 +132,7 @@ ClientStore::remove_object(const Path& path) LOG(debug) << "}" << endl; if (result) - result->signal_destroyed.emit(); + result->signal_destroyed().emit(); if (!result->path().is_root()) { assert(result->parent()); @@ -195,7 +195,7 @@ ClientStore::add_plugin(SharedPtr pm) existing->set(pm); } else { _plugins->insert(make_pair(pm->uri(), pm)); - signal_new_plugin(pm); + _signal_new_plugin.emit(pm); } } @@ -401,7 +401,7 @@ ClientStore::activity(const Path& path) { SharedPtr port = PtrCast(object(path)); if (port) - port->signal_activity.emit(); + port->signal_activity().emit(); else LOG(error) << "Activity for non-existent port " << path << endl; } diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp index a5a3cbc1..59b112ed 100644 --- a/src/client/ClientStore.hpp +++ b/src/client/ClientStore.hpp @@ -31,6 +31,7 @@ #include "raul/PathTable.hpp" #include "raul/TableImpl.hpp" #include "shared/Store.hpp" +#include "client/signal.hpp" namespace Raul { class Atom; } @@ -102,8 +103,8 @@ public: void del(const Raul::URI& uri); - sigc::signal< void, SharedPtr > signal_new_object; - sigc::signal< void, SharedPtr > signal_new_plugin; + INGEN_SIGNAL(new_object, void, SharedPtr); + INGEN_SIGNAL(new_plugin, void, SharedPtr); private: void add(GraphObject* o) { throw; } diff --git a/src/client/NodeModel.cpp b/src/client/NodeModel.cpp index ce96e775..7847afb40 100644 --- a/src/client/NodeModel.cpp +++ b/src/client/NodeModel.cpp @@ -76,7 +76,7 @@ NodeModel::remove_port(SharedPtr port) break; } } - signal_removed_port.emit(port); + _signal_removed_port.emit(port); } void @@ -142,7 +142,7 @@ NodeModel::add_port(SharedPtr pm) assert(existing == _ports.end()); _ports.push_back(pm); - signal_new_port.emit(pm); + _signal_new_port.emit(pm); } SharedPtr diff --git a/src/client/NodeModel.hpp b/src/client/NodeModel.hpp index 2a47bc04..314ed1b4 100644 --- a/src/client/NodeModel.hpp +++ b/src/client/NodeModel.hpp @@ -21,7 +21,6 @@ #include #include #include -#include #include "raul/SharedPtr.hpp" #include "ingen/Node.hpp" #include "ingen/Port.hpp" @@ -70,8 +69,8 @@ public: std::string port_label(SharedPtr port) const; // Signals - sigc::signal > signal_new_port; - sigc::signal > signal_removed_port; + INGEN_SIGNAL(new_port, void, SharedPtr); + INGEN_SIGNAL(removed_port, void, SharedPtr); protected: friend class ClientStore; diff --git a/src/client/ObjectModel.cpp b/src/client/ObjectModel.cpp index e85742a9..2478e786 100644 --- a/src/client/ObjectModel.cpp +++ b/src/client/ObjectModel.cpp @@ -50,7 +50,7 @@ ObjectModel::~ObjectModel() Raul::Atom& ObjectModel::set_property(const Raul::URI& key, const Raul::Atom& value) { - signal_property.emit(key, value); + _signal_property.emit(key, value); return ResourceImpl::set_property(key, value); } @@ -58,7 +58,7 @@ void ObjectModel::add_property(const Raul::URI& key, const Raul::Atom& value) { ResourceImpl::add_property(key, value); - signal_property.emit(key, value); + _signal_property.emit(key, value); } const Atom& @@ -91,7 +91,7 @@ ObjectModel::set(SharedPtr o) for (Properties::const_iterator v = o->properties().begin(); v != o->properties().end(); ++v) { ResourceImpl::set_property(v->first, v->second); - signal_property.emit(v->first, v->second); + _signal_property.emit(v->first, v->second); } } @@ -100,7 +100,7 @@ ObjectModel::set_path(const Raul::Path& p) { _path = p; _symbol = p.symbol(); - signal_moved.emit(); + _signal_moved.emit(); } void diff --git a/src/client/ObjectModel.hpp b/src/client/ObjectModel.hpp index 21cf4b2b..bcba2242 100644 --- a/src/client/ObjectModel.hpp +++ b/src/client/ObjectModel.hpp @@ -1,4 +1,3 @@ - /* This file is part of Ingen. * Copyright 2007-2011 David Robillard * @@ -23,12 +22,12 @@ #include #include #include -#include #include "raul/Path.hpp" #include "raul/URI.hpp" #include "raul/SharedPtr.hpp" #include "ingen/GraphObject.hpp" #include "shared/ResourceImpl.hpp" +#include "client/signal.hpp" namespace Ingen { @@ -68,11 +67,11 @@ public: GraphObject* graph_parent() const { return _parent.get(); } // Signals - sigc::signal > signal_new_child; - sigc::signal > signal_removed_child; - sigc::signal signal_property; - sigc::signal signal_destroyed; - sigc::signal signal_moved; + INGEN_SIGNAL(new_child, void, SharedPtr); + INGEN_SIGNAL(removed_child, void, SharedPtr); + INGEN_SIGNAL(property, void, const Raul::URI&, const Raul::Atom&); + INGEN_SIGNAL(destroyed, void); + INGEN_SIGNAL(moved, void); protected: friend class ClientStore; diff --git a/src/client/PatchModel.cpp b/src/client/PatchModel.cpp index 190bc3ba..5dcf4ab0 100644 --- a/src/client/PatchModel.cpp +++ b/src/client/PatchModel.cpp @@ -42,7 +42,7 @@ PatchModel::add_child(SharedPtr c) SharedPtr nm = PtrCast(c); if (nm) - signal_new_node.emit(nm); + _signal_new_node.emit(nm); } bool @@ -64,7 +64,7 @@ PatchModel::remove_child(SharedPtr o) || cm->src_port_path() == o->path() || cm->dst_port_path().parent() == o->path() || cm->dst_port_path() == o->path()) { - signal_removed_connection.emit(cm); + _signal_removed_connection.emit(cm); _connections->erase(j); // cuts our reference } j = next; @@ -76,7 +76,7 @@ PatchModel::remove_child(SharedPtr o) SharedPtr nm = PtrCast(o); if (nm) - signal_removed_node.emit(nm); + _signal_removed_node.emit(nm); return true; } @@ -132,7 +132,7 @@ PatchModel::add_connection(SharedPtr cm) assert(cm->dst_port() == existing->dst_port()); } else { _connections->insert(make_pair(make_pair(cm->src_port().get(), cm->dst_port().get()), cm)); - signal_new_connection.emit(cm); + _signal_new_connection.emit(cm); } } @@ -142,7 +142,7 @@ PatchModel::remove_connection(const Port* src_port, const Ingen::Port* dst_port) Connections::iterator i = _connections->find(make_pair(src_port, dst_port)); if (i != _connections->end()) { SharedPtr c = PtrCast(i->second); - signal_removed_connection.emit(c); + _signal_removed_connection.emit(c); _connections->erase(i); } else { warn << "[PatchModel::remove_connection] Failed to find connection " << diff --git a/src/client/PatchModel.hpp b/src/client/PatchModel.hpp index 775cfe29..73930189 100644 --- a/src/client/PatchModel.hpp +++ b/src/client/PatchModel.hpp @@ -19,7 +19,6 @@ #define INGEN_CLIENT_PATCHMODEL_HPP #include -#include #include "raul/SharedPtr.hpp" #include "ingen/Patch.hpp" #include "NodeModel.hpp" @@ -61,16 +60,16 @@ public: void set_editable(bool e) { if (_editable != e) { _editable = e; - signal_editable.emit(e); + _signal_editable.emit(e); } } // Signals - sigc::signal > signal_new_node; - sigc::signal > signal_removed_node; - sigc::signal > signal_new_connection; - sigc::signal > signal_removed_connection; - sigc::signal signal_editable; + INGEN_SIGNAL(new_node, void, SharedPtr); + INGEN_SIGNAL(removed_node, void, SharedPtr); + INGEN_SIGNAL(new_connection, void, SharedPtr); + INGEN_SIGNAL(removed_connection, void, SharedPtr); + INGEN_SIGNAL(editable, void, bool); private: friend class ClientStore; diff --git a/src/client/PluginModel.cpp b/src/client/PluginModel.cpp index 315214ed..8a644edc 100644 --- a/src/client/PluginModel.cpp +++ b/src/client/PluginModel.cpp @@ -142,10 +142,10 @@ PluginModel::set(SharedPtr p) for (Properties::const_iterator v = p->properties().begin(); v != p->properties().end(); ++v) { ResourceImpl::set_property(v->first, v->second); - signal_property.emit(v->first, v->second); + _signal_property.emit(v->first, v->second); } - signal_changed.emit(); + _signal_changed.emit(); } Symbol diff --git a/src/client/PluginModel.hpp b/src/client/PluginModel.hpp index faba8c8b..e301c615 100644 --- a/src/client/PluginModel.hpp +++ b/src/client/PluginModel.hpp @@ -18,8 +18,6 @@ #ifndef INGEN_CLIENT_PLUGINMODEL_HPP #define INGEN_CLIENT_PLUGINMODEL_HPP -#include - #include "raul/SharedPtr.hpp" #include "raul/Symbol.hpp" @@ -34,6 +32,7 @@ #include "ingen/Plugin.hpp" #include "shared/World.hpp" #include "shared/ResourceImpl.hpp" +#include "client/signal.hpp" namespace Ingen { @@ -99,8 +98,8 @@ public: static Sord::World* rdf_world() { return _rdf_world; } // Signals - sigc::signal signal_changed; - sigc::signal signal_property; + INGEN_SIGNAL(changed, void); + INGEN_SIGNAL(property, void, const Raul::URI&, const Raul::Atom&); protected: friend class ClientStore; diff --git a/src/client/PortModel.cpp b/src/client/PortModel.cpp index 94b83ee3..9ca7fe19 100644 --- a/src/client/PortModel.cpp +++ b/src/client/PortModel.cpp @@ -54,7 +54,7 @@ PortModel::set(SharedPtr model) _direction = port->_direction; _current_val = port->_current_val; _connections = port->_connections; - signal_value_changed.emit(_current_val); + _signal_value_changed.emit(_current_val); } ObjectModel::set(model); diff --git a/src/client/PortModel.hpp b/src/client/PortModel.hpp index 264f532e..133a2794 100644 --- a/src/client/PortModel.hpp +++ b/src/client/PortModel.hpp @@ -20,7 +20,6 @@ #include #include -#include #include "raul/log.hpp" #include "raul/SharedPtr.hpp" #include "ingen/Port.hpp" @@ -66,21 +65,21 @@ public: inline void value(const Raul::Atom& val) { if (val != _current_val) { _current_val = val; - signal_value_changed.emit(val); + _signal_value_changed.emit(val); } } inline void value(uint32_t voice, const Raul::Atom& val) { // FIXME: implement properly - signal_voice_changed.emit(voice, val); + _signal_voice_changed.emit(voice, val); } // Signals - sigc::signal signal_value_changed; ///< Value ports - sigc::signal signal_voice_changed; ///< Polyphonic value ports - sigc::signal signal_activity; ///< Message ports - sigc::signal > signal_connection; - sigc::signal > signal_disconnection; + INGEN_SIGNAL(value_changed, void, const Raul::Atom&); + INGEN_SIGNAL(voice_changed, void, uint32_t, const Raul::Atom&); + INGEN_SIGNAL(activity, void); + INGEN_SIGNAL(connection, void, SharedPtr); + INGEN_SIGNAL(disconnection, void, SharedPtr); private: friend class ClientStore; @@ -101,8 +100,8 @@ private: void add_child(SharedPtr c) { throw; } bool remove_child(SharedPtr c) { throw; } - void connected_to(SharedPtr p) { ++_connections; signal_connection.emit(p); } - void disconnected_from(SharedPtr p) { --_connections; signal_disconnection.emit(p); } + void connected_to(SharedPtr p) { ++_connections; _signal_connection.emit(p); } + void disconnected_from(SharedPtr p) { --_connections; _signal_disconnection.emit(p); } void set(SharedPtr model); diff --git a/src/client/SigClientInterface.hpp b/src/client/SigClientInterface.hpp index fc5201e1..7409688a 100644 --- a/src/client/SigClientInterface.hpp +++ b/src/client/SigClientInterface.hpp @@ -19,18 +19,17 @@ #define INGEN_CLIENT_SIGCLIENTINTERFACE_HPP #include -#include #include "raul/Path.hpp" #include "ingen/ClientInterface.hpp" +#include "client/signal.hpp" namespace Ingen { namespace Client { /** A LibSigC++ signal emitting interface for clients to use. * - * This simply emits an sigc signal for every event (eg OSC message) coming from - * the engine. Use Store (which extends this) if you want a nice client-side - * model of the engine. + * This simply emits a signal for every event that comes from the engine. + * For a higher level model based view of the engine, use ClientStore. * * The signals here match the calls to ClientInterface exactly. See the * documentation for ClientInterface for meanings of signal parameters. @@ -43,26 +42,24 @@ public: Raul::URI uri() const { return "http://drobilla.net/ns/ingen#internal"; } - sigc::signal signal_response_ok; - sigc::signal signal_response_error; - sigc::signal signal_bundle_begin; - sigc::signal signal_bundle_end; - sigc::signal signal_error; - sigc::signal signal_new_patch; - sigc::signal signal_new_port; - sigc::signal signal_put; - sigc::signal signal_delta; - sigc::signal signal_object_moved; - sigc::signal signal_object_deleted; - sigc::signal signal_connection; - sigc::signal signal_disconnection; - sigc::signal signal_disconnect_all; - sigc::signal signal_variable_change; - sigc::signal signal_property_change; - sigc::signal signal_port_value; - sigc::signal signal_activity; + INGEN_SIGNAL(response_ok, void, int32_t) + INGEN_SIGNAL(response_error, void, int32_t, std::string) + INGEN_SIGNAL(bundle_begin, void) + INGEN_SIGNAL(bundle_end, void) + INGEN_SIGNAL(error, void, std::string) + INGEN_SIGNAL(new_patch, void, Raul::Path, uint32_t) + INGEN_SIGNAL(new_port, void, Raul::Path, Raul::URI, uint32_t, bool) + INGEN_SIGNAL(put, void, Raul::URI, Resource::Properties, Resource::Graph) + INGEN_SIGNAL(delta, void, Raul::URI, Resource::Properties, Resource::Properties) + INGEN_SIGNAL(object_moved, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(object_deleted, void, Raul::URI) + INGEN_SIGNAL(connection, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(disconnection, void, Raul::URI, Raul::URI) + INGEN_SIGNAL(disconnect_all, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(variable_change, void, Raul::URI, Raul::URI, Raul::Atom) + INGEN_SIGNAL(property_change, void, Raul::URI, Raul::URI, Raul::Atom) + INGEN_SIGNAL(port_value, void, Raul::Path, Raul::Atom) + INGEN_SIGNAL(activity, void, Raul::Path) /** Fire pending signals. Only does anything on derived classes (that may queue) */ virtual bool emit_signals() { return false; } @@ -71,7 +68,7 @@ protected: // ClientInterface hooks that fire the above signals -#define EMIT(name, ...) { signal_ ## name (__VA_ARGS__); } +#define EMIT(name, ...) { _signal_ ## name (__VA_ARGS__); } void bundle_begin() { EMIT(bundle_begin); } diff --git a/src/client/ThreadedSigClientInterface.hpp b/src/client/ThreadedSigClientInterface.hpp index 4fe85209..373fb14d 100644 --- a/src/client/ThreadedSigClientInterface.hpp +++ b/src/client/ThreadedSigClientInterface.hpp @@ -47,23 +47,22 @@ class ThreadedSigClientInterface : public SigClientInterface { public: ThreadedSigClientInterface(uint32_t queue_size) - : _sigs(queue_size) - , response_ok_slot(signal_response_ok.make_slot()) - , response_error_slot(signal_response_error.make_slot()) - , error_slot(signal_error.make_slot()) - , new_port_slot(signal_new_port.make_slot()) - , put_slot(signal_put.make_slot()) - , connection_slot(signal_connection.make_slot()) - , object_deleted_slot(signal_object_deleted.make_slot()) - , object_moved_slot(signal_object_moved.make_slot()) - , disconnection_slot(signal_disconnection.make_slot()) - , disconnect_all_slot(signal_disconnect_all.make_slot()) - , variable_change_slot(signal_variable_change.make_slot()) - , property_change_slot(signal_property_change.make_slot()) - , port_value_slot(signal_port_value.make_slot()) - , activity_slot(signal_activity.make_slot()) - { - } + : _sigs(queue_size) + , response_ok_slot(_signal_response_ok.make_slot()) + , response_error_slot(_signal_response_error.make_slot()) + , error_slot(_signal_error.make_slot()) + , new_port_slot(_signal_new_port.make_slot()) + , put_slot(_signal_put.make_slot()) + , connection_slot(_signal_connection.make_slot()) + , object_deleted_slot(_signal_object_deleted.make_slot()) + , object_moved_slot(_signal_object_moved.make_slot()) + , disconnection_slot(_signal_disconnection.make_slot()) + , disconnect_all_slot(_signal_disconnect_all.make_slot()) + , variable_change_slot(_signal_variable_change.make_slot()) + , property_change_slot(_signal_property_change.make_slot()) + , port_value_slot(_signal_port_value.make_slot()) + , activity_slot(_signal_activity.make_slot()) + {} virtual Raul::URI uri() const { return "http://drobilla.net/ns/ingen#internal"; } diff --git a/src/client/signal.hpp b/src/client/signal.hpp new file mode 100644 index 00000000..46718163 --- /dev/null +++ b/src/client/signal.hpp @@ -0,0 +1,30 @@ +/* This file is part of Ingen. + * Copyright 2007-2011 David Robillard + * + * Ingen is free software; you can redistribute it and/or modify it under the + * terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef INGEN_CLIENT_SIGNAL_HPP +#define INGEN_CLIENT_SIGNAL_HPP + +#include + +#define INGEN_SIGNAL(name, ...) \ +protected: \ +sigc::signal<__VA_ARGS__> _signal_##name; \ +public: \ +sigc::signal<__VA_ARGS__> signal_##name() const { return _signal_##name; } \ +sigc::signal<__VA_ARGS__>& signal_##name() { return _signal_##name; } + +#endif // INGEN_CLIENT_SIGNAL_HPP diff --git a/src/gui/App.cpp b/src/gui/App.cpp index 7c15701e..9d3fc49a 100644 --- a/src/gui/App.cpp +++ b/src/gui/App.cpp @@ -174,8 +174,10 @@ App::attach(SharedPtr client, _patch_tree_window->init(*_store); - _client->signal_response_error.connect(sigc::mem_fun(this, &App::error_response)); - _client->signal_error.connect(sigc::mem_fun(this, &App::error_message)); + _client->signal_response_error().connect( + sigc::mem_fun(this, &App::error_response)); + _client->signal_error().connect( + sigc::mem_fun(this, &App::error_message)); } void diff --git a/src/gui/BreadCrumbs.cpp b/src/gui/BreadCrumbs.cpp index e7e7e356..6e7f9b39 100644 --- a/src/gui/BreadCrumbs.cpp +++ b/src/gui/BreadCrumbs.cpp @@ -31,7 +31,7 @@ BreadCrumbs::BreadCrumbs() , _full_path("/") , _enable_signal(true) { - App::instance().client()->signal_object_deleted.connect( + App::instance().client()->signal_object_deleted().connect( sigc::mem_fun(this, &BreadCrumbs::object_destroyed)); } diff --git a/src/gui/ConnectWindow.cpp b/src/gui/ConnectWindow.cpp index cc7b6d7c..7741be10 100644 --- a/src/gui/ConnectWindow.cpp +++ b/src/gui/ConnectWindow.cpp @@ -397,7 +397,7 @@ ConnectWindow::gtk_callback() timeval now; gettimeofday(&now, NULL); static const timeval start = now; - static timeval last = now; + static timeval last = now; // Show if attempted connection goes on for a noticeable amount of time if (!is_visible()) { @@ -411,7 +411,7 @@ ConnectWindow::gtk_callback() if (_connect_stage == 0) { _attached = false; - App::instance().client()->signal_response_ok.connect( + App::instance().client()->signal_response_ok().connect( sigc::mem_fun(this, &ConnectWindow::on_response)); _ping_id = abs(rand()) / 2 * 2; // avoid -1 diff --git a/src/gui/Controls.cpp b/src/gui/Controls.cpp index 9322fd77..153f1c26 100644 --- a/src/gui/Controls.cpp +++ b/src/gui/Controls.cpp @@ -69,7 +69,8 @@ Control::init(ControlPanel* panel, SharedPtr pm) assert(panel); _control_connection.disconnect(); - _control_connection = pm->signal_value_changed.connect(sigc::mem_fun(this, &Control::set_value)); + _control_connection = pm->signal_value_changed().connect( + sigc::mem_fun(this, &Control::set_value)); boost::shared_ptr parent = PtrCast(_port_model->parent()); if (parent) @@ -160,7 +161,8 @@ SliderControl::init(ControlPanel* panel, SharedPtr pm) _slider->set_increments(0, 0); } - pm->signal_property.connect(sigc::mem_fun(this, &SliderControl::port_property_changed)); + pm->signal_property().connect( + sigc::mem_fun(this, &SliderControl::port_property_changed)); _slider->set_range(std::min(min, pm->value().get_float()), std::max(max, pm->value().get_float())); diff --git a/src/gui/LoadPluginWindow.cpp b/src/gui/LoadPluginWindow.cpp index d305e4fb..66868f18 100644 --- a/src/gui/LoadPluginWindow.cpp +++ b/src/gui/LoadPluginWindow.cpp @@ -174,7 +174,7 @@ void LoadPluginWindow::on_show() { if (!_has_shown) { - App::instance().store()->signal_new_plugin.connect( + App::instance().store()->signal_new_plugin().connect( sigc::mem_fun(this, &LoadPluginWindow::add_plugin)); _has_shown = true; } @@ -253,9 +253,9 @@ LoadPluginWindow::add_plugin(SharedPtr plugin) set_row(row, plugin); - plugin->signal_property.connect(sigc::bind<0>( - sigc::mem_fun(this, &LoadPluginWindow::plugin_property_changed), - plugin->uri())); + plugin->signal_property().connect( + sigc::bind<0>(sigc::mem_fun(this, &LoadPluginWindow::plugin_property_changed), + plugin->uri())); } ///// Event Handlers ////// diff --git a/src/gui/NodeModule.cpp b/src/gui/NodeModule.cpp index 497d0461..5a6e8b44 100644 --- a/src/gui/NodeModule.cpp +++ b/src/gui/NodeModule.cpp @@ -52,18 +52,19 @@ NodeModule::NodeModule(boost::shared_ptr canvas, SharedPtrsignal_new_port.connect( + node->signal_new_port().connect( sigc::bind(sigc::mem_fun(this, &NodeModule::add_port), true)); - node->signal_removed_port.connect( + node->signal_removed_port().connect( sigc::hide_return(sigc::mem_fun(this, &NodeModule::remove_port))); - node->signal_property.connect( + node->signal_property().connect( sigc::mem_fun(this, &NodeModule::property_changed)); - node->signal_moved.connect( + node->signal_moved().connect( sigc::mem_fun(this, &NodeModule::rename)); PluginModel* plugin = dynamic_cast(node->plugin()); if (plugin) { - plugin->signal_changed.connect(sigc::mem_fun(this, &NodeModule::plugin_changed)); + plugin->signal_changed().connect( + sigc::mem_fun(this, &NodeModule::plugin_changed)); } } @@ -256,8 +257,9 @@ NodeModule::add_port(SharedPtr port, bool resize_to_fit) Module::add_port(Port::create(PtrCast(shared_from_this()), port, App::instance().configuration()->name_style() == Configuration::HUMAN)); - port->signal_value_changed.connect(sigc::bind<0>( - sigc::mem_fun(this, &NodeModule::value_changed), port->index())); + port->signal_value_changed().connect( + sigc::bind<0>(sigc::mem_fun(this, &NodeModule::value_changed), + port->index())); if (resize_to_fit) resize(); diff --git a/src/gui/ObjectMenu.cpp b/src/gui/ObjectMenu.cpp index d8a5e426..82822d57 100644 --- a/src/gui/ObjectMenu.cpp +++ b/src/gui/ObjectMenu.cpp @@ -78,7 +78,7 @@ ObjectMenu::init(SharedPtr object) _properties_menuitem->signal_activate().connect( sigc::mem_fun(this, &ObjectMenu::on_menu_properties)); - object->signal_property.connect(sigc::mem_fun(this, &ObjectMenu::property_changed)); + object->signal_property().connect(sigc::mem_fun(this, &ObjectMenu::property_changed)); _learn_menuitem->hide(); _unlearn_menuitem->hide(); diff --git a/src/gui/PatchCanvas.cpp b/src/gui/PatchCanvas.cpp index 91120448..1215b957 100644 --- a/src/gui/PatchCanvas.cpp +++ b/src/gui/PatchCanvas.cpp @@ -107,20 +107,20 @@ PatchCanvas::PatchCanvas(SharedPtr patch, int width, int height) "event_out", "Event Out", "http://lv2plug.in/ns/ext/event#EventPort", true)); // Connect to model signals to track state - _patch->signal_new_node.connect( + _patch->signal_new_node().connect( sigc::mem_fun(this, &PatchCanvas::add_node)); - _patch->signal_removed_node.connect( + _patch->signal_removed_node().connect( sigc::mem_fun(this, &PatchCanvas::remove_node)); - _patch->signal_new_port.connect( + _patch->signal_new_port().connect( sigc::mem_fun(this, &PatchCanvas::add_port)); - _patch->signal_removed_port.connect( + _patch->signal_removed_port().connect( sigc::mem_fun(this, &PatchCanvas::remove_port)); - _patch->signal_new_connection.connect( + _patch->signal_new_connection().connect( sigc::mem_fun(this, &PatchCanvas::connection)); - _patch->signal_removed_connection.connect( + _patch->signal_removed_connection().connect( sigc::mem_fun(this, &PatchCanvas::disconnection)); - App::instance().store()->signal_new_plugin.connect( + App::instance().store()->signal_new_plugin().connect( sigc::mem_fun(this, &PatchCanvas::add_plugin)); // Connect widget signals to do things @@ -133,7 +133,7 @@ PatchCanvas::PatchCanvas(SharedPtr patch, int width, int height) _menu_edit->signal_activate().connect( sigc::mem_fun(this, &PatchCanvas::menu_edit_toggled)); - _patch->signal_editable.connect( + _patch->signal_editable().connect( sigc::mem_fun(this, &PatchCanvas::patch_editable_changed)); } diff --git a/src/gui/PatchPortModule.cpp b/src/gui/PatchPortModule.cpp index 51dd064a..998e8a97 100644 --- a/src/gui/PatchPortModule.cpp +++ b/src/gui/PatchPortModule.cpp @@ -49,7 +49,8 @@ PatchPortModule::PatchPortModule(boost::shared_ptr canvas, SharedPt set_stacked_border(model->polyphonic()); - model->signal_property.connect(sigc::mem_fun(this, &PatchPortModule::property_changed)); + model->signal_property().connect( + sigc::mem_fun(this, &PatchPortModule::property_changed)); } boost::shared_ptr diff --git a/src/gui/PatchTreeWindow.cpp b/src/gui/PatchTreeWindow.cpp index adb41a13..f4fb69b6 100644 --- a/src/gui/PatchTreeWindow.cpp +++ b/src/gui/PatchTreeWindow.cpp @@ -70,7 +70,8 @@ PatchTreeWindow::PatchTreeWindow(BaseObjectType* cobject, void PatchTreeWindow::init(ClientStore& store) { - store.signal_new_object.connect(sigc::mem_fun(this, &PatchTreeWindow::new_object)); + store.signal_new_object().connect( + sigc::mem_fun(this, &PatchTreeWindow::new_object)); } void @@ -109,17 +110,17 @@ PatchTreeWindow::add_patch(SharedPtr pm) } } - pm->signal_property.connect(sigc::bind( - sigc::mem_fun(this, &PatchTreeWindow::patch_property_changed), - pm)); + pm->signal_property().connect( + sigc::bind(sigc::mem_fun(this, &PatchTreeWindow::patch_property_changed), + pm)); - pm->signal_moved.connect(sigc::bind( - sigc::mem_fun(this, &PatchTreeWindow::patch_moved), - pm)); + pm->signal_moved().connect( + sigc::bind(sigc::mem_fun(this, &PatchTreeWindow::patch_moved), + pm)); - pm->signal_destroyed.connect(sigc::bind( - sigc::mem_fun(this, &PatchTreeWindow::remove_patch), - pm)); + pm->signal_destroyed().connect( + sigc::bind(sigc::mem_fun(this, &PatchTreeWindow::remove_patch), + pm)); } void diff --git a/src/gui/PatchView.cpp b/src/gui/PatchView.cpp index afe73048..65c3566a 100644 --- a/src/gui/PatchView.cpp +++ b/src/gui/PatchView.cpp @@ -80,11 +80,14 @@ PatchView::set_patch(SharedPtr patch) property_changed(i->first, i->second); // Connect model signals to track state - patch->signal_property.connect(sigc::mem_fun(this, &PatchView::property_changed)); + patch->signal_property().connect( + sigc::mem_fun(this, &PatchView::property_changed)); // Connect widget signals to do things - _process_but->signal_toggled().connect(sigc::mem_fun(this, &PatchView::process_toggled)); - _refresh_but->signal_clicked().connect(sigc::mem_fun(this, &PatchView::refresh_clicked)); + _process_but->signal_toggled().connect( + sigc::mem_fun(this, &PatchView::process_toggled)); + _refresh_but->signal_clicked().connect( + sigc::mem_fun(this, &PatchView::refresh_clicked)); _zoom_normal_but->signal_clicked().connect(sigc::bind(sigc::mem_fun( _canvas.get(), &PatchCanvas::set_zoom), 1.0)); @@ -92,7 +95,7 @@ PatchView::set_patch(SharedPtr patch) _zoom_full_but->signal_clicked().connect( sigc::mem_fun(_canvas.get(), &PatchCanvas::zoom_full)); - patch->signal_editable.connect(sigc::mem_fun( + patch->signal_editable().connect(sigc::mem_fun( *this, &PatchView::on_editable_sig)); _edit_mode_but->signal_toggled().connect(sigc::mem_fun( diff --git a/src/gui/PatchWindow.cpp b/src/gui/PatchWindow.cpp index cd97e3e3..ab8fcfd9 100644 --- a/src/gui/PatchWindow.cpp +++ b/src/gui/PatchWindow.cpp @@ -255,12 +255,12 @@ PatchWindow::set_patch(SharedPtr patch, SharedPtr view) set_title(_patch->path().chop_scheme() + " - Ingen"); - new_port_connection = patch->signal_new_port.connect( - sigc::mem_fun(this, &PatchWindow::patch_port_added)); - removed_port_connection = patch->signal_removed_port.connect( - sigc::mem_fun(this, &PatchWindow::patch_port_removed)); - removed_port_connection = patch->signal_editable.connect( - sigc::mem_fun(this, &PatchWindow::editable_changed)); + new_port_connection = patch->signal_new_port().connect( + sigc::mem_fun(this, &PatchWindow::patch_port_added)); + removed_port_connection = patch->signal_removed_port().connect( + sigc::mem_fun(this, &PatchWindow::patch_port_removed)); + removed_port_connection = patch->signal_editable().connect( + sigc::mem_fun(this, &PatchWindow::editable_changed)); show_all(); diff --git a/src/gui/Port.cpp b/src/gui/Port.cpp index ba28078d..afb46f4d 100644 --- a/src/gui/Port.cpp +++ b/src/gui/Port.cpp @@ -85,16 +85,18 @@ Port::Port( _rect->property_dash() = dash; set_border_width(dash ? 2.0 : 0.0); - pm->signal_moved.connect(sigc::mem_fun(this, &Port::moved)); + pm->signal_moved().connect(sigc::mem_fun(this, &Port::moved)); if (App::instance().can_control(pm.get())) { set_toggled(pm->is_toggle()); show_control(); - pm->signal_property.connect(sigc::mem_fun(this, &Port::property_changed)); - pm->signal_value_changed.connect(sigc::mem_fun(this, &Port::value_changed)); + pm->signal_property().connect( + sigc::mem_fun(this, &Port::property_changed)); + pm->signal_value_changed().connect( + sigc::mem_fun(this, &Port::value_changed)); } - pm->signal_activity.connect(sigc::mem_fun(this, &Port::activity)); + pm->signal_activity().connect(sigc::mem_fun(this, &Port::activity)); update_metadata(); diff --git a/src/gui/PortPropertiesWindow.cpp b/src/gui/PortPropertiesWindow.cpp index 23d38ac9..3258c480 100644 --- a/src/gui/PortPropertiesWindow.cpp +++ b/src/gui/PortPropertiesWindow.cpp @@ -75,14 +75,17 @@ PortPropertiesWindow::present(SharedPtr pm) _initial_max = max; _min_spinner->set_value(min); - _connections.push_back(_min_spinner->signal_value_changed().connect( - sigc::mem_fun(*this, &PortPropertiesWindow::min_changed))); + _connections.push_back( + _min_spinner->signal_value_changed().connect( + sigc::mem_fun(*this, &PortPropertiesWindow::min_changed))); _max_spinner->set_value(max); - _connections.push_back(_max_spinner->signal_value_changed().connect( - sigc::mem_fun(*this, &PortPropertiesWindow::max_changed))); + _connections.push_back( + _max_spinner->signal_value_changed().connect( + sigc::mem_fun(*this, &PortPropertiesWindow::max_changed))); - _connections.push_back(pm->signal_property.connect( + _connections.push_back( + pm->signal_property().connect( sigc::mem_fun(this, &PortPropertiesWindow::property_changed))); Gtk::Window::present(); diff --git a/src/gui/PropertiesWindow.cpp b/src/gui/PropertiesWindow.cpp index 1a1e5fab..491a255e 100644 --- a/src/gui/PropertiesWindow.cpp +++ b/src/gui/PropertiesWindow.cpp @@ -122,7 +122,7 @@ PropertiesWindow::set_object(SharedPtr model) _table->show_all(); - _property_connection = model->signal_property.connect( + _property_connection = model->signal_property().connect( sigc::mem_fun(this, &PropertiesWindow::property_changed)); } -- cgit v1.2.1