Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Joern Nettingsmeier
for the record, caps 0.1.3 builds without problems on suse 9.0 / 
ia32. too tired to test the plugs tonight

Tim Goetze wrote:
many thanks for your patience in sorting all this out, also to Paul
and CK. my apologies offered for all the compiling trouble, i hope
you can still enjoy the actual contents of the package :)
tim

 latest is http://quitte.de/dsp/caps_0.1.3.tar.gz -

--
The handles of a craftsman's tools bespeak an absolute simplicity,
the plainest forms affording the greatest range of possibilities for
the user's hand.
That which is overdesigned, too highly specific, anticipates
outcome; the anticipation of outcome guarantees, if not failure, the
absence of grace.
- William Gibson, "All Tomorrow's Parties"
Jörn Nettingsmeier
Kurfürstenstr 49, 45138 Essen, Germany
http://spunk.dnsalias.org (my server)
http://www.linuxaudiodev.org (Linux Audio Developers)





Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Tim Goetze
[Fernando Pablo Lopez-Lezcano]

>With the two patches (patch and patch-two) it builds on RH9, RH8.0,
>RH7.3 and FC1 (woohoo! :-)

this makes me feel sooo relieved. thanks for taking the extra time
to build on 4 different systems.

>I get this warning:
>Reverb.cc: In constructor `Plate::Plate(double)':
>Reverb.cc:232: warning: passing `double' for argument 2 of `void
>   ModLattice::init(int, int)'
>Reverb.cc:233: warning: passing `double' for argument 2 of `void
>   ModLattice::init(int, int)'

this warning is fixed in the latest, too.

>Two details. A "make clean" leaves the sources in a non-compilable
>state, a subsequent make gets me this:
>
>make: *** No rule to make target
>`/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h', needed by
>`Cabinet.o'.  Stop.

fixed now (by stripping dependency info from the makefile on make
clean).

>The location of ladspa.h is assumed to be /usr/local/include, that is
>not true on my systems (/usr/include). Not a big deal, easily fixed by
>redoing the link at build time.

the tarball now has ladspa.h in its full glory, so this won't be a
problem anymore.

many thanks for your patience in sorting all this out, also to Paul
and CK. my apologies offered for all the compiling trouble, i hope
you can still enjoy the actual contents of the package :)

tim

 latest is http://quitte.de/dsp/caps_0.1.3.tar.gz -


Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Fernando Pablo Lopez-Lezcano
On Wed, 2004-02-18 at 12:50, Tim Goetze wrote:
> >I read:
> >> can you try the attached patch please?
> >
> >works with gcc-3.2, but not 3.3:
> >In file included from Eq.h:4,
> > from Eq.cc:31:
> >dsp/Eq.h:167:46: missing terminating " character
> >dsp/Eq.h:181:57: missing terminating " character
> >dsp/Eq.h:185:46: missing terminating " character
> >dsp/Eq.h:194:57: missing terminating " character
> >dsp/Eq.h:199:38: missing terminating " character
> >dsp/Eq.h:205:82: missing terminating " character
> >make: *** [Eq.o] Error 1
> 
> ah, glad to hear it gets better, thanks.
> 
> to cure this, can you try the patch attached please?

With the two patches (patch and patch-two) it builds on RH9, RH8.0,
RH7.3 and FC1 (woohoo! :-)

I get this warning:
Reverb.cc: In constructor `Plate::Plate(double)':
Reverb.cc:232: warning: passing `double' for argument 2 of `void
   ModLattice::init(int, int)'
Reverb.cc:233: warning: passing `double' for argument 2 of `void
   ModLattice::init(int, int)'

Two details. A "make clean" leaves the sources in a non-compilable
state, a subsequent make gets me this:

make: *** No rule to make target
`/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include/stddef.h', needed by
`Cabinet.o'.  Stop.

The location of ladspa.h is assumed to be /usr/local/include, that is
not true on my systems (/usr/include). Not a big deal, easily fixed by
redoing the link at build time. 

-- Fernando




Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Tim Goetze
>I read:
>> can you try the attached patch please?
>
>works with gcc-3.2, but not 3.3:
>In file included from Eq.h:4,
> from Eq.cc:31:
>dsp/Eq.h:167:46: missing terminating " character
>dsp/Eq.h:181:57: missing terminating " character
>dsp/Eq.h:185:46: missing terminating " character
>dsp/Eq.h:194:57: missing terminating " character
>dsp/Eq.h:199:38: missing terminating " character
>dsp/Eq.h:205:82: missing terminating " character
>make: *** [Eq.o] Error 1

ah, glad to hear it gets better, thanks.

to cure this, can you try the patch attached please?

tim--- caps-0.1.1/dsp/Eq.h Mon Feb 16 16:58:56 2004
+++ dsp/Eq.hWed Feb 18 21:45:38 2004
@@ -10,10 +10,6 @@
 #ifndef _DSP_EQ_H_
 #define _DSP_EQ_H_
 
-#ifndef __i386__
-# undef USE_SSE
-#endif
-
 namespace DSP {
 
 /* BANDS must be a multiple of 4 to enable the use of SSE instructions.
@@ -101,7 +97,6 @@
a[i] = b[i] = c[i] = 0;
}
 
-#ifndef USE_SSE
/* per-band recursion:
 *  y = 2 * (a * (x - x[-2]) + c * y[-1] - b * y[-2]) 
 */
@@ -127,86 +122,6 @@
 
return r;
}
-#else /* do USE_SSE */
-   /* parallelized version of above. 
-*
-* FIXME: make asm work with -funroll-loops and the BANDS parameter
-*
-* per-band recursion:
-*  y = 2 * (a * (x - x[-2]) - b * y[-2] + c * y[-1]) 
-*/
-   d_sample process (d_sample s)
-   {
-   int z1 = h, z2 = h ^ 1;
-
-   float * y1 = y + z1 * BANDS;
-   float * y2 = y + z2 * BANDS;
-
-   /* load 0,0,0,0 into xmm4, holding the total sum */
-   asm ("xorps %xmm4, %xmm4"); 
-
-   /* load 2,2,2,2 into xmm3 */
-   asm ("movaps (%0), %%xmm3" : : "p" (two)); 
-
-   /* likewise, load (x - x[-2]) into xmm0 */
-   float x_x2 = s - x[z2];
-   asm ("movss %0, %%xmm0" : : "m" (x_x2)); 
-   asm ("shufps $0, %xmm0, %xmm0"); 
-
-   x[z2] = s;
-   h = z2;
-
-   /* this fails to compile with -funroll-loops */
-   for (int i = 0; i < BANDS; i += 4)
-   {
-   /* esi = y2 + i (we need it later) */
-   asm ("mov %0, %%esi" : : "p" (y2 + i) : 
"%esi");
-   /* edi = y1 + i (we need it later) */
-   asm ("mov %0, %%edi" : : "p" (y1 + i) : 
"%edi");
-   
-   asm ("
-   movaps %%xmm0, %%xmm1   /* x - 
x[-2] into xmm1 */
-   movl %0, %%eax 
 /* a + i into eax */
-   mulps (%%eax), %%xmm1  
 /* accu *= (x - x[-2]) */
-   addl %1, %%eax 
 /* eax += BANDS * sizeof (float) */
-   movaps (%%esi), %%xmm2  /* 
y[-2] into xmm2 */ 
-   mulps (%%eax), %%xmm2  
 /* xmm2 *= b */
-   addl %1, %%eax 
 /* eax += BANDS * sizeof (float) */
-   subps %%xmm2, %%xmm1/* 
accu -= xmm2 */
-   movaps (%%edi), %%xmm2  /* 
y[-1] into xmm2 */
-   mulps (%%eax), %%xmm2  
 /* xmm2 *= c + i */
-   addps %%xmm2, %%xmm1   
 /* accu += xmm2 */
-   mulps %%xmm3, %%xmm1   
 /* accu *= 2 */
-   movaps %%xmm1, (%%esi) 
 /* store accu into y */
-   " : 
-   : "p" (a + i), "i" (BANDS * 
sizeof (float)) 
-   : "%eax", "%esi", "%edi");
-
-   asm ("
-   mov %0, %%eax  
 /* eax = gain + i */
-

Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread CK
I read:
> can you try the attached patch please?

works with gcc-3.2, but not 3.3:
In file included from Eq.h:4,
 from Eq.cc:31:
dsp/Eq.h:167:46: missing terminating " character
dsp/Eq.h:181:57: missing terminating " character
dsp/Eq.h:185:46: missing terminating " character
dsp/Eq.h:194:57: missing terminating " character
dsp/Eq.h:199:38: missing terminating " character
dsp/Eq.h:205:82: missing terminating " character
make: *** [Eq.o] Error 1


regards,

x

-- 
[EMAIL PROTECTED]   Postmodernism is german romanticism with better
http://pilot.fm/special effects. (Jeff Keuss / via ctheory.com)


Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Tim Goetze
[Tim Goetze]

>[Fernando Pablo Lopez-Lezcano]
>
>>Using 0.1.1 (tried on redhat 9 and fedora core 1):
>>
>>g++ -Wall -O6 -ffast-math -funroll-loops -march=`uname -m` -mcpu=`uname
>>-m`  -I/usr/local/include -DVERSION=\"0.1.1\" -I/usr/local/include -c
>>Cabinet.cc
>>Descriptor.h: In member function `void Descriptor::autogen() [with T
>>=
>>   Cabinet]':
>>Cabinet.cc:168:   instantiated from here
>>Descriptor.h:36: type `Cabinet' is not a base type for type `
>>   Descriptor'
>>make: *** [Cabinet.o] Error 1
>
>drat. what does
>
>$ g++ --version
>
>say, please?
>
>i'm using gcc 2.95.4, and afraid it's a compiler issue. unfortunately
>i don't seem to have a more recent version at my disposal.

i dug up a copy of g++-3.0 and it does fail with a different error,
but in the same line.

can you try the attached patch please?

tim--- caps-0.1.1/Descriptor.h Tue Feb 17 23:57:33 2004
+++ Descriptor.hWed Feb 18 21:03:48 2004
@@ -33,19 +33,11 @@
 
void autogen() 
{
-   PortCount = sizeof (T::ports) / sizeof (LADSPA_Data *);
+   PortCount = (sizeof (T::port_info) / sizeof 
(PortInfo));
 
char ** names = new char * [PortCount];
LADSPA_PortDescriptor * desc = new 
LADSPA_PortDescriptor [PortCount];
LADSPA_PortRangeHint * ranges = new 
LADSPA_PortRangeHint [PortCount];
-
-   int port_infos = (int) (sizeof (T::port_info) / sizeof 
(PortInfo));
-   if (PortCount != (ulong) port_infos)
-   {
-   fprintf (stderr, "%d ports, %d port_infos\n", 
(int) PortCount, port_infos);
-   assert (0);
-   }
-   assert (PortCount == (ulong) port_infos);
 
for (int i = 0; i < (int) PortCount; ++i)
{


Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Tim Goetze
[Fernando Pablo Lopez-Lezcano]

>Using 0.1.1 (tried on redhat 9 and fedora core 1):
>
>g++ -Wall -O6 -ffast-math -funroll-loops -march=`uname -m` -mcpu=`uname
>-m`  -I/usr/local/include -DVERSION=\"0.1.1\" -I/usr/local/include -c
>Cabinet.cc
>Descriptor.h: In member function `void Descriptor::autogen() [with T
>=
>   Cabinet]':
>Cabinet.cc:168:   instantiated from here
>Descriptor.h:36: type `Cabinet' is not a base type for type `
>   Descriptor'
>make: *** [Cabinet.o] Error 1

drat. what does

$ g++ --version

say, please?

i'm using gcc 2.95.4, and afraid it's a compiler issue. unfortunately
i don't seem to have a more recent version at my disposal.

tim


Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Fernando Pablo Lopez-Lezcano
> >>pleased to announce the initial release of the caps audio plugin
> >>suite under the GNU public license.
> >>
> >>quoting http://quitte.de/dsp/caps.html :
> >
> >% make
> >make: *** No rule to make target `ladspa.h', needed by `dep'.  Stop.
> 
> sorry, and thanks.
> 
> $ cd caps-0.1.0
> $ wget -O - http://www.ladspa.org/ladspa_sdk/ladspa.h.txt > ladspa.h
> 
> or download version 0.1.1 (up now).

Using 0.1.1 (tried on redhat 9 and fedora core 1):

g++ -Wall -O6 -ffast-math -funroll-loops -march=`uname -m` -mcpu=`uname
-m`  -I/usr/local/include -DVERSION=\"0.1.1\" -I/usr/local/include -c
Cabinet.cc
Descriptor.h: In member function `void Descriptor::autogen() [with T
=
   Cabinet]':
Cabinet.cc:168:   instantiated from here
Descriptor.h:36: type `Cabinet' is not a base type for type `
   Descriptor'
make: *** [Cabinet.o] Error 1

-- Fernando




Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Tim Goetze
[Paul Davis]

>>pleased to announce the initial release of the caps audio plugin
>>suite under the GNU public license.
>>
>>quoting http://quitte.de/dsp/caps.html :
>
>% make
>make: *** No rule to make target `ladspa.h', needed by `dep'.  Stop.

sorry, and thanks.

$ cd caps-0.1.0
$ wget -O - http://www.ladspa.org/ladspa_sdk/ladspa.h.txt > ladspa.h

or download version 0.1.1 (up now).

tim


Re: [linux-audio-dev] caps 0.1.0

2004-02-18 Thread Paul Davis
>pleased to announce the initial release of the caps audio plugin
>suite under the GNU public license.
>
>quoting http://quitte.de/dsp/caps.html :

% make
make: *** No rule to make target `ladspa.h', needed by `dep'.  Stop.