From a96166710faf2447ed10194d1829db5564b0dff9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 4 May 2007 03:59:38 +0000 Subject: Made engine, serialisation, client library, and GUI all dynamically loaded modules. Combined all executables into a single "ingen" program which can do everything. git-svn-id: http://svn.drobilla.net/lad/ingen@493 a436a847-0d15-0410-975c-d299462d15a1 --- src/progs/patch_loader/patch_loader.cpp | 110 -------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 src/progs/patch_loader/patch_loader.cpp (limited to 'src/progs/patch_loader/patch_loader.cpp') diff --git a/src/progs/patch_loader/patch_loader.cpp b/src/progs/patch_loader/patch_loader.cpp deleted file mode 100644 index 57bba0e0..00000000 --- a/src/progs/patch_loader/patch_loader.cpp +++ /dev/null @@ -1,110 +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 -#include "client/OSCEngineSender.h" -#include "client/PatchModel.h" -#include "module/Module.h" -#include "serialisation/serialisation.h" -#include "serialisation/Loader.h" -#include "cmdline.h" // generated by gengetopt - -using namespace std; -using namespace Ingen::Client; -using namespace Ingen::Serialisation; - - -int main(int argc, char** argv) -{ - const char* engine_url = NULL; - int client_port = 0; - - /* **** Parse command line options **** */ - - gengetopt_args_info args_info; - if (cmdline_parser (argc, argv, &args_info) != 0) - return 1; - - if (args_info.engine_url_given) { - engine_url = args_info.engine_url_arg; - } else { - cout << "[Main] No engine URL specified. Attempting to use osc.udp://localhost:16180" << endl; - engine_url = "osc.udp://localhost:16180"; - } - - if (args_info.client_port_given) - client_port = args_info.client_port_arg; - - - /* **** Mr. Spock.. Engage **** */ - - Raul::RDF::World rdf_world; - rdf_world.add_prefix("xsd", "http://www.w3.org/2001/XMLSchema#"); - rdf_world.add_prefix("ingen", "http://drobilla.net/ns/ingen#"); - rdf_world.add_prefix("ingenuity", "http://drobilla.net/ns/ingenuity#"); - rdf_world.add_prefix("lv2", "http://lv2plug.in/ontology#"); - rdf_world.add_prefix("rdfs", "http://www.w3.org/2000/01/rdf-schema#"); - rdf_world.add_prefix("doap", "http://usefulinc.com/ns/doap#"); - - SharedPtr engine(new OSCEngineSender(engine_url)); - - /* Connect to engine */ - engine->attach(-1, client_port); - engine->activate(); - //engine->register_client(NULL); // FIXME - - //int id = engine->get_next_request_id(); - //engine->set_wait_response_id(id); - //engine->load_plugins(id); - //engine->wait_for_response(); - /* FIXME: Make this work like this: - * engine->load_plugins(); - * engine->wait_for_response(); - */ - - SharedPtr module = Ingen::Shared::load_module("ingen_serialisation"); - - if (!module) { - cerr << "Unable to load ingen_serialisation module, exiting." << endl; - return -1; - } - - Loader* (*new_loader)() = NULL; - - bool found = module->get_symbol("new_loader", (void*&)new_loader); - - if (!found) { - cerr << "Unable to find module entry point, exiting." << endl; - return -1; - } - - SharedPtr loader(new_loader()); - - // Load patches - for (uint i=0; i < args_info.inputs_num; ++i) { - cerr << "FIXME: load patch under root" << endl; - cerr << "Load " << args_info.inputs[i] << endl; - loader->load(engine, &rdf_world, - string("file:") + args_info.inputs[i], Path("/"), ""); - } - - return 0; -} -- cgit v1.2.1