--90e6ba6e8edea28b6f04b89e40fe
Content-Type: text/plain; charset=ISO-8859-1Hey all,
I'm currently trying to fix the reverb in Luppp and I'm running into a
rather strange bug:
I have an array of floats that is used to set the plugins parameters: its
called controlBuffer.
The following code connects the ports to the addresses of the float buffer.The crazy thing is: The print outs before & after the connect ports are
different!
I don't understand how this is possible, but perhaps I'm missing something
LADSPA.cout << "Decay: " << controlBuffer[4] << " Wet: " << controlBuffer[8]
<< " Dry: " << controlBuffer[9]
<< " preDelay: " << controlBuffer[10] << " highDamp " <<
controlBuffer[5] << endl;descriptor -> connect_port ( pluginHandle , 0 , buffer );
descriptor -> connect_port ( pluginHandle , 1 , buffer );
descriptor -> connect_port ( pluginHandle , 2 , &outputBuffer[0] );
descriptor -> connect_port ( pluginHandle , 3 , &outputBufferR[0] );descriptor -> connect_port ( pluginHandle , 4, &controlBuffer[4] );
descriptor -> connect_port ( pluginHandle , 5, &controlBuffer[5] );
descriptor -> connect_port ( pluginHandle , 6, &controlBuffer[6] );
descriptor -> connect_port ( pluginHandle , 7, &controlBuffer[7] );
descriptor -> connect_port ( pluginHandle , 8, &controlBuffer[8] );
descriptor -> connect_port ( pluginHandle , 9, &controlBuffer[9] );
descriptor -> connect_port ( pluginHandle ,10, &controlBuffer[10] );
descriptor -> connect_port ( pluginHandle ,11, &controlBuffer[11] );
descriptor -> connect_port ( pluginHandle ,12, &controlBuffer[12] );cout << "Decay: " << controlBuffer[4] << " Wet: " << controlBuffer[8]
<< " Dry: " << controlBuffer[9]
<< " preDelay: " << controlBuffer[10] << " highDamp " <<
controlBuffer[5] << endl;Example Output:
Decay: 4.7685 Wet: 0.70709 Dry: 0.696707 preDelay: 50 highDamp 0
Decay: 1.5 Wet: 0.25 Dry: 1 preDelay: 0 highDamp 5000The problem is that the reverb plugin doesn't react to my input parameters,
but just processes based
on the 1.5, 0.25 wet, preDelay 0, and highDamp 5000 *all* the time, and
there's nothing I can do about it.Am I doing something fundamentally wrong? I've tried connecting the ports
every process(), once, and then leave them.
I've hard coded values, it seems to make no difference.These are the two relevant sources:
https://github.com/harryhaaren/Luppp/blob/master/src/ladspahost.hpp
https://github.com/harryhaaren/Luppp/blob/master/src/ladspahost.cppHelp appreciated! -Harry
--90e6ba6e8edea28b6f04b89e40fe
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printableHey all,I'm currently trying to fix the reverb in Luppp and I&#=
39;m running into a rather strange bug:I have an array of floats that i=
s used to set the plugins parameters: its called controlBuffer.The foll=
owing code connects the ports to the addresses of the float buffer.
The crazy thing is: The print outs before & after the connect ports=
are different!I don't understand how this is possible, but perhaps=
I'm missing something LADSPA.=A0=A0=A0 cout << "Dec=
ay: " << controlBuffer[4] << "=A0 Wet: " <<=
; controlBuffer[8] << "=A0 Dry: " << controlBuffer[9]==A0=A0=A0=A0=A0=A0=A0=A0 << "=A0 preDelay: " << contr=
olBuffer[10] << "=A0 highDamp " << controlBuffer[5] &=
lt;< endl;=A0=A0=A0 =A0=A0=A0 descriptor -> connect_port ( pl=
uginHandle , 0=A0 , buffer );
=A0=A0=A0 descriptor -> connect_port ( pluginHandle , 1=A0 , buffer );=A0=A0=A0 descriptor -> connect_port ( pluginHandle , 2 , &outputB=
uffer[0] );=A0=A0=A0 descriptor -> connect_port ( pluginHandle , 3 ,=
&outputBufferR[0] );
=A0=A0=A0 =A0=A0=A0 descriptor -> connect_port ( pluginHandle , 4, &=
amp;controlBuffer[4] );=A0=A0=A0 descriptor -> connect_port ( plugin=
Handle , 5, &controlBuffer[5] );=A0=A0=A0 descriptor -> connect_=
port ( pluginHandle , 6, &controlBuffer[6] );
=A0=A0=A0 descriptor -> connect_port ( pluginHandle , 7, &controlBuf=
fer[7] );=A0=A0=A0 descriptor -> connect_port ( pluginHandle , 8, &a=
mp;controlBuffer[8] );=A0=A0=A0 descriptor -> connect_port ( pluginH=
andle , 9, &controlBuffer[9] );
=A0=A0=A0 descriptor -> connect_port ( pluginHandle ,10, &controlBuf=
fer[10] );=A0=A0=A0 descriptor -> connect_port ( pluginHandle ,11, &=
amp;controlBuffer[11] );=A0=A0=A0 descriptor -> connect_port ( plugi=
nHandle ,12, &controlBuffer[12] );
=A0=A0=A0 =A0=A0=A0 cout << "Decay: " << controlB=
uffer[4] << "=A0 Wet: " << controlBuffer[8] << =
"=A0 Dry: " << controlBuffer[9]=A0=A0=A0=A0=A0=A0=A0=A0=
<< "=A0 preDelay: " << controlBuffer[10] << &q=
uot;=A0 highDamp " << controlBuffer[5] << endl;
Example Output:Decay: 4.7685=A0 Wet: 0.70709=A0 Dry: 0.696707=A0 pr=
eDelay: 50=A0 highDamp 0Decay: 1.5=A0 Wet: 0.25=A0 Dry: 1=A0 preDelay: =
0=A0 highDamp 5000The problem is that the reverb plugin doesn't=
react to my input parameters, but just processes based
on the 1.5, 0.25 wet, preDelay 0, and highDamp 5000 *all* the time, and the=
re's nothing I can do about it.Am I doing something fundamental=
ly wrong? I've tried connecting the ports every process(), once, and th=
en leave them.
I've hard coded values, it seems to make no difference.These ar=
e the two relevant sources:https://github.com/harryhaaren/Luppp/bl=
ob/master/src/ladspahost.hpp
https://github.com/harryhaaren/Luppp/blob/master/src/ladspahost.cppHelp appreciated! -Harry--90e6ba6e8edea28b6f04b89e40fe--
LINUX® is a registered trademark of Linus Torvalds in the USA and other countries.
Linuxaudio.org logo copyright Thorsten Wilms © 2006.
Hosting provided by the Virginia Tech Department of Music and DISIS.