summaryrefslogtreecommitdiff
path: root/orkaudio/OrkAudio.cpp
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2007-03-29 01:17:15 +0000
committerHenri Herscher <henri@oreka.org>2007-03-29 01:17:15 +0000
commit95d5bdffead34d3c8024eea340abbfb045c6f8ed (patch)
tree15bd1d26e361018ec683b9fc6d9a308479504abe /orkaudio/OrkAudio.cpp
parent527c0d62a2dd51e879f8013c84ac49fdaa8cf4ab (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.cpp19
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)