Csound Csound-dev Csound-tekno Search About

Re: [Csnd] Bracketed score calculation for brace repeat count

Date2019-05-19 21:51
FromPartev Barr Sarkissian
SubjectRe: [Csnd] Bracketed score calculation for brace repeat count
C++ syntax. Beyond that, don't know. 
I'm only guessing that, [3] is an invalid form of 
declaration of a variable.



-PBS 

================================= 


--- pete.goodeve@COMPUTER.ORG wrote:

From:         Pete Goodeve 
To:           CSOUND@LISTSERV.HEANET.IE
Subject: Re: [Csnd] Bracketed score calculation for brace repeat count
Date:         Sun, 19 May 2019 13:27:23 -0700

Sorry -- can't resist poking my nose in when I see something I know
nothing about...! (:-/)

Is that curly-brace construct documented *anywhere*?  I've searched
the manual without finding any reference. I thought it would be an
alternative to the 'r' statement but experimentally it's not -- it runs
n instances in parallel.

Anyway, I can corroborate the finding.  In Csound 6, a construct
like:

   { 3
    i1...
   }

works,

   { [3]
    i1...
   }

gives "invalid repeat count".

The latter in Csound 5 works fine.  I also find that in Csound 6
"r [3]" gives the same error.

	-- Pete --


 
On Sat, May 18, 2019 at 09:45:18PM -0400, mskala@ANSUZ.SOOKE.BC.CA wrote:
> I'm dusting off an old Csound project from 2013, which would have been
> written for whatever version of Csound was current at the time.  When I
> try to compile it with the version currently installed on my system, which
> is Csound 6.04, it doesn't work; Csound gives the error "score error:  {:
> invalid repeat count".
> 
> With a bit of experimentation, I've determined that the issue is with
> using square-bracket calculations in the repeat count of the curly-brace
> repeat construct.  I had syntax like this in the score:
> 
> { [$A+$B]
> i1 2 3 4 5
> i1 4 5 6 7
> }
> 
> Although both my example and my actual file were using macros inside the
> square brackets, and in my actual file I was doing this inside a macro
> definition of its own, I've verified that Csound also fails if I use just
> "[2]" or similar as the repeat count, outside a macro definition; it is
> having square brackets in the repeat count at all that causes the problem,
> not the involvement of macros.  I haven't (yet) experimented with
> different old versions of Csound to see which ones can compile the file,
> but I'm sure that in 2013 when I wrote this file I must have had a Csound
> that could work with it.
> 
> So, my questions are:  was this feature deliberately removed from Csound
> some time in the last few years?  Is its failure to work in 6.04 a bug?
> Is there some easy workaround?  I think I can modify my file by doing the
> calculation by hand and substituting the result in without using
> square-bracket calculations, but it'd be nice if I could compile my file
> unmodified.
> 
> -- 
> Matthew Skala
> mskala@ansuz.sooke.bc.ca                 People before tribes.
> https://ansuz.sooke.bc.ca/
> 
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here




_____________________________________________________________
Netscape.  Just the Net You Need.

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here