There are a few csound callback options which would be nice to access but require function pointers: /** * Called by external software to set a function for Csound to * fetch input control values. The 'invalue' opcodes will * directly call this function. */ PUBLIC void csoundSetInputValueCallback(CSOUND *, void (*inputValueCalback)(CSOUND *, const char *channelName, MYFLT *value)); /** * Called by external software to set a function for Csound to * send output control values. The 'outvalue' opcodes will * directly call this function. */ PUBLIC void csoundSetOutputValueCallback(CSOUND *, void (*outputValueCalback)(CSOUND *, const char *channelName, MYFLT value)); Those for using invalue/outvalue. This is what MacCsound uses, as far as I remember. I guess this might not be necessary if using csoundGetChannelPtr, but not sure if that would work either in Python or Java as I think you have to pass in a MYFLT** to get those values, and to be able to read/write to those from the host language. Perhaps there are other ways to use the string-indexed bus or chani/chano bus from the host than these methods? There's also: /** * Sets a function to be called by Csound for opening real-time * audio playback. */ PUBLIC void csoundSetPlayopenCallback(CSOUND *, int (*playopen__)(CSOUND *, const csRtAudioParams *parm)); /** * Sets a function to be called by Csound for performing real-time * audio playback. */ PUBLIC void csoundSetRtplayCallback(CSOUND *, void (*rtplay__)(CSOUND *, const MYFLT *outBuf, int nbytes)); which I think MacCsound uses for handling the audio I/O from the host, which then uses CoreAudio and CoreMidi itself, and can offer other things like recording a live performance out to disk while also outputing to realtime out, something doable in Csuond but perhaps easier to do in the host. These callbacks could be used to push audio out to a group of other computers in a live performance setup and where doing network code might be easier to implement in a host language and also deisrable to have as part of the host system rather than within the engine. Those are the primary API functions I can think of that require callbacks and would be of use in host languages. If other methods are available, I'd love to be wrong on this! steven On 10/11/05, Michael Gogins wrote: > What exactly are you trying to do? What is the callback you want for? > > Regards, > Mike > > ----- Original Message ----- > From: "Anthony Kozar" > To: > Sent: Tuesday, October 11, 2005 9:27 PM > Subject: Re: [Csnd] Redirect messages with CsoundVST Python module > > > > This is very dissappointing if true. I suppose that it should be possible > > to workaround though with some clever glue programming. (Such as a python > > extension module that wraps Csound with python calls that support python > > callbacks but give a C callback to Csound with the conversion handled by > > the > > glue code). > > > > ??? > > > > Anthony > > > > Steven Yi wrote on 10/11/05 7:32 PM: > > > >> function pointers are only supported if written in > >> the source language and not the binding language. > >> > >> Anyone else have experience with otherwise? This alone makes some of > >> the more useful features of the API not accessible, at least with > >> SWIG, IMO. > > > > -- > > Send bugs reports to this list. > > To unsubscribe, send email to csound-unsubscribe@lists.bath.ac.uk > > > > > -- > Send bugs reports to this list. > To unsubscribe, send email to csound-unsubscribe@lists.bath.ac.uk >