[Cs-dev] Cs5 error
Date | 2005-03-29 14:13 |
From | Dave Phillips |
Subject | [Cs-dev] Cs5 error |
Greetings: I've run into this trouble before, so it's worth pointing out again. This fragment (from H/csoundCore.h) fails under GCC 3.2.2: <<<<<<< csoundCore.h FUNC *ftfind(struct ENVIRON_*,MYFLT*); #define MAXCHAN 16 /* for 6 ports */ ======= #define MAXCHAN 16 /* 16 MIDI channels; only one port for now */ >>>>>>> 1.68 I assume this is just badly formatted, but am I correct also to assume that the FUNC line should remain along with one of the #define statements ? Best, dp ------------------------------------------------------- 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 |
Date | 2005-03-29 14:13 |
From | Victor Lazzarini |
Subject | [Cs-dev] plugins in cs4.23 |
Following on from last week's discussion, I'd suggest that csdl.h, cs.h and oload.c in the 4.23 versions should be edited to provide a minimal interface for plugin opcodes, without which the whole thing is pretty much dead on the ground. I have done these changes to my windows and will do to the linux distributions, but perhaps the GBS package should offer it as well. I don't see it as breaking the code freeze. Here's the suggested changes. csdl.h: adding the following lines #define auxalloc pcglob->auxalloc_ #define getstring pcglob->getstring_ #define die pcglob->die_ #define ftfind pcglob->ftfind_ #define initerror pcglob->initerror_ #define perferror pcglob->perferror_ #define mmalloc pcglob->mmalloc_ #define mcalloc pcglob->mcalloc_ #define mfree pcglob->mfree_ #define dispset pcglob->dispset #define display pcglob->display #define intpow pcglob->intpow_ #define ftfindp pcglob->ftfindp #define ftnp2find pcglob->ftnp2find #define unquote pcglob->unquote #define ldmemfile pcglob->ldmemfile #define err_printf pcglob->err_printf_ CS.h: add the following lines to the GLOBALS struct, perhaps after the line containing void (*SetRtcloseCallback)(void *csound, void (*rtclose__)(void)); void (*auxalloc_)(long nbytes, AUXCH *auxchp); char *(*getstring_)(int, char*); void (*die_)(char *); FUNC *(*ftfind_)(MYFLT *); void (*initerror_)(char *); void (*perferror_)(char *); void *(*mmalloc_)(long); void *(*mcalloc_)(long); void (*mfree_)(void *); void (*dispset)(WINDAT *, MYFLT *, long, char *, int, char *); void (*display)(WINDAT *); MYFLT (*intpow_)(MYFLT, long); FUNC *(*ftfindp)( MYFLT *argp); FUNC *(*ftnp2find)( MYFLT *); char *(*unquote)(char *); MEMFIL *(*ldmemfile)(char *); void (*err_printf_)(char *, ...); oload.c: add these lines to initialise the GLOBALS structure, just before /* * Data fields. */: auxalloc, getstring, die, ftfind, initerror, perferror, mmalloc, mcalloc, mfree, dispset, display, intpow, ftfindp, ftnp2find, unquote, ldmemfile, err_printf, I suspect Anthony Kozar has done something of the kind so that plugins can work on SuperMills (not exactly sure if he made the same changes, but they seem compatible to these). Victor Victor Lazzarini Music Technology Laboratory Music Department National University of Ireland, Maynooth ------------------------------------------------------- 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 |
Date | 2005-03-29 14:27 |
From | Istvan Varga |
Subject | Re: [Cs-dev] Cs5 error |
Dave Phillips wrote: > I've run into this trouble before, so it's worth pointing out again. > This fragment (from H/csoundCore.h) fails under GCC 3.2.2: > > <<<<<<< csoundCore.h > FUNC *ftfind(struct ENVIRON_*,MYFLT*); > > #define MAXCHAN 16 /* for 6 ports */ > ======= > #define MAXCHAN 16 /* 16 MIDI channels; only one port for now */ > >>>>>>> 1.68 > > I assume this is just badly formatted, but am I correct also to assume > that the FUNC line should remain along with one of the #define statements ? This is a CVS file conflict. Just delete the file and run cvs update again. ------------------------------------------------------- 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 |
Date | 2005-03-30 23:00 |
From | Anthony Kozar |
Subject | Re: [Cs-dev] plugins in cs4.23 |
No, I have not changed any code to support opcode plugins (other than adding the shared library loading stuff to dl_opcodes.c and that is in CVS). All that I have done to make plugins work as expected is to create a symbol export list in a file called Perf.cw4.mcp.exp. This file lists almost every non-static variable and function in global scope in all of Csound (over 2000). I removed a few names which were troublesome or clearly not needed but most are there. Yes, this means that in Mills Csound you can do ridiculous things like call musmon() from a plugin. But I decided to err on the side of having too many exported symbols since I had no idea (back then) which symbols were needed. In general, "SuperMills" contains very few changes to the cross-platform Csound code and the Mills 4.23f12 release on Sourceforge is straight from CVS. Both support opcode plugins with all of the needed internal functions. I would suggest that something similar be done for GBS, MacCsound, MyCsound, etc. unless there is no desire to really support plugins with these "flavors" until Csound 5. I don't think that modifying the GLOBALS struct is a particularly good idea though. Since information about this struct may be compiled into existing clients and plugins for Cs4, couldn't modifying the struct break them? Anthony On 3/29/05 8:13 AM, Victor Lazzarini |
Date | 2005-03-31 01:17 |
From | ramsdell@mitre.org (John D. Ramsdell) |
Subject | Re: [Cs-dev] plugins in cs4.23 |
Victor Lazzarini |
Date | 2005-03-31 02:00 |
From | "Richard Boulanger" |
Subject | Re: [Cs-dev] plugins in cs4.23 |
John, Hello. Hope you are having a great day. I am happy to hear about the plugin opcode success with Csound 4 GBS. If Kelly was able to get the Loris opcodes to work at MacCsound plugins, do you think you might be able to convince him to share these plugins with us? Has anyone been able to use the GBS sources to build plugins that work with MacCsound and are compiled with Xcode? Dr. B. on 3/30/05 7:17 PM, John D. Ramsdell at ramsdell@mitre.org wrote: > Victor Lazzarini |
Date | 2005-03-31 16:35 |
From | ramsdell@mitre.org (John D. Ramsdell) |
Subject | Re: [Cs-dev] plugins in cs4.23 |
"Richard Boulanger" |
Date | 2005-03-31 16:39 |
From | ramsdell@mitre.org (John D. Ramsdell) |
Subject | Re: [Cs-dev] plugins in cs4.23 |
Anthony Kozar |
Date | 2005-03-31 16:52 |
From | Steven Yi |
Subject | Re: [Cs-dev] plugins in cs4.23 |
Modifying the ENVIRON struct doesn't break compatibility if thing are added at the end of the struct, if I remember correctly (we discussed this a couple years ago I think and I remember Michael Gogins explaining something like this to me at the time). On Wed, 30 Mar 2005 17:00:14 -0500, Anthony Kozar |
Date | 2005-03-31 17:14 |
From | David Akbari |
Subject | [Cs-dev] CsoundVST as another plugin type? |
Hi All, I was just curious if anyone has tried using a (standalone) version of CsoundVST with fXpansion's proprietary "VST to AudioUnits" or "VST to RealTimeAudioSuite" format? I realize CsoundVST is a part of Csound5, and I was just curious. Thanks, -David On Mar 31, 2005, at 10:52 AM, Steven Yi wrote: > Modifying the ENVIRON struct doesn't break compatibility if thing are > added at the end of the struct, if I remember correctly (we discussed > this a couple years ago I think and I remember Michael Gogins > explaining something like this to me at the time). > > > On Wed, 30 Mar 2005 17:00:14 -0500, Anthony Kozar > |
Date | 2005-03-31 17:21 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] plugins in cs4.23 |
The reason I have changed the GLOBALS structure is that it seemed the most logical way to give access to auxalloc etc., without having to build a library with these functions to link them. That's the way csound5 was working before the latest improvements. The changes did not seem to break my windows version. The plugin opcode code seems also to be compatible with the other cs4.23 versions. If GBS supports plugins and it allows us to link to auxalloc etc., no changes are needed. Victor At 23:00 30/03/2005, you wrote: >No, I have not changed any code to support opcode plugins (other than adding >the shared library loading stuff to dl_opcodes.c and that is in CVS). All >that I have done to make plugins work as expected is to create a symbol >export list in a file called Perf.cw4.mcp.exp. > >This file lists almost every non-static variable and function in global >scope in all of Csound (over 2000). I removed a few names which were >troublesome or clearly not needed but most are there. Yes, this means that >in Mills Csound you can do ridiculous things like call musmon() from a >plugin. But I decided to err on the side of having too many exported >symbols since I had no idea (back then) which symbols were needed. > >In general, "SuperMills" contains very few changes to the cross-platform >Csound code and the Mills 4.23f12 release on Sourceforge is straight from >CVS. Both support opcode plugins with all of the needed internal functions. > >I would suggest that something similar be done for GBS, MacCsound, MyCsound, >etc. unless there is no desire to really support plugins with these >"flavors" until Csound 5. > >I don't think that modifying the GLOBALS struct is a particularly good idea >though. Since information about this struct may be compiled into existing >clients and plugins for Cs4, couldn't modifying the struct break them? > >Anthony > >On 3/29/05 8:13 AM, Victor Lazzarini |