| The following are some notes on the current state as it is some months
since the last report. I am grateful to Michael Gogins and Steven Yi
for their input to this report (and indeed to the whole project), but
any errors or omissions are mine.
==John ffitch
REPORT ON CSOUND5 PROJECT -- SEPT 2004
a) Parser
Some internal reworking but this is not integrated and is not
progressing as it should
b) Sound file library
Apart from dnoise this is believed to be completed
c) Completion of Portaudio v19
Runs acceptably on Linux. OSX causes problems as the blocking code
for PA is missing. A callback mechanism has been written. Still
some problems. On Windows there are no problems with ASIO, and the
latency is excellent, comparable to Linux. There remains a problem
with breaking out of an ASIO performance, often causing the
computer to hang. There is no problem if the performance finishes
normally.
d) Software bus
The code is written. Perhaps the names need to be revised, and
there is currently no API code using it. There are alternative
ideas so the current implementation cannot be taken as settled.
e) Check mac build
Not sure of Mac status; there are conflicting reports. It builds
for me but I have not stressed it at all
f) Check Windows build
The scons build on Windows appears to be be in pretty good shape,
except the NSIS installer target suggested by Steven Yi has not yet
been implemented. Also, CsoundVST built with useDouble=1 used to
function in Cubase SX and now does not (must be built with float
samples to work), although useDouble=1 works in all other contexts.
g) Reorganisation of opcodes
The move to a plugin-based architecture is essentially complete.
This could be revisited, but this is low priority.
h) separation of API
Largely complete. Still in minor development
j) MIDI
A first attempt at deploying portMIDI has been made, but the whole
MIDI area is not substantially changed. This needs to be improved
before we can release.
k) Making re-entrant
Slow progress; needs some higher priority given to it. There are
some positive suggestions on a mechanism.
l) Loris opcodes
Loris opcodes are functional with CsoundVST. Michael has ported
them to Csound5. Steven Yi has suggestions for improving the Loris
target for non-CsoundVST builds.
m) Python opcodes
The Python opcodes are functional, and Oeyvind Brandtsegg is
playing with these opcodes and providing feedback on them.
n) Documentation
Micael has begun working on folding the new documentation on Csound
5 found in csound.pdf into the Kevin Conder documentation system.
When this is done the documentation target from scons willbe
removed (or changed...). There will still be a csound.pdf, but it
will produced by DocBook and contain all Csound documentation in
one place, including the Conder manual, up to date installation and
build instructions, new features, extending Csound with plugin
opcodes, and documentation of the API.
p) SConstruct changes
File to be reorganized to have build targets as well as to handle
collecting data for installers. install-opcodes, install-executables,
and install targets already integrated.
q) Installers
Not much progress here, mostly dependent on SConstruct changes
And no doubt there are other things I have forgotten
==JPff
previous> May 2004:
previous> a) Parser
previous> ------
previous> Little or no progress. I have improved lexer and it is now
previous> compatible with loadable opcodes.
previous> b) Sound file library
previous> ------------------
previous> This is mainly done. Some of the utilities (in particular dnoise)
previous> have not been converted yet
previous> c) Completion of Portaudio v19
previous> ---------------------------
previous> There have been major improvements here. On Linux we have a
previous> working system with some concerns about performance. On Windows
previous> Portaudio suffers from high latency, and at present the ASIO
previous> variant is not functional. The mac is even more problematic as
previous> the pa_v19 port to OSX is far from done.
previous> d) Software bus
previous> ------------
previous> Designs have been floating about but I do not get a clear feeling
previous> on consensus. The proposals have been mainly easy to code, so it
previous> is a policy issue
previous> e) Check mac build
previous> ---------------
previous> Thanks to steven and others there is progress here. It is up to
previous> them to report. No progress of integrating a Mac-like user
previous> interface onto the API (I think) but a simple command-line build
previous> works in delayed time.
previous> f) Check Windows build
previous> -------------------
previous> I think Michael has sthis under control now; I do not have the
previous> space to build on Windows now
previous> g) Reorganisation of opcodes
previous> -------------------------
previous> This needs review. The code works, but I am not totally happy
previous> with the specification method for loading. There is a suggestion
previous> that there should be a specified core, and the rest should be
previous> loadavle but there is no progress here
previous> h) separation of API
previous> -----------------
previous> I think this is progressing welll there are uncertainties about
previous> division into external/internal parts which needs more thought.
previous> j) MIDI
previous> ----
previous> Little or no progress has been made with PortMIDI; some older MIDI
previous> code is still working
previous> k) Simple build for Linux
previous> ----------------------
previous> Awaits software bus in part
previous> l) Making re-entrant
previous> -----------------
previous> Progress but needs a further push; there may be significant things
previous> to do here.
|