diff options
author | Henri Herscher <henri@oreka.org> | 2007-03-29 01:17:15 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2007-03-29 01:17:15 +0000 |
commit | 95d5bdffead34d3c8024eea340abbfb045c6f8ed (patch) | |
tree | 15bd1d26e361018ec683b9fc6d9a308479504abe /orkaudio/OrkAudio.cpp | |
parent | 527c0d62a2dd51e879f8013c84ac49fdaa8cf4ab (diff) |
PluginsDirectory now tunable in config.xml.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@432 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/OrkAudio.cpp')
-rw-r--r-- | orkaudio/OrkAudio.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/orkaudio/OrkAudio.cpp b/orkaudio/OrkAudio.cpp index 45d0f54..a97dfc3 100644 --- a/orkaudio/OrkAudio.cpp +++ b/orkaudio/OrkAudio.cpp @@ -59,20 +59,29 @@ long ExceptionFilter(struct _EXCEPTION_POINTERS *ptr) void LoadPlugins(std::list<ACE_DLL>& pluginDlls) { + CStdString pluginsDirectory = CONFIG.m_pluginsDirectory; #ifdef WIN32 - CStdString pluginDirectory = "./plugins/"; + if(pluginsDirectory.size() == 0) + { + // default windows plugins directory + pluginsDirectory = "./plugins/"; + } CStdString pluginExtension = ".dll"; #else - CStdString pluginDirectory = "/usr/lib/orkaudio/plugins/"; + if(pluginsDirectory.size() == 0) + { + // default unix plugins directory + pluginsDirectory = "/usr/lib/orkaudio/plugins/"; + } CStdString pluginExtension = ".so"; #endif CStdString pluginPath; ACE_DLL dll; - ACE_DIR* dir = ACE_OS::opendir((PCSTR)pluginDirectory); + ACE_DIR* dir = ACE_OS::opendir((PCSTR)pluginsDirectory); if (!dir) { - LOG4CXX_ERROR(LOG.rootLog, CStdString("Plugin directory could not be found:" + pluginDirectory)); + LOG4CXX_ERROR(LOG.rootLog, CStdString("Plugins directory could not be found:" + pluginsDirectory + " check your config.xml")); } else { @@ -84,7 +93,7 @@ void LoadPlugins(std::list<ACE_DLL>& pluginDlls) if ( extensionPos != -1 && (dirEntryFilename.size() - extensionPos) == pluginExtension.size() ) { - pluginPath = pluginDirectory + dirEntry->d_name; + pluginPath = pluginsDirectory + "/" + dirEntry->d_name; dll.open((PCSTR)pluginPath); ACE_TCHAR* error = dll.error(); if(error) |