Ok, that is very helpful. So, if I understand correctly, from a user's perspective it is a library which can be used to create compositions in csound. This library can be accessed by both the python module (_CsoundAC) and a C++ shared library (libCsoundAC). There is no "direct" user interface (as in a GUI program), but rather the interface is an API. Is this correct? On Wednesday 17 October 2007 22:47:08 Michael Gogins wrote: > CsoundAC stands for "Csound Algorithmic Composition." I use it every day > for composing music. > > CsoundAC supports algorithmic composition with a scene-graph type > description of musical structure, the ability to import and export MIDI > files, various random sequence generators, some powerful fractal > generators, (new) facilities for voice-leading, chord progression, and > chord voicing, and the ability to generate Csound scores and use Csound as > an orchestra for realizing generated scores (via the csnd Python extension > module's CppSound class). > > On Windows, the whole stack, from the bottom up, is as follows: > > csound64.dll.5.1, the Csound C API shared library, in other words Csound > proper, which is linked to by... > > csnd.dll, which implements CppSound, a C++ wrapper for the Csound C API, > which also includes the ability to load and save Csound files to and from > internal storage, pick arrangements out of Csound orchestras, and so on, > which is linked to by CsoundAC.dll and also by... > > _csnd.pyd, SWIG-generated C stubs for CppSound, in other words, a low-level > procedural Python extension module for CppSound named _csnd, which is > loaded by... > > csnd.py, SWIG-generated Python class proxies for _csnd, in other words, a > high-level object-oriented Python extension module for CppSound named csnd, > which is loaded by Python scripts that use Csound; > > CsoundAC.dll, a C++ class library for algorithmic composition (which also > links with csnd.dll), which is linked to by... > > _CsoundAC.pyd, SWIG-generated C stubs for the classes in CsoundAC, in other > words, a low-level procedural Python extension module for the CsoundAC > classes named _CsoundAC, which is loaded by... > > CsoundAC.py, SWIG-generated Python class proxies for _CsoundAC, in other > words, a high-level object-oriented Python extension module for the > CsoundAC classes named CsoundAC, which is loaded by Python scripts that use > CsoundAC. > > Note that there are wrappers for csnd.dll in Lua, Java, and Lisp as well as > Python; it would be very easy to create new such wrappers for any > SWIG-supported language. > > Note also that C and C++ programs can directly link to csound64.dll.5.1, > and C++ programs can directly link to csnd.dll and CsoundAC.dll, as the C++ > classes are directly exported. > > Hope this helps, > Mike > > ----- Original Message ----- > From: "Felipe Sateler" > To: "Michael Gogins" ; "Developer discussions" > > Sent: Wednesday, October 17, 2007 7:11 PM > Subject: Re: [Cs-dev] Csound front page at SF and FAQ -- Felipe Sateler