| To clarify this:
cppSound = new csnd.CppSound()
csoundFile = cppSound.getCsoundFile()
csoundfile.setCSD('my csd')
csoundFile.exportForPerformance()
cppSound.compile()
cppSound.perform()
Hope this helps,
Mike
-----Original Message-----
>From: Michael Gogins
>Sent: May 10, 2008 8:40 PM
>To: csound@lists.bath.ac.uk
>Subject: [Csnd] Re: Re: Re: Re: Csound API: Can I compile an orc from a String instead of a .csd?
>
>You are correct about multiple inheritance. I believe that I had coded some helper functions to get around this. As I recall I created a CppSound.getCsoundfile() or something like that, which should expose this method. I'm looking at the generated Java code now... there it still is, yes!
>
>Hope this helps,
>Mike
>
>
>-----Original Message-----
>>From: Steven Yi
>>Sent: May 10, 2008 8:16 PM
>>To: csound@lists.bath.ac.uk
>>Subject: [Csnd] Re: Re: Re: Csound API: Can I compile an orc from a String instead of a .csd?
>>
>>I tried looking at the CppSound class in Java and it is missing the
>>setCSD method. After a little look, my guess what is going on is that
>>CppSound in C++ uses multiple inheritance, which is not supported in
>>Java, and that SWIG doesn't know what to do. I don't know much more
>>than that but would suggest that might be something to look into to
>>figure out this problem.
>>
>>steven
>>
>>On Sat, May 10, 2008 at 4:01 PM, Rory Walsh wrote:
>>> I don't do Java but here is an untested c++ example which uses the cppsound
>>> class and it's 'setCSD()' method. I hope you can work out the java code from
>>> it. I can answer any questions you have about the c++ code.
>>>
>>> Rory.
>>>
>>>
>>> #include "CppSound.hpp"
>>> #include "csPerfThread.hpp"
>>> #include
>>> #include
>>>
>>> using namespace std;
>>>
>>> int main()
>>> {
>>> /* create string that holds an entire csd file */
>>> std::string csdText = " \n\
>>> \n\
>>> csound -odevaudio -b10 -idevaudio temp.orc temp.sco \n\
>>> \n\
>>> \n\
>>> sr = 44100 \n\
>>> kr = 44100 \n\
>>> ksmps = 1 \n\
>>> nchnls = 1 \n\
>>> instr 1 \n\
>>> k1 chnget \"freq\" \n\
>>> a1 oscil 10000, k1+100, 1 \n\
>>> out a1 \n\
>>> endin \n\
>>> \n\
>>> \n\
>>> f1 0 1024 10 1 \n\
>>> i1 0 100 \n\
>>> \n\
>>> ";
>>>
>>> int hold;
>>> /*create CppCsound class */
>>> CppSound csound;
>>> /* set the csd text */
>>> csound.setCSD(csdText);
>>> /* export csd text for performance */
>>> csound.exportForPerformance();
>>> /* compile csd text */
>>> csound.compile();
>>>
>>> /*create performance thread */
>>> CsoundPerformanceThread thread(csound.GetCsound());
>>> cout << "Press 1 to play, 2 to pause and 0 to quit\n";
>>> while(1){
>>> cin >> hold;
>>> if(hold==1){
>>> thread.Play();
>>> hold = 0;
>>> }
>>> else if(hold==2){
>>> thread.Pause();
>>> hold=0;
>>> }
>>> }
>>> }
>>>
>>> Jacob Joaquin wrote:
>>>>
>>>> I guess the biggest problem I'm having is the lack of documentation. I've
>>>> downloaded the Csound API Reference pdf at sourceforge, and it appears
>>>> that
>>>> the listed CppSound.hpp class reference doesn't quite jive with the
>>>> methods
>>>> of the csnd.jar. For example, I'm not finding any methods that can set
>>>> the
>>>> orchestra.
>>>>
>>>>>
>>>>
>>>
>>>
>>> Send bugs reports to this list.
>>> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
>>> csound"
>>>
>>
>>
>>Send bugs reports to this list.
>>To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>
>
>
>
>
>Send bugs reports to this list.
>To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
|