diff options
author | David Robillard <d@drobilla.net> | 2010-02-03 04:46:56 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2010-02-03 04:46:56 +0000 |
commit | 87597f85c5a69a9accd3ce2ed88f2a006173e885 (patch) | |
tree | a3ffa393e9aecbc55dae64bad3bd45ee317e6d26 /src/client | |
parent | a645d2b8be4d7d31f6eef1649156b166a01e0c31 (diff) | |
download | ingen-87597f85c5a69a9accd3ce2ed88f2a006173e885.tar.gz ingen-87597f85c5a69a9accd3ce2ed88f2a006173e885.tar.bz2 ingen-87597f85c5a69a9accd3ce2ed88f2a006173e885.zip |
Comprehensive use of cached URIs and more advanced Value (Atom) system.
Atoms (e.g. property values or port values) can now be an Atom::DICT, which
maps directly to/from an RDF resource. This is now used to store control
bindings as a port property, eliminating the special API.
Full interned URIs used everywhere, instead of CURIEs pretending to be URIs.
Avoid converting string literals to URIs all over the place.
Support for binding MIDI pitch bender and MIDI channel pressure.
Saving/restoring of MIDI bindings as a free side-effect of the above.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2409 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/ClientStore.cpp | 35 | ||||
-rw-r--r-- | src/client/ClientStore.hpp | 3 | ||||
-rw-r--r-- | src/client/DeprecatedLoader.cpp | 60 | ||||
-rw-r--r-- | src/client/HTTPClientReceiver.cpp | 1 | ||||
-rw-r--r-- | src/client/HTTPEngineSender.cpp | 2 | ||||
-rw-r--r-- | src/client/NodeModel.cpp | 7 | ||||
-rw-r--r-- | src/client/ObjectModel.cpp | 4 | ||||
-rw-r--r-- | src/client/PatchModel.cpp | 5 | ||||
-rw-r--r-- | src/client/PatchModel.hpp | 2 | ||||
-rw-r--r-- | src/client/PluginModel.cpp | 14 | ||||
-rw-r--r-- | src/client/PluginUI.cpp | 2 | ||||
-rw-r--r-- | src/client/PluginUI.hpp | 3 | ||||
-rw-r--r-- | src/client/PortModel.cpp | 4 | ||||
-rw-r--r-- | src/client/PortModel.hpp | 6 | ||||
-rw-r--r-- | src/client/SigClientInterface.hpp | 6 | ||||
-rw-r--r-- | src/client/ThreadedSigClientInterface.hpp | 8 |
16 files changed, 77 insertions, 85 deletions
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp index eb42f6a9..e5fbab6a 100644 --- a/src/client/ClientStore.cpp +++ b/src/client/ClientStore.cpp @@ -17,7 +17,7 @@ #include "raul/log.hpp" #include "raul/PathTable.hpp" -#include "interface/MessageType.hpp" +#include "shared/LV2URIMap.hpp" #include "ClientStore.hpp" #include "ObjectModel.hpp" #include "PatchModel.hpp" @@ -53,7 +53,6 @@ ClientStore::ClientStore(SharedPtr<EngineInterface> engine, SharedPtr<SigClientI emitter->signal_property_change.connect(sigc::mem_fun(this, &ClientStore::set_property)); emitter->signal_voice_value.connect(sigc::mem_fun(this, &ClientStore::set_voice_value)); emitter->signal_activity.connect(sigc::mem_fun(this, &ClientStore::activity)); - emitter->signal_binding.connect(sigc::mem_fun(this, &ClientStore::binding)); } @@ -258,12 +257,19 @@ ClientStore::put(const URI& uri, const Resource::Properties& properties) bool is_path = Path::is_valid(uri.str()); bool is_meta = ResourceImpl::is_meta_uri(uri); + const LV2URIMap& uris = Shared::LV2URIMap::instance(); + if (!(is_path || is_meta)) { - const URI& type_uri = properties.find("rdf:type")->second.get_uri(); - if (Plugin::type_from_uri(type_uri.str()) != Plugin::NIL) { - SharedPtr<PluginModel> p(new PluginModel(uri, type_uri, properties)); - add_plugin(p); - return; + const Atom& type = properties.find(uris.rdf_type)->second; + if (type.type() == Atom::URI) { + const URI& type_uri = type.get_uri(); + if (Plugin::type_from_uri(type_uri) != Plugin::NIL) { + SharedPtr<PluginModel> p(new PluginModel(uri, type_uri, properties)); + add_plugin(p); + return; + } + } else { + LOG(error) << "Non-URI type " << type << endl; } } @@ -287,20 +293,20 @@ ClientStore::put(const URI& uri, const Resource::Properties& properties) if (is_patch) { uint32_t poly = 1; - iterator p = properties.find("ingen:polyphony"); + iterator p = properties.find(uris.ingen_polyphony); if (p != properties.end() && p->second.is_valid() && p->second.type() == Atom::INT) poly = p->second.get_int32(); SharedPtr<PatchModel> model(new PatchModel(path, poly)); model->set_properties(properties); add_object(model); } else if (is_node) { - const Resource::Properties::const_iterator p = properties.find("rdf:instanceOf"); + const Resource::Properties::const_iterator p = properties.find(uris.rdf_instanceOf); SharedPtr<PluginModel> plug; if (p->second.is_valid() && p->second.type() == Atom::URI) { if (!(plug = plugin(p->second.get_uri()))) { LOG(warn) << "Unable to find plugin " << p->second.get_uri() << endl; plug = SharedPtr<PluginModel>( - new PluginModel(p->second.get_uri(), "ingen:nil", Resource::Properties())); + new PluginModel(p->second.get_uri(), uris.ingen_nil, Resource::Properties())); add_plugin(plug); } @@ -313,7 +319,7 @@ ClientStore::put(const URI& uri, const Resource::Properties& properties) } else if (is_port) { if (data_type != PortType::UNKNOWN) { PortModel::Direction pdir = is_output ? PortModel::OUTPUT : PortModel::INPUT; - const Resource::Properties::const_iterator i = properties.find("lv2:index"); + const Resource::Properties::const_iterator i = properties.find(uris.lv2_index); if (i != properties.end() && i->second.type() == Atom::INT) { SharedPtr<PortModel> p(new PortModel(path, i->second.get_int32(), data_type, pdir)); p->set_properties(properties); @@ -378,13 +384,6 @@ ClientStore::activity(const Path& path) } -void -ClientStore::binding(const Path& path, const Shared::MessageType& type) -{ - LOG(info) << "Bind " << path << " : " << type << endl; -} - - SharedPtr<PatchModel> ClientStore::connection_patch(const Path& src_port_path, const Path& dst_port_path) { diff --git a/src/client/ClientStore.hpp b/src/client/ClientStore.hpp index 309e7795..38df414e 100644 --- a/src/client/ClientStore.hpp +++ b/src/client/ClientStore.hpp @@ -33,7 +33,7 @@ namespace Raul { class Atom; } namespace Ingen { -namespace Shared { class GraphObject; class MessageType; } +namespace Shared { class GraphObject; } namespace Client { @@ -95,7 +95,6 @@ private: // Slots for SigClientInterface signals void object_moved(const Raul::Path& old_path, const Raul::Path& new_path); void activity(const Raul::Path& path); - void binding(const Raul::Path& path, const Shared::MessageType& type); bool attempt_connection(const Raul::Path& src_port_path, const Raul::Path& dst_port_path); diff --git a/src/client/DeprecatedLoader.cpp b/src/client/DeprecatedLoader.cpp index ec603760..8d774e17 100644 --- a/src/client/DeprecatedLoader.cpp +++ b/src/client/DeprecatedLoader.cpp @@ -29,6 +29,7 @@ #include <libxml/xpath.h> #include "raul/log.hpp" #include "raul/Path.hpp" +#include "shared/LV2URIMap.hpp" #include "interface/EngineInterface.hpp" #include "DeprecatedLoader.hpp" @@ -224,13 +225,15 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, size_t poly = 0; + const LV2URIMap& uris = Shared::LV2URIMap::instance(); + /* Use parameter overridden polyphony, if given */ - GraphObject::Properties::iterator poly_param = initial_data.find("ingen:polyphony"); + GraphObject::Properties::iterator poly_param = initial_data.find(uris.ingen_polyphony); if (poly_param != initial_data.end() && poly_param->second.type() == Atom::INT) poly = poly_param->second.get_int32(); - if (initial_data.find("filename") == initial_data.end()) - initial_data.insert(make_pair("filename", Atom(filename.c_str()))); // FIXME: URL? + if (initial_data.find(uris.ingen_document) == initial_data.end()) + initial_data.insert(make_pair(uris.ingen_document, filename)); xmlDocPtr doc = xmlParseFile(filename.c_str()); @@ -294,8 +297,8 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, // Create it, if we're not merging if (!existing && !path.is_root()) { Resource::Properties props; - props.insert(make_pair("rdf:type", Atom(Atom::URI, "ingen:Patch"))); - props.insert(make_pair("ingen:polyphony", Atom((int32_t)poly))); + props.insert(make_pair(uris.rdf_type, uris.ingen_Patch)); + props.insert(make_pair(uris.ingen_polyphony, Atom((int32_t)poly))); _engine->put(path, props); for (GraphObject::Properties::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) _engine->set_property(path, i->first, i->second); @@ -340,7 +343,7 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, for ( ; i != pm->controls().end(); ++i) { const float value = i->value(); _engine->set_property(translate_load_path(i->port_path().str()), - "ingen:value", Atom(value)); + uris.ingen_value, Atom(value)); } } else { LOG(warn) << "Unknown preset `" << pm->name() << "'" << endl; @@ -357,7 +360,7 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, // _engine->set_property(subject, i->first, i->second); if (!existing) - _engine->set_property(path, "ingen:enabled", (bool)true); + _engine->set_property(path, uris.ingen_enabled, (bool)true); _load_path_translations.clear(); @@ -451,38 +454,40 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr return false; } + const LV2URIMap& uris = Shared::LV2URIMap::instance(); + // Compatibility hacks for old patches that represent patch ports as nodes if (plugin_uri == "") { bool is_port = false; Resource::Properties props; - props.insert(make_pair("rdf:type", Atom(Atom::URI, "ingen:Patch"))); + props.insert(make_pair(uris.rdf_type, uris.ingen_Patch)); if (plugin_type == "Internal") { is_port = true; if (plugin_label == "audio_input") { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:AudioPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:InputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2_AudioPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_InputPort)); _engine->put(path, props); } else if (plugin_label == "audio_output") { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:AudioPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:OutputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2_AudioPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_OutputPort)); _engine->put(path, props); } else if (plugin_label == "control_input") { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:ControlPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:InputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2_ControlPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_InputPort)); _engine->put(path, props); } else if (plugin_label == "control_output" ) { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:ControlPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:OutputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2_ControlPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_OutputPort)); _engine->put(path, props); } else if (plugin_label == "midi_input") { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2ev:EventPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:InputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2ev_EventPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_InputPort)); _engine->put(path, props); } else if (plugin_label == "midi_output" ) { - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2ev:EventPort"))); - props.insert(make_pair("rdf:type", Atom(Atom::URI, "lv2:OutputPort"))); + props.insert(make_pair(uris.rdf_type, uris.lv2ev_EventPort)); + props.insert(make_pair(uris.rdf_type, uris.lv2_OutputPort)); _engine->put(path, props); } else { is_port = false; @@ -528,11 +533,11 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr plugin_uri = "om:" + plugin_type + ":" + library_name + ":" + plugin_label; Resource::Properties props; - props.insert(make_pair("rdf:type", Atom(Atom::URI, "ingen:Node"))); - props.insert(make_pair("rdf:instanceOf", Atom(Atom::URI, plugin_uri))); + props.insert(make_pair(uris.rdf_type, uris.ingen_Node)); + props.insert(make_pair(uris.rdf_instanceOf, Atom(Atom::URI, plugin_uri))); _engine->put(path, props); - _engine->set_property(path, "ingen:polyphonic", bool(polyphonic)); + _engine->set_property(path, uris.ingen_polyphonic, bool(polyphonic)); for (GraphObject::Properties::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) _engine->set_property(path, i->first, i->second); @@ -543,10 +548,10 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr // Not deprecated } else { Resource::Properties props; - props.insert(make_pair("rdf:type", Atom(Atom::URI, "ingen:Node"))); - props.insert(make_pair("rdf:instanceOf", Atom(Atom::URI, plugin_uri))); + props.insert(make_pair(uris.rdf_type, uris.ingen_Node)); + props.insert(make_pair(uris.rdf_instanceOf, Atom(Atom::URI, plugin_uri))); _engine->put(path, props); - _engine->set_property(path, "ingen:polyphonic", bool(polyphonic)); + _engine->set_property(path, uris.ingen_polyphonic, bool(polyphonic)); for (GraphObject::Properties::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) _engine->set_property(path, i->first, i->second); return true; @@ -567,6 +572,7 @@ DeprecatedLoader::load_subpatch(const string& base_filename, const Path& parent, size_t poly = 0; GraphObject::Properties initial_data; + const LV2URIMap& uris = Shared::LV2URIMap::instance(); while (cur != NULL) { key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); @@ -574,7 +580,7 @@ DeprecatedLoader::load_subpatch(const string& base_filename, const Path& parent, if ((!xmlStrcmp(cur->name, (const xmlChar*)"name"))) { name = (const char*)key; } else if ((!xmlStrcmp(cur->name, (const xmlChar*)"polyphony"))) { - initial_data.insert(make_pair("ingen::polyphony", (int)poly)); + initial_data.insert(make_pair(uris.ingen_polyphony, (int)poly)); } else if ((!xmlStrcmp(cur->name, (const xmlChar*)"filename"))) { filename = base_filename + "/" + (const char*)key; } else { // Don't know what this tag is, add it as variable diff --git a/src/client/HTTPClientReceiver.cpp b/src/client/HTTPClientReceiver.cpp index c4eb2416..0eee23ca 100644 --- a/src/client/HTTPClientReceiver.cpp +++ b/src/client/HTTPClientReceiver.cpp @@ -24,6 +24,7 @@ #include "raul/log.hpp" #include "raul/Atom.hpp" #include "module/Module.hpp" +#include "module/World.hpp" #include "HTTPClientReceiver.hpp" #define LOG(s) s << "[HTTPClientReceiver] " diff --git a/src/client/HTTPEngineSender.cpp b/src/client/HTTPEngineSender.cpp index 91c8d76c..0b544600 100644 --- a/src/client/HTTPEngineSender.cpp +++ b/src/client/HTTPEngineSender.cpp @@ -124,7 +124,7 @@ HTTPEngineSender::put(const URI& uri, model.add_statement( Redland::Resource(_world, path), i->first.str(), - AtomRDF::atom_to_node(_world, i->second)); + AtomRDF::atom_to_node(model, i->second)); const string str = model.serialise_to_string(); SoupMessage* msg = soup_message_new(SOUP_METHOD_PUT, full_uri.c_str()); diff --git a/src/client/NodeModel.cpp b/src/client/NodeModel.cpp index df72c9e2..bed43e7a 100644 --- a/src/client/NodeModel.cpp +++ b/src/client/NodeModel.cpp @@ -19,6 +19,8 @@ #include <cmath> #include "ingen-config.h" #include "interface/Port.hpp" +#include "module/World.hpp" +#include "shared/LV2URIMap.hpp" #include "NodeModel.hpp" using namespace std; @@ -204,13 +206,14 @@ NodeModel::default_port_value_range(SharedPtr<PortModel> port, float& min, float void NodeModel::port_value_range(SharedPtr<PortModel> port, float& min, float& max) const { + const Shared::LV2URIMap& uris = Shared::LV2URIMap::instance(); assert(port->parent().get() == this); default_port_value_range(port, min, max); // Possibly overriden - const Atom& min_atom = port->get_property("lv2:minimum"); - const Atom& max_atom = port->get_property("lv2:maximum"); + const Atom& min_atom = port->get_property(uris.lv2_minimum); + const Atom& max_atom = port->get_property(uris.lv2_maximum); if (min_atom.type() == Atom::FLOAT) min = min_atom.get_float(); if (max_atom.type() == Atom::FLOAT) diff --git a/src/client/ObjectModel.cpp b/src/client/ObjectModel.cpp index 69d79d1e..e121a868 100644 --- a/src/client/ObjectModel.cpp +++ b/src/client/ObjectModel.cpp @@ -17,8 +17,6 @@ #include "raul/TableImpl.hpp" #include "interface/GraphObject.hpp" -#include "module/ingen_module.hpp" -#include "module/World.hpp" #include "shared/LV2URIMap.hpp" #include "ObjectModel.hpp" @@ -78,7 +76,7 @@ ObjectModel::get_property(const Raul::URI& key) const bool ObjectModel::polyphonic() const { - const Raul::Atom& polyphonic = get_property(ingen_get_world()->uris->ingen_polyphonic); + const Raul::Atom& polyphonic = get_property(Shared::LV2URIMap::instance().ingen_polyphonic); return (polyphonic.is_valid() && polyphonic.get_bool()); } diff --git a/src/client/PatchModel.cpp b/src/client/PatchModel.cpp index 7b29b3f6..7d44eb1c 100644 --- a/src/client/PatchModel.cpp +++ b/src/client/PatchModel.cpp @@ -17,7 +17,6 @@ #include <cassert> #include "raul/log.hpp" -#include "module/ingen_module.hpp" #include "shared/LV2URIMap.hpp" #include "PatchModel.hpp" #include "NodeModel.hpp" @@ -165,7 +164,7 @@ PatchModel::remove_connection(const Path& src_port_path, const Path& dst_port_pa bool PatchModel::enabled() const { - const Raul::Atom& enabled = get_property(ingen_get_world()->uris->ingen_enabled); + const Raul::Atom& enabled = get_property(Shared::LV2URIMap::instance().ingen_enabled); return (enabled.is_valid() && enabled.get_bool()); } @@ -173,7 +172,7 @@ PatchModel::enabled() const Raul::Atom& PatchModel::set_meta_property(const Raul::URI& key, const Atom& value) { - if (key == ingen_get_world()->uris->ingen_polyphony) + if (key == Shared::LV2URIMap::instance().ingen_polyphony) _poly = value.get_int32(); return NodeModel::set_meta_property(key, value); diff --git a/src/client/PatchModel.hpp b/src/client/PatchModel.hpp index 748c2704..d87c4ee8 100644 --- a/src/client/PatchModel.hpp +++ b/src/client/PatchModel.hpp @@ -75,7 +75,7 @@ private: friend class ClientStore; PatchModel(const Raul::Path& patch_path, size_t internal_poly) - : NodeModel("ingen:Patch", patch_path) + : NodeModel("http://drobilla.net/ns/ingen#Patch", patch_path) , _connections(new Connections()) , _poly(internal_poly) , _editable(true) diff --git a/src/client/PluginModel.cpp b/src/client/PluginModel.cpp index d740a3c1..43571f08 100644 --- a/src/client/PluginModel.cpp +++ b/src/client/PluginModel.cpp @@ -21,7 +21,6 @@ #include "raul/Path.hpp" #include "raul/Atom.hpp" #include "ingen-config.h" -#include "module/ingen_module.hpp" #include "shared/LV2URIMap.hpp" #include "PluginModel.hpp" #include "PatchModel.hpp" @@ -49,14 +48,15 @@ PluginModel::PluginModel(const URI& uri, const URI& type_uri, const Resource::Pr Glib::Mutex::Lock lock(_rdf_world->mutex()); assert(_rdf_world); - add_property("rdf:type", Atom(Atom::URI, this->type_uri())); + add_property("http://www.w3.org/1999/02/22-rdf-syntax-ns#type", this->type_uri()); #ifdef HAVE_SLV2 SLV2Value plugin_uri = slv2_value_new_uri(_slv2_world, uri.c_str()); _slv2_plugin = slv2_plugins_get_by_uri(_slv2_plugins, plugin_uri); slv2_value_free(plugin_uri); #endif if (_type == Internal) - set_property("doap:name", Atom(uri.substr(uri.find_last_of('#') + 1).c_str())); + set_property("http://usefulinc.com/ns/doap#name", + Atom(uri.substr(uri.find_last_of('#') + 1).c_str())); } @@ -69,7 +69,7 @@ PluginModel::get_property(const URI& key) const return val; // No lv2:symbol from data or engine, invent one - if (key == ingen_get_world()->uris->lv2_symbol) { + if (key == Shared::LV2URIMap::instance().lv2_symbol) { const URI& uri = this->uri(); size_t last_slash = uri.find_last_of('/'); size_t last_hash = uri.find_last_of('#'); @@ -92,7 +92,7 @@ PluginModel::get_property(const URI& key) const else symbol = uri.str().substr(first_delim + 1, last_delim - first_delim - 1); } - set_property("lv2:symbol", symbol); + set_property("http://lv2plug.in/ns/lv2core#symbol", symbol); return get_property(key); } @@ -153,7 +153,7 @@ PluginModel::set(SharedPtr<PluginModel> p) Symbol PluginModel::default_node_symbol() { - const Atom& name_atom = get_property("lv2:symbol"); + const Atom& name_atom = get_property("http://lv2plug.in/ns/lv2core#symbol"); if (name_atom.is_valid() && name_atom.type() == Atom::STRING) return Symbol::symbolify(name_atom.get_string()); else @@ -164,7 +164,7 @@ PluginModel::default_node_symbol() string PluginModel::human_name() { - const Atom& name_atom = get_property("doap:name"); + const Atom& name_atom = get_property("http://usefulinc.com/ns/doap#name"); if (name_atom.type() == Atom::STRING) return name_atom.get_string(); else diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp index 0df3b060..89adb8da 100644 --- a/src/client/PluginUI.cpp +++ b/src/client/PluginUI.cpp @@ -75,7 +75,7 @@ lv2_ui_write(LV2UI_Controller controller, if (ev->type == map->midi_event.id) { // FIXME: bundle multiple events by writing an entire buffer here ui->world()->engine->set_property(port->path(), map->ingen_value, - Atom("lv2midi:MidiEvent", ev->size, data)); + Atom("http://lv2plug.in/ns/ext/midi#MidiEvent", ev->size, data)); } else { warn << "Unable to send event type " << ev->type << " over OSC, ignoring event" << endl; diff --git a/src/client/PluginUI.hpp b/src/client/PluginUI.hpp index e33f149f..f0baba3c 100644 --- a/src/client/PluginUI.hpp +++ b/src/client/PluginUI.hpp @@ -20,11 +20,10 @@ #include "slv2/slv2.h" #include "raul/SharedPtr.hpp" -#include "module/World.hpp" #include "LV2Features.hpp" namespace Ingen { -namespace Shared { class EngineInterface; } +namespace Shared { class EngineInterface; class World; } namespace Client { class NodeModel; diff --git a/src/client/PortModel.cpp b/src/client/PortModel.cpp index 5eb578d7..5d4cb417 100644 --- a/src/client/PortModel.cpp +++ b/src/client/PortModel.cpp @@ -15,8 +15,6 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "module/ingen_module.hpp" -#include "module/World.hpp" #include "shared/LV2URIMap.hpp" #include "PortModel.hpp" #include "NodeModel.hpp" @@ -30,7 +28,7 @@ PortModel::set_property(const Raul::URI& uri, const Raul::Atom& value) { Raul::Atom& ret = ObjectModel::set_property(uri, value); - if (uri == ingen_get_world()->uris->ingen_value) + if (uri == Shared::LV2URIMap::instance().ingen_value) this->value(value); return ret; } diff --git a/src/client/PortModel.hpp b/src/client/PortModel.hpp index 5a944532..b199d05b 100644 --- a/src/client/PortModel.hpp +++ b/src/client/PortModel.hpp @@ -50,9 +50,9 @@ public: bool has_hint(const std::string& qname) const; - bool is_logarithmic() const { return has_hint("ingen:logarithmic"); } - bool is_integer() const { return has_hint("lv2:integer"); } - bool is_toggle() const { return has_hint("lv2:toggled"); } + bool is_logarithmic() const { return has_hint("http://drobilla.net/ns/ingen#logarithmic"); } + bool is_integer() const { return has_hint("http://lv2plug.in/ns/lv2core#integer"); } + bool is_toggle() const { return has_hint("http://lv2plug.in/ns/lv2core#toggled"); } inline bool operator==(const PortModel& pm) const { return (path() == pm.path()); } diff --git a/src/client/SigClientInterface.hpp b/src/client/SigClientInterface.hpp index 382813d3..bc2ee3f9 100644 --- a/src/client/SigClientInterface.hpp +++ b/src/client/SigClientInterface.hpp @@ -41,7 +41,7 @@ class SigClientInterface : public Ingen::Shared::ClientInterface, public sigc::t public: SigClientInterface() {} - Raul::URI uri() const { return "ingen:internal"; } + Raul::URI uri() const { return "http://drobilla.net/ns/ingen#internal"; } sigc::signal<void, int32_t> signal_response_ok; sigc::signal<void, int32_t, std::string> signal_response_error; @@ -60,7 +60,6 @@ public: sigc::signal<void, Raul::Path, Raul::Atom> signal_port_value; sigc::signal<void, Raul::Path, uint32_t, Raul::Atom> signal_voice_value; sigc::signal<void, Raul::Path> signal_activity; - sigc::signal<void, Raul::Path, Shared::MessageType> signal_binding; /** Fire pending signals. Only does anything on derived classes (that may queue) */ virtual bool emit_signals() { return false; } @@ -112,9 +111,6 @@ protected: void activity(const Raul::Path& port_path) { EMIT(activity, port_path); } - - void binding(const Raul::Path& path, const Shared::MessageType& type) - { EMIT(binding, path, type); } }; diff --git a/src/client/ThreadedSigClientInterface.hpp b/src/client/ThreadedSigClientInterface.hpp index 16eb98c3..128f6d86 100644 --- a/src/client/ThreadedSigClientInterface.hpp +++ b/src/client/ThreadedSigClientInterface.hpp @@ -24,7 +24,6 @@ #include <glibmm/thread.h> #include "raul/Atom.hpp" #include "interface/ClientInterface.hpp" -#include "interface/MessageType.hpp" #include "SigClientInterface.hpp" #include "raul/SRSWQueue.hpp" @@ -61,11 +60,10 @@ public: , property_change_slot(signal_property_change.make_slot()) , port_value_slot(signal_port_value.make_slot()) , activity_slot(signal_activity.make_slot()) - , binding_slot(signal_binding.make_slot()) { } - virtual Raul::URI uri() const { return "ingen:internal"; } + virtual Raul::URI uri() const { return "http://drobilla.net/ns/ingen#internal"; } void bundle_begin() { push_sig(bundle_begin_slot); } @@ -109,9 +107,6 @@ public: void activity(const Raul::Path& port_path) { push_sig(sigc::bind(activity_slot, port_path)); } - void binding(const Raul::Path& path, const Shared::MessageType& type) - { push_sig(sigc::bind(binding_slot, path, type)); } - /** Process all queued events - Called from GTK thread to emit signals. */ bool emit_signals(); @@ -141,7 +136,6 @@ private: sigc::slot<void, Raul::Path, Raul::Atom> port_value_slot; sigc::slot<void, Raul::Path, uint32_t, Raul::Atom> voice_value_slot; sigc::slot<void, Raul::Path> activity_slot; - sigc::slot<void, Raul::Path, Shared::MessageType> binding_slot; }; |