Browse Source

carla-discovery: misc fixing

tags/v0.9.0
falkTX 12 years ago
parent
commit
a952933384
1 changed files with 24 additions and 13 deletions
  1. +24
    -13
      c++/carla-discovery/carla-discovery.cpp

+ 24
- 13
c++/carla-discovery/carla-discovery.cpp View File

@@ -297,11 +297,7 @@ void do_ladspa_check(void* const libHandle, const bool init)
} }


LADSPA_Data bufferAudio[bufferSize][audioTotal]; LADSPA_Data bufferAudio[bufferSize][audioTotal];
memset(bufferAudio, 0, sizeof(float)*bufferSize*audioTotal);

LADSPA_Data bufferParams[parametersTotal]; LADSPA_Data bufferParams[parametersTotal];
memset(bufferParams, 0, sizeof(float)*parametersTotal);

LADSPA_Data min, max, def; LADSPA_Data min, max, def;


for (unsigned long j=0, iA=0, iP=0; j < descriptor->PortCount; j++) for (unsigned long j=0, iA=0, iP=0; j < descriptor->PortCount; j++)
@@ -311,6 +307,7 @@ void do_ladspa_check(void* const libHandle, const bool init)


if (LADSPA_IS_PORT_AUDIO(portType)) if (LADSPA_IS_PORT_AUDIO(portType))
{ {
carla_zeroF(bufferAudio[iA], bufferSize);
descriptor->connect_port(handle, j, bufferAudio[iA++]); descriptor->connect_port(handle, j, bufferAudio[iA++]);
} }
else if (LADSPA_IS_PORT_CONTROL(portType)) else if (LADSPA_IS_PORT_CONTROL(portType))
@@ -334,7 +331,7 @@ void do_ladspa_check(void* const libHandle, const bool init)


if (max - min == 0.0f) if (max - min == 0.0f)
{ {
DISCOVERY_OUT("error", "Broken parameter: max - min == 0");
DISCOVERY_OUT("error", "Broken parameter '" << descriptor->PortNames[j] << "': max - min == 0");
max = min + 0.1f; max = min + 0.1f;
} }


@@ -370,7 +367,8 @@ void do_ladspa_check(void* const libHandle, const bool init)
if (descriptor->activate) if (descriptor->activate)
descriptor->activate(handle); descriptor->activate(handle);


descriptor->run(handle, bufferSize);
if (descriptor->run)
descriptor->run(handle, bufferSize);


if (descriptor->deactivate) if (descriptor->deactivate)
descriptor->deactivate(handle); descriptor->deactivate(handle);
@@ -478,18 +476,14 @@ void do_dssi_check(void* const libHandle, const bool init)
} }


// we can only get program info per-handle // we can only get program info per-handle
if (descriptor->get_program)
if (descriptor->get_program && descriptor->select_program)
{ {
while ((descriptor->get_program(handle, programsTotal++))) while ((descriptor->get_program(handle, programsTotal++)))
continue; continue;
} }


LADSPA_Data bufferAudio[bufferSize][audioTotal]; LADSPA_Data bufferAudio[bufferSize][audioTotal];
memset(bufferAudio, 0, sizeof(float)*bufferSize*audioTotal);

LADSPA_Data bufferParams[parametersTotal]; LADSPA_Data bufferParams[parametersTotal];
memset(bufferParams, 0, sizeof(float)*parametersTotal);

LADSPA_Data min, max, def; LADSPA_Data min, max, def;


for (unsigned long j=0, iA=0, iP=0; j < ldescriptor->PortCount; j++) for (unsigned long j=0, iA=0, iP=0; j < ldescriptor->PortCount; j++)
@@ -499,6 +493,7 @@ void do_dssi_check(void* const libHandle, const bool init)


if (LADSPA_IS_PORT_AUDIO(portType)) if (LADSPA_IS_PORT_AUDIO(portType))
{ {
carla_zeroF(bufferAudio[iA], bufferSize);
ldescriptor->connect_port(handle, j, bufferAudio[iA++]); ldescriptor->connect_port(handle, j, bufferAudio[iA++]);
} }
else if (LADSPA_IS_PORT_CONTROL(portType)) else if (LADSPA_IS_PORT_CONTROL(portType))
@@ -522,7 +517,7 @@ void do_dssi_check(void* const libHandle, const bool init)


if (max - min == 0.0f) if (max - min == 0.0f)
{ {
DISCOVERY_OUT("error", "Broken parameter: max - min == 0");
DISCOVERY_OUT("error", "Broken parameter '" << ldescriptor->PortNames[j] << "': max - min == 0");
max = min + 0.1f; max = min + 0.1f;
} }


@@ -555,6 +550,16 @@ void do_dssi_check(void* const libHandle, const bool init)
} }
} }


// select first midi-program if available
if (programsTotal > 0)
{
const DSSI_Program_Descriptor* pDesc = descriptor->get_program(handle, 0);
CARLA_ASSERT(pDesc);

if (pDesc)
descriptor->select_program(handle, pDesc->Bank, pDesc->Program);
}

if (ldescriptor->activate) if (ldescriptor->activate)
ldescriptor->activate(handle); ldescriptor->activate(handle);


@@ -584,7 +589,7 @@ void do_dssi_check(void* const libHandle, const bool init)
else else
descriptor->run_synth(handle, bufferSize, midiEvents, midiEventCount); descriptor->run_synth(handle, bufferSize, midiEvents, midiEventCount);
} }
else
else if (ldescriptor->run)
ldescriptor->run(handle, bufferSize); ldescriptor->run(handle, bufferSize);


if (ldescriptor->deactivate) if (ldescriptor->deactivate)
@@ -661,6 +666,7 @@ void do_lv2_check(const char* const bundle, const bool init)
if (! libHandle) if (! libHandle)
{ {
print_lib_error(rdf_descriptor->Binary); print_lib_error(rdf_descriptor->Binary);
delete rdf_descriptor;
continue; continue;
} }


@@ -695,7 +701,10 @@ void do_lv2_check(const char* const bundle, const bool init)
} }


if (! supported) if (! supported)
{
delete rdf_descriptor;
continue; continue;
}
} }


int hints = 0; int hints = 0;
@@ -773,6 +782,8 @@ void do_lv2_check(const char* const bundle, const bool init)
DISCOVERY_OUT("parameters.outs", parametersOuts); DISCOVERY_OUT("parameters.outs", parametersOuts);
DISCOVERY_OUT("parameters.total", parametersTotal); DISCOVERY_OUT("parameters.total", parametersTotal);
DISCOVERY_OUT("build", BINARY_NATIVE); DISCOVERY_OUT("build", BINARY_NATIVE);

delete rdf_descriptor;
DISCOVERY_OUT("end", "------------"); DISCOVERY_OUT("end", "------------");
} }
#else #else


Loading…
Cancel
Save