Re: [Csnd-dev] plugin opcodes / API Changes
Eduardo Moguillansky <[email protected]>
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAHFFssJiOsvjwgJCF4EXF7tR1bx+rh1qLyv4J7vKnauSfH3z9w@mail.gmail.com> |
I miss these API functions: csoundNewOpcodeList and csoundDisposeOpcodeList. I use those to check available opcodes and thus determine missing plugins. Could those be provided again, or some other way to obtain a list of available opcodes? Thanks! Eduardo On Mon, Nov 11, 2024 at 8:06 AM vlz <[email protected]> wrote: > These have been added in the PR #2030 > > > On 11 Nov 2024, at 01:13, Eduardo Moguillansky < > [email protected]> wrote: > > > > I found more missing API calls: > > > > * GetStrsmax > > * GetStrsets > > > > I could not find an obvious replacement. Any ideas? > > > > On Fri, Nov 8, 2024 at 1:03 AM vlz <[email protected]> wrote: > > GetInstrumentList() gives the full instrument array. > > > > You can pick up an instrument by number (index) or name (by checking the > relevant field): > > > > INSTRTXT *GetInstrument(CSOUND *csound, > > int32_t n, const char *name) { > > > > INSTRTXT **list = csound->GetInstrumentList(csound); > > > > if(name){ > > INTRTXT *instr = list[0]; > > while((instr = instr->instrnxt) != NULL) > > if(strcmp(name, instr) == 0) break; > > return instr; > > } else return list[n]; > > } > > > > Prof. Victor Lazzarini > > Maynooth University > > Ireland > > > >> On 7 Nov 2024, at 23:14, Eduardo Moguillansky < > [email protected]> wrote: > >> > >> Thanks for the clarification. > >> > >> >> * GetInstrument is gone. Was it renamed? Or is it no longer possible > to provide the functionality? > >> > GetInstrumentNumber? It's an inline > >> > >> There was a function csound->GetInstrument with the signature > >> INSTRTXT *(*GetInstrument)(CSOUND*, int, const char *); > >> > >> On Thu, Nov 7, 2024 at 11:33 PM vlz <[email protected]> wrote: > >> There's an API migration document under docs, but at the moment it only > covers the host API. I've got to annotate the module API better so we can > have a clean doxygen output. > >> > >> > On 7 Nov 2024, at 20:21, Eduardo Moguillansky < > [email protected]> wrote: > >> > > >> > > >> > As a first approach to making plugins compatible with csound7: is > there any document regarding the changes in the API exposed for opcodes > (methods renamed, removed, etc in the csound struct)? > >> > > >> > At a first glance, I have problems with the following: > >> > > >> > * GetSr is missing. There are some ugly macros, like CS_ESR which > seem to do the "right" thing, should plugins use that? > >> > >> You can use the macros, or you can use the inline functions > GetLocalSr() etc. There is no GetSr() because SR is now local. Opcodes > should use that. > >> > >> > * GetKr: same as GetSr > >> > >> as above. I just noticed there's some old fixme comments left over from > a merge, just ignore them > >> > >> > * GetInstrument is gone. Was it renamed? Or is it no longer possible > to provide the functionality? > >> > >> GetInstrumentNumber? It's an inline > >> > >> > * RegisterDeinitCallback is gone. How can a plugin implement this? > >> > >> There is no deinit callback anymore. You can provide a deinit function > when registering the opcode. > >> > >> > * insert_score_event_at_sample > >> > >> InsertScoreEvent > >> > >> > * GetInputArgCnt > >> > * GetInputArgName > >> > * GetOutputArgCnt > >> > >> All inline functions now > >> > >> > * hfgens > >> > >> FTCreate > >> > >> > cheers > >> > Eduardo >