Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] API, was Broken again

Date2005-03-25 14:57
FromMichael Gogins
SubjectRe: [Cs-dev] API, was Broken again
Global variables.

What do C++ and C have to do with it? All I need to do is move the OENTRY and .cpp file into the Csound link, then the C API and the C++ API both can access the buss and matrix arrays. 

Of course, this would mean that some of the builtin .o files are made by C++ compilation.

Again I ask, and please answer, what are your specific problems with building CsoundVST? Do you have some objection to the existence of a GUI front end with Python scripting and VST plugin capability, or an objection to C++, or what are your specific difficulties with the build? I am not being hostile, I want to know what you actually think.

-----Original Message-----
From: Istvan Varga 
Sent: Mar 25, 2005 6:40 AM
To: csound-devel@lists.sourceforge.net
Subject: Re: [Cs-dev] API, was Broken again

Michael Gogins wrote:

> The API should be changed to permit users to create, set, and get at 
> least MYFLT variables by name. I'm pretty sure it doesn't currently do 
> this.

What kind of variables are you referring to ?

> There is no reason these opcodes can't also be Csound API functions, as 
> long as the mixer opcodes become builtins so the buss arrays are 
> accessible to the API. If the mixer is in the API, then any number of 
> audio inputs and outputs can go into and come out of Csound to external 
> software.

But isn't your mixer interface C++, and the main Csound API is C ?

> The mixer is now working, and I will add it to SConstruct as soon as I 
> have tested the build and functionality on Linux.

I would rather suggest making it optional, with a default of not building.
By the way, I think CsoundVST should not be built by default, either (in fact,
it used to be disabled by default, but recent changes have apparently made
the default to compile CsoundVST, now I always have to use buildCsoundVST=0).


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel





-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net

Date2005-03-25 15:37
FromIstvan Varga
SubjectRe: [Cs-dev] API, was Broken again
Michael Gogins wrote:

> Global variables.

I still do not know what kind of "global variables" you want.
The following functions exist for a few months now, but I assume
you request something different that needs more explanation.

   /**
    * Allocate nbytes bytes of memory that can be accessed later by calling
    * csoundQueryGlobalVariable() with the specified name; the space is
    * cleared to zero.
    * Returns CSOUND_SUCCESS on success, CSOUND_ERROR in case of invalid
    * parameters (zero nbytes, invalid or already used name), or
    * CSOUND_MEMORY if there is not enough memory.
    */
   PUBLIC int csoundCreateGlobalVariable(void *csound, const char *name,
                                         size_t nbytes);

   /**
    * Get pointer to space allocated with the name "name".
    * Returns NULL if the specified name is not defined.
    */
   PUBLIC void *csoundQueryGlobalVariable(void *csound, const char *name);

   /**
    * This function is the same as csoundQueryGlobalVariable(), except the
    * variable is assumed to exist and no error checking is done.
    * Faster, but may crash or return an invalid pointer if 'name' is
    * not defined.
    */
   PUBLIC void *csoundQueryGlobalVariableNoCheck(void *csound, const char *name);

   /**
    * Free memory allocated for "name" and remove "name" from the database.
    * Return value is CSOUND_SUCCESS on success, or CSOUND_ERROR if the name is
    * not defined.
    */
   PUBLIC int csoundDestroyGlobalVariable(void *csound, const char *name);


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net