Browse Source

Added option to supply paths and override LADSPA_PATH

master
waxfrenzy 22 years ago
parent
commit
a4a57ae3e5
2 changed files with 14 additions and 10 deletions
  1. +13
    -9
      SpiralSound/Plugins/LADSPAPlugin/LADSPAPlugin.C
  2. +1
    -1
      SpiralSound/Plugins/LADSPAPlugin/LADSPAPlugin.h

+ 13
- 9
SpiralSound/Plugins/LADSPAPlugin/LADSPAPlugin.C View File

@@ -48,6 +48,8 @@ int GetID()


LADSPAPlugin::LADSPAPlugin() LADSPAPlugin::LADSPAPlugin()
{ {
m_LADSPAInfo = new LADSPAInfo(false, "");

m_PlugDesc = NULL; m_PlugDesc = NULL;


ClearPlugin(); ClearPlugin();
@@ -61,7 +63,7 @@ LADSPAPlugin::LADSPAPlugin()
m_PluginInfo.NumOutputs=1; m_PluginInfo.NumOutputs=1;
m_PluginInfo.PortTips.push_back("Nuffink yet"); m_PluginInfo.PortTips.push_back("Nuffink yet");


m_MaxInputPortCount = m_LADSPAInfo.GetMaxInputPortCount();
m_MaxInputPortCount = m_LADSPAInfo->GetMaxInputPortCount();


// For receiving from GUI // For receiving from GUI
m_AudioCH->RegisterData("SetPluginIndex", ChannelHandler::INPUT,&(m_InData.PluginIndex), sizeof(m_InData.PluginIndex)); m_AudioCH->RegisterData("SetPluginIndex", ChannelHandler::INPUT,&(m_InData.PluginIndex), sizeof(m_InData.PluginIndex));
@@ -106,6 +108,8 @@ LADSPAPlugin::~LADSPAPlugin()
if (m_OutData.InputPortSettings) free(m_OutData.InputPortSettings); if (m_OutData.InputPortSettings) free(m_OutData.InputPortSettings);
if (m_OutData.InputPortValues) free(m_OutData.InputPortValues); if (m_OutData.InputPortValues) free(m_OutData.InputPortValues);
if (m_OutData.InputPortDefaults) free(m_OutData.InputPortDefaults); if (m_OutData.InputPortDefaults) free(m_OutData.InputPortDefaults);

delete m_LADSPAInfo;
} }


PluginInfo &LADSPAPlugin::Initialise(const HostInfo *Host) PluginInfo &LADSPAPlugin::Initialise(const HostInfo *Host)
@@ -119,7 +123,7 @@ PluginInfo &LADSPAPlugin::Initialise(const HostInfo *Host)
SpiralGUIType *LADSPAPlugin::CreateGUI() SpiralGUIType *LADSPAPlugin::CreateGUI()
{ {
return new LADSPAPluginGUI(m_PluginInfo.Width, m_PluginInfo.Height, return new LADSPAPluginGUI(m_PluginInfo.Width, m_PluginInfo.Height,
this, m_AudioCH, m_HostInfo, m_LADSPAInfo.GetPluginList());
this, m_AudioCH, m_HostInfo, m_LADSPAInfo->GetPluginList());
} }


void LADSPAPlugin::Execute() void LADSPAPlugin::Execute()
@@ -196,7 +200,7 @@ void LADSPAPlugin::ExecuteCommands()
break; break;
case (SELECTPLUGIN): case (SELECTPLUGIN):
{ {
vector<LADSPAInfo::PluginEntry> pe = m_LADSPAInfo.GetPluginList();
vector<LADSPAInfo::PluginEntry> pe = m_LADSPAInfo->GetPluginList();
UpdatePlugin(pe[m_InData.PluginIndex - 1].UniqueID); UpdatePlugin(pe[m_InData.PluginIndex - 1].UniqueID);
} }
break; break;
@@ -662,7 +666,7 @@ void LADSPAPlugin::StreamIn(istream &s)
if (Filename!="None") if (Filename!="None")
{ {
// Get Unique ID from filename and label // Get Unique ID from filename and label
UniqueID = m_LADSPAInfo.GetIDFromFilenameAndLabel(Filename, Label);
UniqueID = m_LADSPAInfo->GetIDFromFilenameAndLabel(Filename, Label);
} }
} }
break; break;
@@ -703,7 +707,7 @@ void LADSPAPlugin::StreamIn(istream &s)
if (Filename!="None") if (Filename!="None")
{ {
// Get Unique ID from filename and label // Get Unique ID from filename and label
UniqueID = m_LADSPAInfo.GetIDFromFilenameAndLabel(Filename, Label);
UniqueID = m_LADSPAInfo->GetIDFromFilenameAndLabel(Filename, Label);
} }
} }
break; break;
@@ -719,7 +723,7 @@ void LADSPAPlugin::StreamIn(istream &s)
if (Filename!="None") if (Filename!="None")
{ {
// Get Unique ID from filename and label // Get Unique ID from filename and label
UniqueID = m_LADSPAInfo.GetIDFromFilenameAndLabel(Filename, Label);
UniqueID = m_LADSPAInfo->GetIDFromFilenameAndLabel(Filename, Label);
} }
} }
break; break;
@@ -758,13 +762,13 @@ bool LADSPAPlugin::SelectPlugin(unsigned long UniqueID)
// Reject trivial case // Reject trivial case
if (UniqueID == 0) return false; if (UniqueID == 0) return false;


m_PlugDesc = m_LADSPAInfo.GetDescriptorByID(UniqueID, true);
m_PlugDesc = m_LADSPAInfo->GetDescriptorByID(UniqueID, true);


if (m_PlugDesc) { if (m_PlugDesc) {
// Create instance // Create instance
if (!(m_PlugInstHandle = m_PlugDesc->instantiate(m_PlugDesc, m_HostInfo->SAMPLERATE))) { if (!(m_PlugInstHandle = m_PlugDesc->instantiate(m_PlugDesc, m_HostInfo->SAMPLERATE))) {
cerr << "WARNING: Could not instantiate plugin " << UniqueID << endl; cerr << "WARNING: Could not instantiate plugin " << UniqueID << endl;
m_LADSPAInfo.UnloadLibraryByID(UniqueID);
m_LADSPAInfo->UnloadLibraryByID(UniqueID);
m_PlugDesc = 0; m_PlugDesc = 0;
return false; return false;
} }
@@ -848,7 +852,7 @@ bool LADSPAPlugin::SelectPlugin(unsigned long UniqueID)
UpdatePluginInfoWithHost(); UpdatePluginInfoWithHost();


m_UniqueID = m_PlugDesc->UniqueID; m_UniqueID = m_PlugDesc->UniqueID;
m_PluginIndex = m_LADSPAInfo.GetPluginListEntryByID(m_UniqueID) + 1;
m_PluginIndex = m_LADSPAInfo->GetPluginListEntryByID(m_UniqueID) + 1;
m_InputPortCount = m_PluginInfo.NumInputs; m_InputPortCount = m_PluginInfo.NumInputs;


int lbl_length; int lbl_length;


+ 1
- 1
SpiralSound/Plugins/LADSPAPlugin/LADSPAPlugin.h View File

@@ -106,7 +106,7 @@ private:
int m_Version; int m_Version;


// our database of ladspa plugins // our database of ladspa plugins
LADSPAInfo m_LADSPAInfo;
LADSPAInfo *m_LADSPAInfo;


unsigned long m_PluginIndex; unsigned long m_PluginIndex;
unsigned long m_UniqueID; unsigned long m_UniqueID;


Loading…
Cancel
Save