Csound Csound-dev Csound-tekno Search About

[Csnd-dev] Is this correct?

Date2018-05-15 19:12
FromMichael Gogins
Subject[Csnd-dev] Is this correct?
After this commit

index 9b95674df..bf4c58881 100644
@@ -2062,7 +2062,7 @@ int csoundReadScoreInternal(CSOUND *csound,
const char *str)
     csound->scorestr = corfile_create_w(csound);
     corfile_puts(csound, (char *)str, csound->scorestr);
     //#ifdef SCORE_PARSER
-    corfile_puts(csound, "\n#exit\n", csound->scorestr);
+    corfile_puts(csound, "\ne\n#exit\n", csound->scorestr);
     //#endif
     corfile_flush(csound, csound->scorestr);
     /* copy sorted score name */

After this change, all pieces using the API calls shown below, exit
immediately upon calling csoundPerformKsmps. It used to be that with
this sequence of calls, pieces would perform indefinitely, even if
there were no pending score events, thus permitting the user to send
score events at any time during an indefinite performance.

I suspect a mistake in sending the "e" opcode in all cases.

Regards,
Mike

    csound = csoundCreate(0);
    csoundSetOption(csound, "-d");
    csoundSetOption(csound, "-m167");
    csoundSetOption(csound, "-odac");
    csoundCompileOrc(csound, orc);
    csoundReadScore(csound, sco);
    csoundStart(csound);
    while ((result = csoundPerformKsmps(csound)) == 0) {};
    csoundDestroy(csound);


-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com

Date2018-05-15 19:36
FromVictor Lazzarini
SubjectRe: [Csnd-dev] Is this correct?
I suspect you are right. This seems to have been an attempt to fix another issue reported here, but may be breaking other
things.

Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy
Maynooth University
Ireland

> On 15 May 2018, at 19:13, Michael Gogins  wrote:
> 
> After this commit
> 
> index 9b95674df..bf4c58881 100644
> @@ -2062,7 +2062,7 @@ int csoundReadScoreInternal(CSOUND *csound,
> const char *str)
>     csound->scorestr = corfile_create_w(csound);
>     corfile_puts(csound, (char *)str, csound->scorestr);
>     //#ifdef SCORE_PARSER
> -    corfile_puts(csound, "\n#exit\n", csound->scorestr);
> +    corfile_puts(csound, "\ne\n#exit\n", csound->scorestr);
>     //#endif
>     corfile_flush(csound, csound->scorestr);
>     /* copy sorted score name */
> 
> After this change, all pieces using the API calls shown below, exit
> immediately upon calling csoundPerformKsmps. It used to be that with
> this sequence of calls, pieces would perform indefinitely, even if
> there were no pending score events, thus permitting the user to send
> score events at any time during an indefinite performance.
> 
> I suspect a mistake in sending the "e" opcode in all cases.
> 
> Regards,
> Mike
> 
>    csound = csoundCreate(0);
>    csoundSetOption(csound, "-d");
>    csoundSetOption(csound, "-m167");
>    csoundSetOption(csound, "-odac");
>    csoundCompileOrc(csound, orc);
>    csoundReadScore(csound, sco);
>    csoundStart(csound);
>    while ((result = csoundPerformKsmps(csound)) == 0) {};
>    csoundDestroy(csound);
> 
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com

Date2018-05-15 19:39
Fromjpff
SubjectRe: [Csnd-dev] Is this c
On Tue, 15 May 2018, Michael Gogins wrote:

> After this commit
>
> index 9b95674df..bf4c58881 100644
> @@ -2062,7 +2062,7 @@ int csoundReadScoreInternal(CSOUND *csound,
> const char *str)
>     csound->scorestr = corfile_create_w(csound);
>     corfile_puts(csound, (char *)str, csound->scorestr);
>     //#ifdef SCORE_PARSER
> -    corfile_puts(csound, "\n#exit\n", csound->scorestr);
> +    corfile_puts(csound, "\ne\n#exit\n", csound->scorestr);
>     //#endif
>     corfile_flush(csound, csound->scorestr);
>     /* copy sorted score name */
>
> After this change, all pieces using the API calls shown below, exit
> immediately upon calling csoundPerformKsmps. It used to be that with
> this sequence of calls, pieces would perform indefinitely, even if
> there were no pending score events, thus permitting the user to send
> score events at any time during an indefinite performance.
>
> I suspect a mistake in sending the "e" opcode in all cases.
>
> Regards,
> Mike
>
>    csound = csoundCreate(0);
>    csoundSetOption(csound, "-d");
>    csoundSetOption(csound, "-m167");
>    csoundSetOption(csound, "-odac");
>    csoundCompileOrc(csound, orc);
>    csoundReadScore(csound, sco);
>    csoundStart(csound);
>    while ((result = csoundPerformKsmps(csound)) == 0) {};
>    csoundDestroy(csound);
>
>
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com

Date2018-05-15 20:09
FromMichael Gogins
SubjectRe: [Csnd-dev] Is this c
Although this code was compiled using C++, it is C code, and would
behave the same way in a C program.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Tue, May 15, 2018 at 2:39 PM, jpff  wrote:
> On Tue, 15 May 2018, Michael Gogins wrote:
>
>> After this commit
>>
>> index 9b95674df..bf4c58881 100644
>> @@ -2062,7 +2062,7 @@ int csoundReadScoreInternal(CSOUND *csound,
>> const char *str)
>>     csound->scorestr = corfile_create_w(csound);
>>     corfile_puts(csound, (char *)str, csound->scorestr);
>>     //#ifdef SCORE_PARSER
>> -    corfile_puts(csound, "\n#exit\n", csound->scorestr);
>> +    corfile_puts(csound, "\ne\n#exit\n", csound->scorestr);
>>     //#endif
>>     corfile_flush(csound, csound->scorestr);
>>     /* copy sorted score name */
>>
>> After this change, all pieces using the API calls shown below, exit
>> immediately upon calling csoundPerformKsmps. It used to be that with
>> this sequence of calls, pieces would perform indefinitely, even if
>> there were no pending score events, thus permitting the user to send
>> score events at any time during an indefinite performance.
>>
>> I suspect a mistake in sending the "e" opcode in all cases.
>>
>> Regards,
>> Mike
>>
>>    csound = csoundCreate(0);
>>    csoundSetOption(csound, "-d");
>>    csoundSetOption(csound, "-m167");
>>    csoundSetOption(csound, "-odac");
>>    csoundCompileOrc(csound, orc);
>>    csoundReadScore(csound, sco);
>>    csoundStart(csound);
>>    while ((result = csoundPerformKsmps(csound)) == 0) {};
>>    csoundDestroy(csound);
>>
>>
>> -----------------------------------------------------
>> Michael Gogins
>> Irreducible Productions
>> http://michaelgogins.tumblr.com
>> Michael dot Gogins at gmail dot com
>>