[Csnd-dev] new API

vlz <[email protected]>
Newsgroups gmane.comp.audio.csound.devel
Message-ID <[email protected]>
Hi all,

I started work on the new API following some of François’ recommendations. The idea is to consolidate the
interface, make it simpler and start removing functionality that has not been used by hosts since 6.x. 

I have completed a minimal set in the feature/moduleapi branch. The relevant files are csound_new.h
(the API proper) and csoundCore_new.h (with some additions relating to changes). 

Not all of the API is implemented (I will start working on it next), but it’s out there now for comment.

Most notably, the following things have changed:

1) The number of compilation function variants is reduced.

2) We are not exposing the buffering anymore, so csoundPerformBuffer() is gone. This has been
hardly used, host developers seem to prefer access to spin/spout. The single-short csoundPerform() is
also gone, it is easily duplicated by csoundPerfomKsmps() in a loop.

3) Audio IO callback setting has been removed, for similar reasons.

4) MIDIO IO callback setting has been consolidated into a single function.

5) Functions for events and table access were consolidated. Graphing callbacks etc are also removed since
hosts can just read from tables and do their own displays as they see fit.

6) Interfaces to threading, circular buffers, etc are gone.

7) Cscore functions are gone.

8) UDP server functions are gone (this functionality is offered by options, so there is no need to duplicate it here).

The idea is to make it less overwhelming for host developers. 

Victor
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.