From 40ff85e256ca9094fb75cdcbabd3442339f91ecd Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 2 May 2007 23:58:28 +0000 Subject: Added svn:ignore property to everything. Made engine and patch loader separate dynamically loaded modules. No more monolithic ingenuity (module loaded at runtime). git-svn-id: http://svn.drobilla.net/lad/ingen@491 a436a847-0d15-0410-975c-d299462d15a1 --- src/libs/client/ConnectionModel.h | 4 +- src/libs/client/ControlModel.h | 2 +- src/libs/client/DeprecatedLoader.cpp | 46 ++-- src/libs/client/DeprecatedLoader.h | 11 +- src/libs/client/Loader.cpp | 342 --------------------------- src/libs/client/Loader.h | 49 ---- src/libs/client/Makefile.am | 13 +- src/libs/client/ModelEngineInterface.cpp | 99 -------- src/libs/client/ModelEngineInterface.h | 72 ------ src/libs/client/NodeModel.h | 4 +- src/libs/client/OSCClientReceiver.cpp | 2 +- src/libs/client/OSCEngineSender.cpp | 2 +- src/libs/client/OSCModelEngineInterface.h | 42 ---- src/libs/client/ObjectModel.h | 6 +- src/libs/client/PatchModel.h | 2 +- src/libs/client/PluginModel.h | 4 +- src/libs/client/PortModel.h | 4 +- src/libs/client/Serializer.cpp | 2 +- src/libs/client/Serializer.h | 1 - src/libs/client/Store.h | 6 +- src/libs/client/ThreadedSigClientInterface.h | 4 +- 21 files changed, 58 insertions(+), 659 deletions(-) delete mode 100644 src/libs/client/Loader.cpp delete mode 100644 src/libs/client/Loader.h delete mode 100644 src/libs/client/ModelEngineInterface.cpp delete mode 100644 src/libs/client/ModelEngineInterface.h delete mode 100644 src/libs/client/OSCModelEngineInterface.h (limited to 'src/libs/client') diff --git a/src/libs/client/ConnectionModel.h b/src/libs/client/ConnectionModel.h index 7024d058..9e62d5b4 100644 --- a/src/libs/client/ConnectionModel.h +++ b/src/libs/client/ConnectionModel.h @@ -19,8 +19,8 @@ #define CONNECTIONMODEL_H #include -#include "raul/Path.h" -#include "raul/SharedPtr.h" +#include +#include #include "PortModel.h" #include using std::string; diff --git a/src/libs/client/ControlModel.h b/src/libs/client/ControlModel.h index dc709944..5729faec 100644 --- a/src/libs/client/ControlModel.h +++ b/src/libs/client/ControlModel.h @@ -19,7 +19,7 @@ #define CONTROLMODEL_H #include -#include "raul/Path.h" +#include namespace Ingen { namespace Client { diff --git a/src/libs/client/DeprecatedLoader.cpp b/src/libs/client/DeprecatedLoader.cpp index 97e6583d..d4b650df 100644 --- a/src/libs/client/DeprecatedLoader.cpp +++ b/src/libs/client/DeprecatedLoader.cpp @@ -15,28 +15,29 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "DeprecatedLoader.h" -#include -#include -#include -#include -#include "PatchModel.h" -#include "NodeModel.h" -#include "ConnectionModel.h" -#include "PortModel.h" -#include "PresetModel.h" -#include "ModelEngineInterface.h" -#include "PluginModel.h" -#include "raul/Path.h" + #include #include #include +#include #include // for pair, make_pair #include #include #include #include // for atof #include +#include +#include +#include +#include +#include "interface/EngineInterface.h" +#include "PatchModel.h" +#include "NodeModel.h" +#include "ConnectionModel.h" +#include "PortModel.h" +#include "PresetModel.h" +#include "PluginModel.h" +#include "DeprecatedLoader.h" using std::string; using std::vector; using std::pair; using std::cerr; using std::cout; using std::endl; @@ -245,8 +246,11 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, poly = 1; // Create it, if we're not merging - if (!existing) - _engine->create_patch_with_data(path, poly, initial_data); + if (!existing) { + _engine->create_patch(path, poly); + for (MetadataMap::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) + _engine->set_metadata(path, i->first, i->second); + } // Load nodes cur = xmlDocGetRootElement(doc)->xmlChildrenNode; @@ -294,7 +298,8 @@ DeprecatedLoader::load_patch(const Glib::ustring& filename, xmlCleanupParser(); // Done above.. late enough? - //_engine->set_metadata_map(path, initial_data); + //for (MetadataMap::const_iterator i = data.begin(); i != data.end(); ++i) + // _engine->set_metadata(subject, i->first, i->second); if (!existing) _engine->enable_patch(path); @@ -485,7 +490,8 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr path = new_path; - _engine->set_metadata_map(path, initial_data); + for (MetadataMap::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) + _engine->set_metadata(path, i->first, i->second); return SharedPtr(); @@ -508,7 +514,8 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr else _engine->create_node(path, plugin_type, library_name, plugin_label, polyphonic); - _engine->set_metadata_map(path, initial_data); + for (MetadataMap::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) + _engine->set_metadata(path, i->first, i->second); return true; } @@ -516,7 +523,8 @@ DeprecatedLoader::load_node(const Path& parent, xmlDocPtr doc, const xmlNodePtr // Not deprecated } else { _engine->create_node(path, plugin_uri, polyphonic); - _engine->set_metadata_map(path, initial_data); + for (MetadataMap::const_iterator i = initial_data.begin(); i != initial_data.end(); ++i) + _engine->set_metadata(path, i->first, i->second); return true; } diff --git a/src/libs/client/DeprecatedLoader.h b/src/libs/client/DeprecatedLoader.h index aa9557f5..dde9f631 100644 --- a/src/libs/client/DeprecatedLoader.h +++ b/src/libs/client/DeprecatedLoader.h @@ -25,11 +25,13 @@ #include #include #include -#include "raul/SharedPtr.h" -#include "raul/Path.h" +#include +#include +#include "interface/EngineInterface.h" #include "ObjectModel.h" using std::string; +using Ingen::Shared::EngineInterface; namespace Ingen { namespace Client { @@ -38,7 +40,6 @@ class PatchModel; class NodeModel; class ConnectionModel; class PresetModel; -class ModelEngineInterface; /** Loads deprecated (XML) patch files (from the Om days). @@ -48,7 +49,7 @@ class ModelEngineInterface; class DeprecatedLoader { public: - DeprecatedLoader(SharedPtr engine) + DeprecatedLoader(SharedPtr engine) : /*_patch_search_path(".")*/ _engine(engine) { assert(_engine); @@ -72,7 +73,7 @@ private: string translate_load_path(const string& path); //string _patch_search_path; - SharedPtr _engine; + SharedPtr _engine; /// Translations of paths from the loading file to actual paths (for deprecated patches) std::map _load_path_translations; diff --git a/src/libs/client/Loader.cpp b/src/libs/client/Loader.cpp deleted file mode 100644 index 8ebea580..00000000 --- a/src/libs/client/Loader.cpp +++ /dev/null @@ -1,342 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include -#include -#include -#include "Loader.h" -#include "interface/EngineInterface.h" - -using namespace std; -using namespace Raul; -using namespace Ingen::Shared; - -namespace Ingen { -namespace Serialisation { - - -/** Load (create) a patch from RDF into the engine. - * - * @param document_uri URI of file to load objects from. - * @param parent Path of parent under which to load objects. - * @return whether or not load was successful. - */ -bool -load(SharedPtr engine, - Raul::RDF::World* rdf_world, - const Glib::ustring& document_uri, - boost::optional parent, - string patch_name, - Glib::ustring patch_uri, - map data) -{ - // FIXME: this whole thing is a mess - - std::map created; - - RDF::Model model(*rdf_world, document_uri); - - //patch_uri = string("<") + patch_uri + ">"; - patch_uri = string("<") + document_uri + ">"; - - cerr << "[Loader] Loading " << patch_uri << " from " << document_uri - << " under " << (string)(parent ? (string)parent.get() : "no parent") << endl; - - /* Get polyphony (mandatory) */ - - // FIXME: polyphony datatype - RDF::Query query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?poly WHERE {\n") + - patch_uri + " ingen:polyphony ?poly\n }"); - - RDF::Query::Results results = query.run(*rdf_world, model); - - if (results.size() == 0) { - cerr << "[Loader] ERROR: No polyphony found!" << endl; - return false; - } - - RDF::Node poly_node = (*results.begin())["poly"]; - assert(poly_node.is_int()); - size_t patch_poly = (size_t)poly_node.to_int(); - - /* Get name (if available/necessary) */ - - if (patch_name == "") { - patch_name = string(document_uri.substr(document_uri.find_last_of("/")+1)); - if (patch_name.substr(patch_name.length()-10) == ".ingen.ttl") - patch_name = patch_name.substr(0, patch_name.length()-10); - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?name WHERE {\n") + - patch_uri + " ingen:name ?name\n}"); - - results = query.run(*rdf_world, model); - - if (results.size() > 0) - patch_name = (*results.begin())["name"].to_string(); - } - - Path patch_path = ( parent ? (parent.get().base() + patch_name) : Path("/") ); - cerr << "************ PATCH: name=" << patch_name << ", path=" << patch_path - << ", poly = " << patch_poly << endl; - engine->create_patch(patch_path, patch_poly); - - - /* Load (plugin) nodes */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?name ?plugin ?floatkey ?floatval WHERE {\n") + - patch_uri + " ingen:node ?node .\n" - "?node ingen:name ?name ;\n" - " ingen:plugin ?plugin .\n" - "OPTIONAL { ?node ?floatkey ?floatval . \n" - " FILTER ( datatype(?floatval) = xsd:decimal ) }\n" - "}"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - - string name = (*i)["name"].to_string(); - string plugin = (*i)["plugin"].to_string(); - - const Path node_path = patch_path.base() + (string)name; - - if (created.find(node_path) == created.end()) { - engine->create_node(node_path, plugin, false); - created[node_path] = true; - } - - string floatkey = rdf_world->prefixes().qualify((*i)["floatkey"].to_string()); - RDF::Node val_node = (*i)["floatval"]; - - if (floatkey != "" && val_node.is_float()) - engine->set_metadata(patch_path.base() + name, floatkey, Atom(val_node.to_float())); - } - - - /* Load subpatches */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?patch ?name WHERE {\n") + - patch_uri + " ingen:node ?patch .\n" - "?patch a ingen:Patch ;\n" - " ingen:name ?name .\n" - "}"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - - string name = (*i)["name"].to_string(); - string patch = (*i)["patch"].to_string(); - - const Path subpatch_path = patch_path.base() + (string)name; - - if (created.find(subpatch_path) == created.end()) { - load(engine, rdf_world, document_uri, patch_path, name, patch); - created[subpatch_path] = true; - } - } - - created.clear(); - - - /* Set node port control values */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?nodename ?portname ?portval WHERE {\n") + - patch_uri + " ingen:node ?node .\n" - "?node ingen:name ?nodename ;\n" - " ingen:port ?port .\n" - "?port ingen:name ?portname ;\n" - " ingen:value ?portval .\n" - "FILTER ( datatype(?portval) = xsd:decimal )\n" - "}\n"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - - string node_name = (*i)["nodename"].to_string(); - string port_name = (*i)["portname"].to_string(); - const float val = (*i)["portval"].to_float(); - - Path port_path = patch_path.base() + (const string&)node_name +"/"+ (const string&)port_name; - - engine->set_port_value(port_path, val); - } - - - /* Load this patch's ports */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?port ?type ?name ?datatype ?floatkey ?floatval ?portval WHERE {\n") + - patch_uri + " ingen:port ?port .\n" - "?port a ?type ;\n" - " ingen:name ?name ;\n" - " ingen:dataType ?datatype .\n" - "OPTIONAL { ?port ?floatkey ?floatval . \n" - " FILTER ( datatype(?floatval) = xsd:decimal ) }\n" - "OPTIONAL { ?port ingen:value ?portval . \n" - " FILTER ( datatype(?portval) = xsd:decimal ) }\n" - "}"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - string name = (*i)["name"].to_string(); - string type = rdf_world->qualify((*i)["type"].to_string()); - string datatype = (*i)["datatype"].to_string(); - - const Path port_path = patch_path.base() + (string)name; - - if (created.find(port_path) == created.end()) { - //cerr << "TYPE: " << type << endl; - bool is_output = (type == "ingen:OutputPort"); // FIXME: check validity - engine->create_port(port_path, datatype, is_output); - created[port_path] = true; - } - - RDF::Node val_node = (*i)["portval"]; - if (val_node.is_float()) - engine->set_port_value(patch_path.base() + name, val_node.to_float()); - - string floatkey = rdf_world->qualify((*i)["floatkey"].to_string()); - val_node = (*i)["floatval"]; - - if (floatkey != "" && val_node.is_float()) - engine->set_metadata(patch_path.base() + name, floatkey, Atom(val_node.to_float())); - } - - created.clear(); - - - /* Node -> Node connections */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?srcnodename ?srcname ?dstnodename ?dstname WHERE {\n") + - patch_uri + "ingen:node ?srcnode ;\n" - " ingen:node ?dstnode .\n" - "?srcnode ingen:port ?src ;\n" - " ingen:name ?srcnodename .\n" - "?dstnode ingen:port ?dst ;\n" - " ingen:name ?dstnodename .\n" - "?src ingen:name ?srcname .\n" - "?dst ingen:connectedTo ?src ;\n" - " ingen:name ?dstname .\n" - "}\n"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - Path src_node = patch_path.base() + (*i)["srcnodename"].to_string(); - Path src_port = src_node.base() + (*i)["srcname"].to_string(); - Path dst_node = patch_path.base() + (*i)["dstnodename"].to_string(); - Path dst_port = dst_node.base() + (*i)["dstname"].to_string(); - - cerr << patch_path << " 1 CONNECTION: " << src_port << " -> " << dst_port << endl; - - engine->connect(src_port, dst_port); - } - - - /* This Patch -> Node connections */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?srcname ?dstnodename ?dstname WHERE {\n") + - patch_uri + " ingen:port ?src ;\n" - " ingen:node ?dstnode .\n" - "?dstnode ingen:port ?dst ;\n" - " ingen:name ?dstnodename .\n" - "?dst ingen:connectedTo ?src ;\n" - " ingen:name ?dstname .\n" - "?src ingen:name ?srcname .\n" - "}\n"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - Path src_port = patch_path.base() + (*i)["srcname"].to_string(); - Path dst_node = patch_path.base() + (*i)["dstnodename"].to_string(); - Path dst_port = dst_node.base() + (*i)["dstname"].to_string(); - - cerr << patch_path << " 2 CONNECTION: " << src_port << " -> " << dst_port << endl; - - engine->connect(src_port, dst_port); - } - - - /* Node -> This Patch connections */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?srcnodename ?srcname ?dstname WHERE {\n") + - patch_uri + " ingen:port ?dst ;\n" - " ingen:node ?srcnode .\n" - "?srcnode ingen:port ?src ;\n" - " ingen:name ?srcnodename .\n" - "?dst ingen:connectedTo ?src ;\n" - " ingen:name ?dstname .\n" - "?src ingen:name ?srcname .\n" - "}\n"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - Path dst_port = patch_path.base() + (*i)["dstname"].to_string(); - Path src_node = patch_path.base() + (*i)["srcnodename"].to_string(); - Path src_port = src_node.base() + (*i)["srcname"].to_string(); - - cerr << patch_path << " 3 CONNECTION: " << src_port << " -> " << dst_port << endl; - - engine->connect(src_port, dst_port); - } - - - /* Load metadata */ - - query = RDF::Query(*rdf_world, Glib::ustring( - "SELECT DISTINCT ?floatkey ?floatval WHERE {\n") + - patch_uri + " ?floatkey ?floatval . \n" - " FILTER ( datatype(?floatval) = xsd:decimal ) \n" - "}"); - - results = query.run(*rdf_world, model); - - for (RDF::Query::Results::iterator i = results.begin(); i != results.end(); ++i) { - - string floatkey = rdf_world->prefixes().qualify((*i)["floatkey"].to_string()); - RDF::Node val_node = (*i)["floatval"]; - - if (floatkey != "" && val_node.is_float()) - engine->set_metadata(patch_path, floatkey, Atom(val_node.to_float())); - } - - - // Set passed metadata last to override any loaded values - for (Metadata::const_iterator i = data.begin(); i != data.end(); ++i) - engine->set_metadata(patch_path, i->first, i->second); - - return true; -} - - -} // namespace Serialisation -} // namespace Ingen - diff --git a/src/libs/client/Loader.h b/src/libs/client/Loader.h deleted file mode 100644 index 74aa7cbb..00000000 --- a/src/libs/client/Loader.h +++ /dev/null @@ -1,49 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef LOADER_H -#define LOADER_H - -#include -#include -#include -#include -#include -#include - -namespace Raul { class Atom; namespace RDF { class World; } } -namespace Ingen { namespace Shared { class EngineInterface; } } - -namespace Ingen { -namespace Serialisation { - -typedef std::map Metadata; - -bool -load(SharedPtr engine, - Raul::RDF::World* world, - const Glib::ustring& uri, - boost::optional parent, - std::string patch_name, - Glib::ustring patch_uri = "", - Metadata data = Metadata()); - - -} // namespace Serialisation -} // namespace Ingen - -#endif // LOADER_H diff --git a/src/libs/client/Makefile.am b/src/libs/client/Makefile.am index b226c381..1a0aa61d 100644 --- a/src/libs/client/Makefile.am +++ b/src/libs/client/Makefile.am @@ -1,23 +1,20 @@ if BUILD_CLIENT_LIB -noinst_LTLIBRARIES = libingenclient.la +noinst_LTLIBRARIES = libingen_client.la -libingenclient_la_CXXFLAGS = @RAUL_CFLAGS@ @SLV2_CFLAGS@ @LXML2_CFLAGS@ @RASQAL_CFLAGS@ @RAPTOR_CFLAGS@ @LSIGCPP_CFLAGS@ @GLIBMM_CFLAGS@ -I$(top_srcdir)/src/common -DPKGDATADIR=\"$(pkgdatadir)\" +libingen_client_la_CXXFLAGS = @RAUL_CFLAGS@ @SLV2_CFLAGS@ @LXML2_CFLAGS@ @RASQAL_CFLAGS@ @RAPTOR_CFLAGS@ @LSIGCPP_CFLAGS@ @GLIBMM_CFLAGS@ -I$(top_srcdir)/src/common -DPKGDATADIR=\"$(pkgdatadir)\" -libingenclient_la_LIBADD = @RAUL_LIBS@ @SLV2_LIBS@ @LXML2_LIBS@ @LOSC_LIBS@ @RASQAL_LIBS@ @RAPTOR_LIBS@ @LSIGCPP_LIBS@ @GLIBMM_LIBS@ +libingen_client_la_LIBADD = @RAUL_LIBS@ @SLV2_LIBS@ @LXML2_LIBS@ @LOSC_LIBS@ @RASQAL_LIBS@ @RAPTOR_LIBS@ @LSIGCPP_LIBS@ @GLIBMM_LIBS@ -libingenclient_la_SOURCES = \ +libingen_client_la_SOURCES = \ OSCEngineSender.h \ OSCEngineSender.cpp \ - OSCModelEngineInterface.h \ OSCClientReceiver.h \ OSCClientReceiver.cpp \ SigClientInterface.h \ DirectSigClientInterface.h \ ThreadedSigClientInterface.h \ ThreadedSigClientInterface.cpp \ - ModelEngineInterface.h \ - ModelEngineInterface.cpp \ PresetModel.h \ ControlModel.h \ ObjectModel.h \ @@ -31,8 +28,6 @@ libingenclient_la_SOURCES = \ PluginModel.cpp \ Serializer.h \ Serializer.cpp \ - Loader.h \ - Loader.cpp \ DeprecatedLoader.h \ DeprecatedLoader.cpp \ ConnectionModel.h \ diff --git a/src/libs/client/ModelEngineInterface.cpp b/src/libs/client/ModelEngineInterface.cpp deleted file mode 100644 index 9401a937..00000000 --- a/src/libs/client/ModelEngineInterface.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "ModelEngineInterface.h" -#include "PatchModel.h" -#include "PresetModel.h" - -namespace Ingen { -namespace Client { - - -/** Load a node. - */ -void -ModelEngineInterface::create_node_with_data(const string& plugin_uri, - const Path& path, - bool is_polyphonic, - const MetadataMap& initial_data) -{ - // Load by URI - if (plugin_uri.length() > 0) { - create_node(path, plugin_uri, is_polyphonic); - - // Load by libname, label - } else { - cerr << "FIXME: non-uri" << endl; - #if 0 - //assert(nm->plugin()->lib_name().length() > 0); - assert(nm->plugin()->plug_label().length() > 0); - - create_node(nm->path(), - nm->plugin()->type_string(), - nm->plugin()->lib_name().c_str(), - nm->plugin()->plug_label().c_str(), - nm->polyphonic()); - #endif - } - - set_metadata_map(path, initial_data); -} - - -/** Create a patch. - */ -void -ModelEngineInterface::create_patch_with_data(const Path& path, size_t poly, const MetadataMap& data) -{ - create_patch(path, poly); - set_metadata_map(path, data); -} - - -void -ModelEngineInterface::create_port_with_data(const Path& path, - const string& data_type, - bool direction, - const MetadataMap& data) -{ - create_port(path, data_type, direction); - set_metadata_map(path, data); -} - -/** Set all pieces of metadata in a map. - */ -void -ModelEngineInterface::set_metadata_map(const Path& subject, const MetadataMap& data) -{ - for (MetadataMap::const_iterator i = data.begin(); i != data.end(); ++i) - set_metadata(subject, i->first, i->second); -} - - -/** Set a preset by setting all relevant controls for a patch. - */ -void -ModelEngineInterface::set_preset(const Path& patch_path, const PresetModel* const pm) -{ - for (list::const_iterator i = pm->controls().begin(); i != pm->controls().end(); ++i) { - set_port_value_queued((*i).port_path(), (*i).value()); - } -} - - -} // namespace Client -} // namespace Ingen diff --git a/src/libs/client/ModelEngineInterface.h b/src/libs/client/ModelEngineInterface.h deleted file mode 100644 index d93d6564..00000000 --- a/src/libs/client/ModelEngineInterface.h +++ /dev/null @@ -1,72 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef MODELENGINEINTERFACE_H -#define MODELENGINEINTERFACE_H - -#include -#include -#include "interface/EngineInterface.h" -#include "ObjectModel.h" -using std::string; - -class Path; - -/** \defgroup IngenClient Client Library */ -namespace Ingen { -namespace Client { - -class ObjectModel; -class NodeModel; -class PresetModel; -class PatchModel; - - -/** Model-based engine command interface. - * - * \ingroup IngenClient - */ -class ModelEngineInterface : public virtual Shared::EngineInterface -{ -public: - virtual ~ModelEngineInterface() {} - - virtual void create_patch_with_data(const Path& path, - size_t poly, - const MetadataMap& initial_data); - - virtual void create_node_with_data(const string& plugin_uri, - const Path& path, - bool is_polyphonicc, - const MetadataMap& initial_data); - - virtual void create_port_with_data(const Path& path, - const string& data_type, - bool direction, - const MetadataMap& data); - - virtual void set_metadata_map(const Path& subject, const MetadataMap& data); - virtual void set_preset(const Path& patch_path, const PresetModel* pm); - -protected: - ModelEngineInterface() {} -}; - -} // namespace Client -} // namespace Ingen - -#endif // MODELENGINEINTERFACE_H diff --git a/src/libs/client/NodeModel.h b/src/libs/client/NodeModel.h index 2dd96f35..f8866f15 100644 --- a/src/libs/client/NodeModel.h +++ b/src/libs/client/NodeModel.h @@ -25,8 +25,8 @@ #include #include "ObjectModel.h" #include "PortModel.h" -#include "raul/Path.h" -#include "raul/SharedPtr.h" +#include +#include #include "PluginModel.h" using std::string; using std::map; using std::find; diff --git a/src/libs/client/OSCClientReceiver.cpp b/src/libs/client/OSCClientReceiver.cpp index 7545b141..d56b8f2e 100644 --- a/src/libs/client/OSCClientReceiver.cpp +++ b/src/libs/client/OSCClientReceiver.cpp @@ -16,7 +16,7 @@ */ #include "OSCClientReceiver.h" -#include "raul/AtomLiblo.h" +#include #include #include #include diff --git a/src/libs/client/OSCEngineSender.cpp b/src/libs/client/OSCEngineSender.cpp index 11bbc3d7..6ebf8df0 100644 --- a/src/libs/client/OSCEngineSender.cpp +++ b/src/libs/client/OSCEngineSender.cpp @@ -18,7 +18,7 @@ #include #include "OSCEngineSender.h" #include "interface/ClientKey.h" -#include "raul/AtomLiblo.h" +#include using std::cout; using std::cerr; using std::endl; namespace Ingen { diff --git a/src/libs/client/OSCModelEngineInterface.h b/src/libs/client/OSCModelEngineInterface.h deleted file mode 100644 index a4a19c95..00000000 --- a/src/libs/client/OSCModelEngineInterface.h +++ /dev/null @@ -1,42 +0,0 @@ -/* This file is part of Ingen. - * Copyright (C) 2007 Dave Robillard - * - * Ingen is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * Ingen is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef OSCMODELENGINEINTERFACE_H -#define OSCMODELENGINEINTERFACE_H - -#include -#include "OSCEngineSender.h" -#include "ModelEngineInterface.h" - -using std::string; - -/** \defgroup IngenClient Client Library */ -namespace Ingen { -namespace Client { - - -class OSCModelEngineInterface : public OSCEngineSender, public ModelEngineInterface -{ -public: - OSCModelEngineInterface(const string& engine_url) : OSCEngineSender(engine_url) {} -}; - - -} // namespace Client -} // namespace Ingen - -#endif // OSCMODELENGINEINTERFACE_H diff --git a/src/libs/client/ObjectModel.h b/src/libs/client/ObjectModel.h index 882ff911..d388475a 100644 --- a/src/libs/client/ObjectModel.h +++ b/src/libs/client/ObjectModel.h @@ -26,9 +26,9 @@ #include #include #include -#include "raul/Atom.h" -#include "raul/Path.h" -#include "raul/SharedPtr.h" +#include +#include +#include using std::string; using std::map; using std::find; using std::cout; using std::cerr; using std::endl; diff --git a/src/libs/client/PatchModel.h b/src/libs/client/PatchModel.h index c55bce89..faceef72 100644 --- a/src/libs/client/PatchModel.h +++ b/src/libs/client/PatchModel.h @@ -24,7 +24,7 @@ #include #include #include "NodeModel.h" -#include "raul/SharedPtr.h" +#include #include "ConnectionModel.h" using std::list; using std::string; using std::map; diff --git a/src/libs/client/PluginModel.h b/src/libs/client/PluginModel.h index aba4d1cf..20777bd9 100644 --- a/src/libs/client/PluginModel.h +++ b/src/libs/client/PluginModel.h @@ -21,8 +21,8 @@ #include "../../../config.h" #include #include -#include "raul/Path.h" -#include "raul/SharedPtr.h" +#include +#include #ifdef HAVE_SLV2 #include #endif diff --git a/src/libs/client/PortModel.h b/src/libs/client/PortModel.h index 15a381d4..139e2a97 100644 --- a/src/libs/client/PortModel.h +++ b/src/libs/client/PortModel.h @@ -24,8 +24,8 @@ #include #include #include "ObjectModel.h" -#include "raul/SharedPtr.h" -#include "raul/Path.h" +#include +#include using std::string; using std::list; using std::cerr; using std::endl; namespace Ingen { diff --git a/src/libs/client/Serializer.cpp b/src/libs/client/Serializer.cpp index 85a13331..4a746ae1 100644 --- a/src/libs/client/Serializer.cpp +++ b/src/libs/client/Serializer.cpp @@ -33,13 +33,13 @@ #include #include #include +#include "interface/EngineInterface.h" #include "Serializer.h" #include "PatchModel.h" #include "NodeModel.h" #include "ConnectionModel.h" #include "PortModel.h" #include "PresetModel.h" -#include "ModelEngineInterface.h" #include "PluginModel.h" using namespace std; diff --git a/src/libs/client/Serializer.h b/src/libs/client/Serializer.h index ad91afac..ee7d3dff 100644 --- a/src/libs/client/Serializer.h +++ b/src/libs/client/Serializer.h @@ -39,7 +39,6 @@ class NodeModel; class PortModel; class ConnectionModel; class PresetModel; -class ModelEngineInterface; /** Serializes Ingen objects (patches, nodes, etc) to RDF. diff --git a/src/libs/client/Store.h b/src/libs/client/Store.h index 2059f55f..e481fc2d 100644 --- a/src/libs/client/Store.h +++ b/src/libs/client/Store.h @@ -22,10 +22,10 @@ #include #include #include -#include "raul/SharedPtr.h" +#include #include -#include "raul/Path.h" -#include "raul/Atom.h" +#include +#include #include "interface/EngineInterface.h" using std::string; using std::map; using std::list; using Ingen::Shared::EngineInterface; diff --git a/src/libs/client/ThreadedSigClientInterface.h b/src/libs/client/ThreadedSigClientInterface.h index c0b1ce73..d0cb4e89 100644 --- a/src/libs/client/ThreadedSigClientInterface.h +++ b/src/libs/client/ThreadedSigClientInterface.h @@ -23,8 +23,8 @@ #include #include "interface/ClientInterface.h" #include "SigClientInterface.h" -#include "raul/SRSWQueue.h" -#include "raul/Atom.h" +#include +#include using std::string; /** Returns nothing and takes no parameters (because they have all been bound) */ -- cgit v1.2.1