| John Fitch, and other Csound developers, please let me know if you agree,
or disagree, or wish to discuss, the following proposals, which I now have
time to carry out. Some of you may already be involved with similar tasks,
or conflicting tasks, so we will need to coordinate.
I already working on proposals 1 through 3, which as far as I know do not
conflict with any other work.
1. Change the csound5 autotools build system to use automake and libtool.
2. Add a Doxygen target to the build system.
3. Change the autotools build system to make the Csound API as both a
static library and a shared library using libtool, and to build ccsound
using the static API library.
4. Replace jpff_glue.c with an improved csound.c, which in turn requires
some redesign of the existing Csound API. At a minimum, the QueryInterface
approach will be used to provide for enhanced future extensibility (new
APIs for bus, drivers, etc.).
5. Replace printf, err_printf, etc. with csoundMessage as I proposed
earlier.
3. Change the directory structure as follows:
csound5
bin // All applications and shared libraries.
doc // Doxygen-generated documentation.
include // Csound API header file or files.
lib // All static libraries.
src // Flat directory structure (easiest for autotools):
csoundlib // Csound API library
ccsound // Console Csound
Plain Csound GUI (jpff version or wxCsound?)
csoundvst
csoundvstwin
adsyn
convol
lpc
pvoc
strings
cscore
scot
sortex
dnoise
envext
exports
mixer
pvlook
scale
sndinfo
plugin opcode 1
plugin opcode 2
etc....
6. Move the OPARMS structure into the ENVIRON structure.
5. Finish moving Csound to a multi-instancing design by adding an ENVIRON
pointer to all ENVIRON function pointer parameter lists, and changing
internal code as required.
6. Implement MIDI for Csound5 using the PortMidi library.
7. Add an ftable API (design required).
8. Add a bus API (design required).
9. Add plugin driver APIs for audio, soundfiles, MIDI, and network control
(design required).
--------------------------------------------------------------------
mail2web - Check your email from the web at
http://mail2web.com/ . |