summaryrefslogtreecommitdiffstats
path: root/src/client
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-02-03 04:46:56 +0000
committerDavid Robillard <d@drobilla.net>2010-02-03 04:46:56 +0000
commit87597f85c5a69a9accd3ce2ed88f2a006173e885 (patch)
treea3ffa393e9aecbc55dae64bad3bd45ee317e6d26 /src/client
parenta645d2b8be4d7d31f6eef1649156b166a01e0c31 (diff)
downloadingen-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.cpp35
-rw-r--r--src/client/ClientStore.hpp3
-rw-r--r--src/client/DeprecatedLoader.cpp60
-rw-r--r--src/client/HTTPClientReceiver.cpp1
-rw-r--r--src/client/HTTPEngineSender.cpp2
-rw-r--r--src/client/NodeModel.cpp7
-rw-r--r--src/client/ObjectModel.cpp4
-rw-r--r--src/client/PatchModel.cpp5
-rw-r--r--src/client/PatchModel.hpp2
-rw-r--r--src/client/PluginModel.cpp14
-rw-r--r--src/client/PluginUI.cpp2
-rw-r--r--src/client/PluginUI.hpp3
-rw-r--r--src/client/PortModel.cpp4
-rw-r--r--src/client/PortModel.hpp6
-rw-r--r--src/client/SigClientInterface.hpp6
-rw-r--r--src/client/ThreadedSigClientInterface.hpp8
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;
};