Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] new API
Giovanni Bedetti <[email protected]>
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAO+OKxmroiFdPGOxKLu5AO_mfaKAKZWcBmqCyZmdieaBqE_Tpg@mail.gmail.com> |
Hi, thanks a lot for this Victor. I wanted to try the new API on CsoundUnity, and I was wondering if the binaries for every platform are available somewhere, or if I should build them. Thanks again Il giorno dom 28 lug 2024 alle ore 16:09 vlz <[email protected]> ha scritto: > I'll take a look. > Prof. Victor Lazzarini > Maynooth University > Ireland > > On 28 Jul 2024, at 13:46, Tarmo Johannes <[email protected]> wrote: > > > Hi! > > One more question: > CsoundQt uses csound_threaded.hpp to support html files that us Csound. > The files is present in feature/newapi branch but not updated yet. > What are the plans with it? I am not sure, but I think MIchael Gogins > wrote this wrapper? > > Thanks! > tarmo > > Kontakt Victor Lazzarini (< > [email protected]>) kirjutas kuupäeval K, > 24. juuli 2024 kell 22:42: > >> Thanks for this. >> >> For csoundCompileCsd(), my thought was consolidation but of course with >> the mode parameter, it can be extendable. >> >> I am hoping François and Steven who have been writing wrappers will be >> able to steer the API to a good state with regards to other languages. >> >> >> Prof. Victor Lazzarini >> Maynooth University >> Ireland >> >> On 24 Jul 2024, at 20:07, Michael Gogins <[email protected]> >> wrote: >> >> >> *Warning* >> >> This email originated from outside of Maynooth University's Mail System. >> Do not reply, click links or open attachments unless you recognise the >> sender and know the content is safe. >> Looks OK to me. My main concerns: >> >> (1) Be able to compile a CSD as a text blob as well as from a filename. >> Using a flag in csoundCompileCsd looks like it should do that, and may be >> better in that it allows changing the CSD from blob to filename at run time. >> >> (2) Keep all API calls easy to wrap in other language interfaces, >> especially Python and JavaScript. That doesn't seem to have changed. >> >> I may have suggested that the function pointers in the CSOUND_ struct >> should really be in an array, as in a C++ class, such that adding to this >> array does not change the size of the actual CSOUND_ struct. Please give >> that a thought. >> >> Best, >> Mike >> >> >> ----------------------------------------------------- >> Michael Gogins >> Irreducible Productions >> http://michaelgogins.tumblr.com >> Michael dot Gogins at gmail dot com >> >> >> On Wed, Jul 24, 2024 at 12:32 PM vlz <[email protected]> wrote: >> >>> 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 >>> >>