diff options
Diffstat (limited to 'src/libs/client')
-rw-r--r-- | src/libs/client/Loader.cpp | 2 | ||||
-rw-r--r-- | src/libs/client/PortModel.h | 2 | ||||
-rw-r--r-- | src/libs/client/Serializer.cpp | 3 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/libs/client/Loader.cpp b/src/libs/client/Loader.cpp index af51d4c8..4ceb34d2 100644 --- a/src/libs/client/Loader.cpp +++ b/src/libs/client/Loader.cpp @@ -174,6 +174,7 @@ Loader::load(const Glib::ustring& filename, } } + /* Load connections */ // FIXME: path? @@ -206,6 +207,7 @@ Loader::load(const Glib::ustring& filename, _engine->connect(src_port, dst_port); } + // Set passed metadata last to override any loaded values for (MetadataMap::const_iterator i = data.begin(); i != data.end(); ++i) _engine->set_metadata(patch_path, i->first, i->second); diff --git a/src/libs/client/PortModel.h b/src/libs/client/PortModel.h index 1dc68ccd..adaaf803 100644 --- a/src/libs/client/PortModel.h +++ b/src/libs/client/PortModel.h @@ -58,7 +58,7 @@ public: inline bool operator==(const PortModel& pm) const { return (_path == pm._path); } // Signals - sigc::signal<void, float> control_change_sig; ///< "Control" ports only + sigc::signal<void, float> control_change_sig; ///< "Control" ports only sigc::signal<void, SharedPtr<PortModel> > connection_sig; sigc::signal<void, SharedPtr<PortModel> > disconnection_sig; diff --git a/src/libs/client/Serializer.cpp b/src/libs/client/Serializer.cpp index 3a417a48..5ce2674a 100644 --- a/src/libs/client/Serializer.cpp +++ b/src/libs/client/Serializer.cpp @@ -301,6 +301,9 @@ Serializer::serialize_port(SharedPtr<PortModel> port, unsigned depth) _writer.write(port_id, NS_INGEN("name"), Atom(port->path().name().c_str())); _writer.write(port_id, NS_INGEN("dataType"), Atom(port->type())); + + if (port->is_control() && port->is_input()) + _writer.write(port_id, NS_INGEN("value"), Atom(port->value())); if (port->metadata().size() > 0) { for (MetadataMap::const_iterator m = port->metadata().begin(); m != port->metadata().end(); ++m) { |