diff options
author | David Robillard <d@drobilla.net> | 2017-02-26 12:56:45 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-02-26 12:56:45 +0100 |
commit | 72e1a2119baea9690bdea0b729ecbafade2c87ba (patch) | |
tree | c465325eaf9d9a0f800a7e2dbfb5a58692053ed2 | |
parent | 1c9ac012b8a8db6e2221f2fa64afb3fc0dbf90d9 (diff) | |
download | ingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.tar.gz ingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.tar.bz2 ingen-72e1a2119baea9690bdea0b729ecbafade2c87ba.zip |
Fix filtering by type in plugin selector
-rw-r--r-- | ingen/Forge.hpp | 4 | ||||
-rw-r--r-- | ingen/client/PluginModel.hpp | 4 | ||||
-rw-r--r-- | src/client/ClientStore.cpp | 10 | ||||
-rw-r--r-- | src/gui/GraphBox.cpp | 2 | ||||
-rw-r--r-- | src/gui/LoadPluginWindow.cpp | 8 |
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); |