Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4198] Added nreverb/reverb2; question about PortAudio

Date2004-02-29 06:43
Fromstevenyi
Subject[CSOUND-DEV:4198] Added nreverb/reverb2; question about PortAudio
Hi all,

I checked in a new entry2.c that has entries for nreverb and reverb2
opcodes as well as the required functions reverbx and reverbx_set.

I went try to realtime render and got confused as to why it wasn't
working. I had to grep around quite a bit.  (The use of macros continues
to obfuscate the code for me and confuse me as what everything really
is, i.e. rtout_dev is defined as part of CENVIRON now, though it looks
like a global variable when reading the code in rtpa.c (my own gripe
about all of these macros, feel free to ignore)).  So, yes, it seems
that from the code that a portaudio device number is required after
"dac" or "devaudio", i.e. for me to use device 1 for output I had to use
"-o dac1".  If this was mentioned before, sorry I missed it, but I
didn't see a single mention of this new feature.  

Also, rtout_dev defaults to 1024, but needs to be set to a device number
between 0 and (Pa_GetDeviceCount()-1).  (rtout_dev in the CENVIRON gets
used as the the PaDeviceIndex in PaStreamParameters struct as I
understand how the code was done).  Any objection to using device 0 as a
default if no device was given on the commandline as well as a message
to the user that no device was selected?  In my case, I had no idea
using "-o dac" required anything else beyond the dac.  The proposed
change then would be in the code in rtpa.c that opens the streams to
report "No DeviceId given, defaulting to device 0." and to set the
paStreamParameters_.device = 0 instead of 1024.  If no objections I'll
go ahead and commit.

Thanks all,
steven

p.s. - After adding nreverb and using -o dac0, things seem to be running
in realtime without any problems at all.  This is great!  I'm very
excited that this is working for me.  I'll be trying out more projects
with csound5 tonight and tomorrow for testing.

p.p.s. - Regarding the request for an extra opcode module in the CVS,
considering I've had only one response to just add to the csound5 cvs,
I'd like to ask, what should I call the directory?  There's already
Opcodes, so perhaps OpcodeLibraries?  (with all external opcode libs
added to that directory)  That seems confusing but I can't think of
anything else.

Date2004-02-29 15:51
Fromramsdell@mitre.org (John D. Ramsdell)
Subject[CSOUND-DEV:4200] csound5 configure.ac and Makefile.am debugging
Let me layout the standard debugging process for configure.ac and
Makefile.am in Csound 5.0.  This is the process used to create the
Csound 4.23 equivalents.

: Obtain a fresh check out.
$ cvs co csound5
$ cd csound5
: Construct GNU build system
$ autoreconf -i -f
: Build a distribution
$ ./configure
$ make dist
: Test distribution
$ tar xzf csound-5.0.tar.gz
$ cd csound-5.0
$ mkdir build
$ cd build
$ ../configure --prefix=$HOME/csound5
$ make
$ make install
: Ensure that $HOME/csound5/bin is on your path and then test.
$ csound ...

It is important that something reasonable happen when Csound is
configured with nothing more than a prefix specification.

On my RH9 machine, "make dist" tries to include some missing files:
H/pitch.h and H/uggab.h.  The created distribution is missing at least
H/ugrw1.h, H/ugrw2.h, and babo.h.  I'm not sure what to do about the
missing files, so I'll let someone else fix this.

I also notice that when I configure Csound 5 without making FLTK
available, the configure script concludes that FLTK is available!
I'll see if I can figure this one out.

John