summaryrefslogtreecommitdiffstats
path: root/src/module/Module.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
committerDavid Robillard <d@drobilla.net>2009-12-19 21:37:50 +0000
commit19045ab92aa7e996971584a0dc8780d1d58b498b (patch)
tree619c73deb7fd64ce31c5167490d1ae186dbb2695 /src/module/Module.cpp
parent4613a2e15f1122ecf6830171de0ab18dc22fefff (diff)
downloadingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.gz
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.tar.bz2
ingen-19045ab92aa7e996971584a0dc8780d1d58b498b.zip
New ingen module (library, not e.g. LV2 plugin) design.
Much cleaner interface and general usage of Ingen as a library. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@2314 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/module/Module.cpp')
-rw-r--r--src/module/Module.cpp91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/module/Module.cpp b/src/module/Module.cpp
deleted file mode 100644
index 2e2c71a7..00000000
--- a/src/module/Module.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/* This file is part of Ingen.
- * Copyright (C) 2007-2009 Dave Robillard <http://drobilla.net>
- *
- * 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 <string>
-#include <sstream>
-#include <iostream>
-#include <glibmm/module.h>
-#include <glibmm/miscutils.h>
-#include <glibmm/fileutils.h>
-#include "ingen-config.h"
-#include "raul/SharedPtr.hpp"
-#include "shared/runtime_paths.hpp"
-
-using namespace std;
-
-namespace Ingen {
-namespace Shared {
-
-
-/** Load a dynamic module from the default path.
- *
- * This will check in the directories specified in the environment variable
- * INGEN_MODULE_PATH (typical colon delimited format), then the default module
- * installation directory (ie /usr/local/lib/ingen), in that order.
- *
- * \param name The base name of the module, e.g. "ingen_serialisation"
- */
-SharedPtr<Glib::Module>
-load_module(const string& name)
-{
- Glib::Module* module = NULL;
-
- // Search INGEN_MODULE_PATH first
- bool module_path_found;
- string module_path = Glib::getenv("INGEN_MODULE_PATH", module_path_found);
- if (module_path_found) {
- string dir;
- istringstream iss(module_path);
- while (getline(iss, dir, ':')) {
- string filename = Glib::Module::build_path(dir, name);
- if (Glib::file_test(filename, Glib::FILE_TEST_EXISTS)) {
- module = new Glib::Module(filename, Glib::MODULE_BIND_LAZY);
- if (*module) {
- cerr << "[Module] Loaded \"" << name << "\" from " << filename << endl;
- return SharedPtr<Glib::Module>(module);
- } else {
- delete module;
- cerr << Glib::Module::get_last_error() << endl;
- }
- }
- }
- }
-
- // Try default directory if not found
- module = new Glib::Module(
- Shared::module_path(name),
- Glib::MODULE_BIND_LAZY);
-
- if (*module) {
- cerr << "[Module] Loaded \"" << name << "\" from " << INGEN_MODULE_DIR << endl;
- return SharedPtr<Glib::Module>(module);
- } else if (!module_path_found) {
- cerr << "[Module] Unable to find " << name
- << " (" << Glib::Module::get_last_error() << ")" << endl;
- return SharedPtr<Glib::Module>();
- } else {
- cerr << "[Module] Unable to load " << name << " from " << module_path
- << " (" << Glib::Module::get_last_error() << ")" << endl;
- cerr << "Is Ingen installed? Use ./ingen.dev to run from the source tree." << endl;
- return SharedPtr<Glib::Module>();
- }
-}
-
-
-} // namespace Shared
-} // namespace Ingen
-