summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-02-26 12:56:45 +0100
committerDavid Robillard <d@drobilla.net>2017-02-26 12:56:45 +0100
commit72e1a2119baea9690bdea0b729ecbafade2c87ba (patch)
treec465325eaf9d9a0f800a7e2dbfb5a58692053ed2
parent1c9ac012b8a8db6e2221f2fa64afb3fc0dbf90d9 (diff)
downloadingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.tar.gz
ingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.tar.bz2
ingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.zip
Fix filtering by type in plugin selector
-rw-r--r--ingen/Forge.hpp4
-rw-r--r--ingen/client/PluginModel.hpp4
-rw-r--r--src/client/ClientStore.cpp10
-rw-r--r--src/gui/GraphBox.cpp2
-rw-r--r--src/gui/LoadPluginWindow.cpp8
5 files changed, 16 insertions, 12 deletions
diff --git a/ingen/Forge.hpp b/ingen/Forge.hpp
index b9d98a1d..9b45bde1 100644
--- a/ingen/Forge.hpp
+++ b/ingen/Forge.hpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -35,7 +35,7 @@ class INGEN_API Forge : public LV2_Atom_Forge {
public:
explicit Forge(URIMap& map);
- std::string str(const Atom& atom, bool quoted=true);
+ std::string str(const Atom& atom, bool quoted);
bool is_uri(const Atom& atom) const {
return atom.type() == URI || atom.type() == URID;
diff --git a/ingen/client/PluginModel.hpp b/ingen/client/PluginModel.hpp
index ad425904..6883596a 100644
--- a/ingen/client/PluginModel.hpp
+++ b/ingen/client/PluginModel.hpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -56,7 +56,7 @@ public:
const Atom& type() const { return _type; }
const Raul::URI type_uri() const {
return Raul::URI(_type.is_valid()
- ? _uris.forge.str(_type)
+ ? _uris.forge.str(_type, false)
: "http://www.w3.org/2002/07/owl#Nothing");
}
diff --git a/src/client/ClientStore.cpp b/src/client/ClientStore.cpp
index 4ff04957..eac853f7 100644
--- a/src/client/ClientStore.cpp
+++ b/src/client/ClientStore.cpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2016 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -143,8 +143,8 @@ ClientStore::_plugin(const Raul::URI& uri)
SPtr<PluginModel>
ClientStore::_plugin(const Atom& uri)
{
- /* FIXME: SHould probably be stored with URIs rather than strings, to make this
- a fast case. */
+ /* FIXME: Should probably be stored with URIs rather than strings, to make
+ this a fast case. */
const Plugins::iterator i = _plugins->find(Raul::URI(_uris.forge.str(uri, false)));
return (i == _plugins->end()) ? SPtr<PluginModel>() : (*i).second;
@@ -263,7 +263,7 @@ ClientStore::put(const Raul::URI& uri,
_log.error(fmt("Preset <%1%> label is not a string\n") % uri.c_str());
} else if (!(plug = _plugin(p->second))) {
_log.error(fmt("Preset <%1%> for unknown plugin %2%\n")
- % uri.c_str() % _uris.forge.str(p->second));
+ % uri.c_str() % _uris.forge.str(p->second, true));
} else {
plug->add_preset(uri, l->second.ptr<char>());
}
@@ -374,7 +374,7 @@ ClientStore::set_property(const Raul::URI& subject_uri,
{
if (subject_uri == Raul::URI("ingen:/engine")) {
_log.info(fmt("Engine property <%1%> = %2%\n")
- % predicate.c_str() % _uris.forge.str(value));
+ % predicate.c_str() % _uris.forge.str(value, false));
return;
}
SPtr<Resource> subject = _resource(subject_uri);
diff --git a/src/gui/GraphBox.cpp b/src/gui/GraphBox.cpp
index f48cffa7..82861a88 100644
--- a/src/gui/GraphBox.cpp
+++ b/src/gui/GraphBox.cpp
@@ -444,7 +444,7 @@ GraphBox::show_port_status(const PortModel* port, const Atom& value)
}
if (value.is_valid()) {
- msg << " = " << _app->forge().str(value);
+ msg << " = " << _app->forge().str(value, true);
}
_status_bar->pop(STATUS_CONTEXT_HOVER);
diff --git a/src/gui/LoadPluginWindow.cpp b/src/gui/LoadPluginWindow.cpp
index 3d6927cb..2c0d1b63 100644
--- a/src/gui/LoadPluginWindow.cpp
+++ b/src/gui/LoadPluginWindow.cpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2015 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -450,7 +450,11 @@ LoadPluginWindow::filter_changed()
field = name.ptr<char>();
break;
case CriteriaColumns::Criteria::TYPE:
- field = plugin->type_uri();
+ if (plugin->lilv_plugin()) {
+ field = lilv_node_as_string(
+ lilv_plugin_class_get_label(
+ lilv_plugin_get_class(plugin->lilv_plugin())));
+ }
break;
case CriteriaColumns::Criteria::PROJECT:
field = get_project_name(plugin);