[Cs-dev] Storing global opcode data
Date | 2013-09-18 21:57 |
From | Alex Weiss |
Subject | [Cs-dev] Storing global opcode data |
Attachments | None None |
Hi list,
Does the csound API provide a way for opcodes to store and retrieve global data (i.e. data that is shared across multiple instances of the same opcode, even in different instruments)? It seems that most opcodes that do so just add fields to the CSOUND struct. That makes sense for "core" csound opcodes, but doesn't work for opcode plug-ins that should be loaded dynamically.
If there is no such mechanism, I guess another solution would be to have a static dictionary that maps a CSOUND* struct to the necessary data. Thanks, Alex |
Date | 2013-09-18 22:41 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Storing global opcode data |
yes, there is a csound global variable mechanism for this. From opcodes you can call csound->CreateGlobalVariable(CSOUND *csound, const char *name, size_t nbytes) to create it and void *csound->QueryGlobalVariable(CSOUND *csound, const char *name) to retrieve a pointer for it. csound->DestroyGlobalVariable(CSOUND *csound, const char *name) to destroy the variable. On 18 Sep 2013, at 21:57, Alex Weiss wrote: > Hi list, > > Does the csound API provide a way for opcodes to store and retrieve global data (i.e. data that is shared across multiple instances of the same opcode, even in different instruments)? It seems that most opcodes that do so just add fields to the CSOUND struct. That makes sense for "core" csound opcodes, but doesn't work for opcode plug-ins that should be loaded dynamically. > > If there is no such mechanism, I guess another solution would be to have a static dictionary that maps a CSOUND* struct to the necessary data. > > Thanks, > Alex > ------------------------------------------------------------------------------ > LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint > 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes > Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. > http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk_______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2013-09-18 23:27 |
From | Michael Gogins |
Subject | Re: [Cs-dev] Storing global opcode data |
Attachments | None None |
This facility already exists in the Csound API. Regards, On Sep 18, 2013 4:57 PM, "Alex Weiss" <alexweiss86@gmail.com> wrote:
|
Date | 2013-09-18 23:37 |
From | Alex Weiss |
Subject | Re: [Cs-dev] Storing global opcode data |
Attachments | None None |
Great, that's exactly what I was looking for. Thanks! Alex On Wed, Sep 18, 2013 at 2:41 PM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote: yes, there is a csound global variable mechanism for this. From opcodes you can call |