Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4070] Major commits to Csound 5

Date2004-02-22 04:26
From"Michael Gogins"
Subject[CSOUND-DEV:4070] Major commits to Csound 5
I have branched the Csound 5 CVS repository. There is a new
"non-makefile-am"
branch that contains code prior to my changes and builds using John Fitch's
Makefile.in.

The main branch now contains a new build system and all associated changes
(there are many). Csound, the plugin opcodes, and the analysis and utility
programs all link, and Csound loads all plugins and runs, on Windows XP and
Fedore Core 1 Linux. This is all somewhat preliminary but Csound 5 is now
capable of making music.

You can try building Csound 5 from CVS by updating your local repository and
executing:

    autoreconf -i -f
    ./configure
    make

Other notes on dependencies and building can be found in the README file.

Thanks to John Fitch for implementing use of the sndfile library. It looks
like the audio formatting layer in Csound can now be simplified quite a bit.

On Windows with Cygwin, Csound 5 builds as an API _static_ library, all
plugin opcodes as DLLs, the csound program linked with the Csound API, and
all utility programs. Csound runs, loads opcodes, and renders trapped.csd
and xanadu.csd both to soundfile using libsndfile, and trappedrt.csd to
real-time audio using PortAudio 19. FLTK graphs work. I have not tested MIDI
or utilities.

On Fedora Core 1 Linux with ALSA drivers from Planet CCRMA, Csound 5 builds
as as an API _shared_ library, all plugin opcodes as DLLs, the csound
program linked with the Csound API, and all utility programs. Csound runs,
loads opcodes, and renders trapped.csd and xanadu.csd to soundfile using
libsndfile. PortAudio seg faults, I don't know why yet. The window for FLTK
graphs opens, but the graphs themselves do not appear. I have not tested
MIDI or utilities.

I succeeded in building PortAudio 19 on Fedora by copying config.sub and
config.guess from the csound5 directory to the /usr/local/portaudio
directory. I was then able to run ./configure --with-host_os=linux build
PortAudio and link it with Csound5. The PortAudio test programs work, so I
don't know yet what's wrong with Csound's use of PortAudio on Linux.

I have done no tests on other Linuxes or on Darwin.

CHANGES

New configure.ac, which is a modified version of John Ramsdell's
configure.ac. Thanks to John for providing a framework, implementing the
required tests, and enabling me to understand the online documentation.

All new Makefile.am, which puts all source configuration in one file for all
targets.

Renamed some "main.c" files to prevent naming conflicts caused by having a
single Makefile.am.

Moved some opcodes from Opcodes back to OOps due to tangled dependencies.

Plugin opcodes are loaded from the directory pointed to by the OPCODEDIR
environment variable. The --shared-lib flag is still effective.

Enabled PortAudio output in Csound 5 together with libsndfile, and changed
PortAudio support from v18 to v19. PortAudio input remains to be done.

I have renamed libanal.a to libustub.a and moved as much code as possible
from analysis and utility program "main" files to ustub.c.

TO DO

Enable MIDI on Windows (I have no MIDI interface on Linux).

Clean up log printing functions.

New csound.h that needs no other headers.

Integrate flCsound and CsoundVST into the build system.

Various minor code cleanups (warning messages, sysdep.h, etc.).



============================================
Michael Gogins
gogins at pipeline period com
Irreducible Productions
CsoundVST, an extended version of Csound for programming music and sound
Available at http://sourceforge.net/projects/csound/
============================================

Date2004-02-22 06:02
Fromstevenyi
Subject[CSOUND-DEV:4071] Re: Major commits to Csound 5
Hi Michael,

I gave this new version a whirl.  It seems to segfault here (Fedora Core
1) if I just run the commandline with no options.  It also segfaults
with realtime audio. 

Running autoreconf gave me some complaints about there being a
configure.ac and configure.in, but didn't seem like a big deal as it
chose the .ac file.

I tried non-realtime and it complains that the dcblock opcode is not a
legal opcode, so didn't get further than that.

Also, I noticed when loading up it seems to try to load everything
within the OPCODEDIR.  Using the default make install, all .a, .la, .so,
.so.0, and .so.0.0.0 files for Opcode Libs were put into the OPCODEDIR. 
(Not sure if you were aware of this).

Sorry not much more to say, going to sleep soon.  Will try out more in
the next few days!

Thanks!
steven



On Sat, 2004-02-21 at 20:26, Michael Gogins wrote:
> I have branched the Csound 5 CVS repository. There is a new
> "non-makefile-am"
> branch that contains code prior to my changes and builds using John Fitch's
> Makefile.in.
> 
> The main branch now contains a new build system and all associated changes
> (there are many). Csound, the plugin opcodes, and the analysis and utility
> programs all link, and Csound loads all plugins and runs, on Windows XP and
> Fedore Core 1 Linux. This is all somewhat preliminary but Csound 5 is now
> capable of making music.
> 
> You can try building Csound 5 from CVS by updating your local repository and
> executing:
> 
>     autoreconf -i -f
>     ./configure
>     make
> 
> Other notes on dependencies and building can be found in the README file.
> 
> Thanks to John Fitch for implementing use of the sndfile library. It looks
> like the audio formatting layer in Csound can now be simplified quite a bit.
> 
> On Windows with Cygwin, Csound 5 builds as an API _static_ library, all
> plugin opcodes as DLLs, the csound program linked with the Csound API, and
> all utility programs. Csound runs, loads opcodes, and renders trapped.csd
> and xanadu.csd both to soundfile using libsndfile, and trappedrt.csd to
> real-time audio using PortAudio 19. FLTK graphs work. I have not tested MIDI
> or utilities.
> 
> On Fedora Core 1 Linux with ALSA drivers from Planet CCRMA, Csound 5 builds
> as as an API _shared_ library, all plugin opcodes as DLLs, the csound
> program linked with the Csound API, and all utility programs. Csound runs,
> loads opcodes, and renders trapped.csd and xanadu.csd to soundfile using
> libsndfile. PortAudio seg faults, I don't know why yet. The window for FLTK
> graphs opens, but the graphs themselves do not appear. I have not tested
> MIDI or utilities.
> 
> I succeeded in building PortAudio 19 on Fedora by copying config.sub and
> config.guess from the csound5 directory to the /usr/local/portaudio
> directory. I was then able to run ./configure --with-host_os=linux build
> PortAudio and link it with Csound5. The PortAudio test programs work, so I
> don't know yet what's wrong with Csound's use of PortAudio on Linux.
> 
> I have done no tests on other Linuxes or on Darwin.
> 
> CHANGES
> 
> New configure.ac, which is a modified version of John Ramsdell's
> configure.ac. Thanks to John for providing a framework, implementing the
> required tests, and enabling me to understand the online documentation.
> 
> All new Makefile.am, which puts all source configuration in one file for all
> targets.
> 
> Renamed some "main.c" files to prevent naming conflicts caused by having a
> single Makefile.am.
> 
> Moved some opcodes from Opcodes back to OOps due to tangled dependencies.
> 
> Plugin opcodes are loaded from the directory pointed to by the OPCODEDIR
> environment variable. The --shared-lib flag is still effective.
> 
> Enabled PortAudio output in Csound 5 together with libsndfile, and changed
> PortAudio support from v18 to v19. PortAudio input remains to be done.
> 
> I have renamed libanal.a to libustub.a and moved as much code as possible
> from analysis and utility program "main" files to ustub.c.
> 
> TO DO
> 
> Enable MIDI on Windows (I have no MIDI interface on Linux).
> 
> Clean up log printing functions.
> 
> New csound.h that needs no other headers.
> 
> Integrate flCsound and CsoundVST into the build system.
> 
> Various minor code cleanups (warning messages, sysdep.h, etc.).
> 
> 
> 
> ============================================
> Michael Gogins
> gogins at pipeline period com
> Irreducible Productions
> CsoundVST, an extended version of Csound for programming music and sound
> Available at http://sourceforge.net/projects/csound/
> ============================================
> 
> 

Date2004-02-22 12:06
FromLars Luthman
Subject[CSOUND-DEV:4074] Re: Major commits to Csound 5
On Sun, 2004-02-22 at 05:26, Michael Gogins wrote:
> You can try building Csound 5 from CVS by updating your local repository and
> executing:
> 
>     autoreconf -i -f
>     ./configure
>     make

I tried building this (or at least I think I got that version, I updated
from anonymous CVS at 11:30 GMT). When I ran autoreconf -i -f I got
warnings about there being both a configure.in and configure.ac, but
that seemed to be OK. I also got many error messages about the names of
the plugin libraries:

Makefile.am: `babo.la' is not a standard libtool library name

for each plugin, I think. Automake doesn't like libraries whose name
doesn't begin with 'lib', unless they have '-module' in their LDFLAGS.
All the plugins seem to have @PLUGIN_LDFLAGS@ in their LDFLAGS variable,
and the autoconf variable PLUGIN_LDFLAGS does contain '-module', but
maybe automake doesn't understand that since it isn't substituted until
after automake is run? I was able to fix this using any of two methods:
rename all the plugins so their name begins with 'lib', or adding
'-module' explicitly to their LDFLAGS variables in Makefile.am.

Maybe I don't have the same automake version as you? I'm using automake
1.7.2 and autoconf 2.57.


--ll

Date2004-02-22 21:22
Fromstevenyi
Subject[CSOUND-DEV:4089] Re: Major commits to Csound 5
Hi Michael,

A couple of things I noticed:

When trying to run xanadu.csd, I get:

Csound version 5.0 beta (double samples) Feb 22 2004
displays suppressed
0dBFS level = 32767.0
orch now loaded
audio buffered in 1024 sample-frame blocks
PortAudio device 0
  /dev/dsp
  Maximum channels in:     16
  Maximum channels out:    16
  Default sample rate:  44100.000
PortAudio device 1
  Intel 82801CA-ICH3
  Maximum channels in:      2
  Maximum channels out:     2
  Default sample rate:  44100.000
PortAudio error -9996: Invalid device
unable to open soundcard for audio output
Segmentation fault

I'm get that using "csound -d -o dac xanadu.csd" as well as "csound -d
-o /dev/dsp xanadu.csd"

-Should Csound5 be set to use doubles by default?  I realize I can set
it in configure with --enable-double=no, but I think that most people
use float versions and would expect to get have that.  Any problems if I
set that to no by default and commit?

-Xanadu.csd does output to wav no problems. =) (I couldn't get so far
before).

-From configure, I get both USE_FLTK and USE_TCLTK defined.  Is that
correct?

Running out the door, will have more later!

steven