Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] new API
Blake Mitchell <[email protected]>
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAPxUcnG0fGtco7xJv-H5tU207Nz4mC515z7J6eYrLxA5bQUP8g@mail.gmail.com> |
It's great the updated API is seeing progress! I'm going to revisit my .NET bindings. I could also help out with the Python bindings, if there's a need and desire. It could be a good opportunity to modernize the Python bindings and library. For example, it would be better to release the Python library as a `pip` package to ease installation, since the package could just carry around the binary C libraries for each platform. Why is `numpy` included as a dependency. Is it needed? To manage dependencies and packaging, I'd recommend using Poetry. For the API in general, I saw what was removed and changed but haven't yet had a chance to review them against my understanding, so I thought I'd just ask. My idea for a Csound bindings, library, and application would be to use Csound as a real-time synth and sound engine, but it would not be used with the typical write CSD -> compile -> run workflow. It would utilize the real-time, live-updating features of Csound. Is that functionality being preserved and improved in the new Csound API? Does the API still allow the selection of which audio driver/device to use? On Mon, Jul 29, 2024 at 6:07 AM Victor Lazzarini < [email protected]> wrote: > I guess at this point the CI is not building the binaries, so you will > need to build them yourself. > I still need to update Android and iOS though. They won’t build right now. > > ======================== > Prof. Victor Lazzarini > Maynooth University > Ireland > > > On 29 Jul 2024, at 10:39, Giovanni Bedetti <[email protected]> > wrote: > > > > 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 > >