[Csnd] Csound 7

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Csound 7

iron_attorney
Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Mauro Giubileo

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro

 


Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

iron_attorney
Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time

On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro

 


Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Steven Yi
You may wish to look at the issues for CS7 here:


No timeline at the moment, though we have talked about getting CS7 to be the focus of dev work for a while. 


On Sat, Jun 9, 2018 at 11:44 AM Peter Burgess <[hidden email]> wrote:
Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time

On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro

 


Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Mauro Giubileo

Hi, Steven, I see from that page that pass-by-reference is in the to-do list... That's good! :-)

However, I don't understand very much the mixed syntax in your example:

opcode myOpcode(partials:k[]*):a
asig = synthesize_using_partials(partials)
xout asig
endop

I think I would be more comfortable with something more 'csound-classic-style' like this:
opcode myOpcode, a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

What do you think about it?

Another thing I don't understand is what happens in Csound 6 with output variables (like 'asig' in the above example). Are they copied too, or are passed by reference to the caller? In the case they are copied too, I suppose the above code should be modified like that:

opcode myOpcode, *a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

Best regards,
Mauro


Il 2018-06-09 21:58 Steven Yi ha scritto:

You may wish to look at the issues for CS7 here:
 
 
No timeline at the moment, though we have talked about getting CS7 to be the focus of dev work for a while. 
 

On Sat, Jun 9, 2018 at 11:44 AM Peter Burgess <[hidden email]> wrote:
Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time

On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro

 


Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Steven Yi
The new UDO syntax is a part of CS7 and makes it possible to work with
user-defined data types with names longer than one character.  My
preference is to keep the old syntax as frozen and to have it
maintained for backwards compatibility, and add new features to the
newer style.  For your example it's fine if there's only one data type
coming in, but what of something like:

opcode myOpcode, *a*a*a, *a*a*a
  asig1, asig2, asig3 xin  ;; have to have some weird rule now on what
asig1 is going to be by ref or value?
                                       ;; or do we have to notate
*asig1, *asig2, *asig3 ???

  xout &asig1,&asig2, &asig3  ;;  hm, do we need ref or address-of
operator? might be simpler to use & rather than c-style *
endop

versus

opcode myOpcode(signal1:a*, signal2:a*, signal3:a*):(a*, a*, a*)
endop

(my pref is  TYPE* rather than *TYPE)

I think it gets a little noisy with older UDO syntax because
everything is jammed together, rather than comma separated.
On Sun, Jun 10, 2018 at 9:58 AM Mauro Giubileo
<[hidden email]> wrote:

>
> Hi, Steven, I see from that page that pass-by-reference is in the to-do list... That's good! :-)
>
> However, I don't understand very much the mixed syntax in your example:
>
> opcode myOpcode(partials:k[]*):a
>  asig = synthesize_using_partials(partials)
>  xout asig
> endop
>
> I think I would be more comfortable with something more 'csound-classic-style' like this:
>
> opcode myOpcode, a, *k[]
>  kPartials[] xin
>  asig        =    synthesize_using_partials(kPartials)
>              xout asig
> endop
>
> What do you think about it?
>
> Another thing I don't understand is what happens in Csound 6 with output variables (like 'asig' in the above example). Are they copied too, or are passed by reference to the caller? In the case they are copied too, I suppose the above code should be modified like that:
>
> opcode myOpcode, *a, *k[]
>  kPartials[] xin
>  asig        =    synthesize_using_partials(kPartials)
>              xout asig
> endop
>
> Best regards,
> Mauro
>
>
> Il 2018-06-09 21:58 Steven Yi ha scritto:
>
> You may wish to look at the issues for CS7 here:
>
> https://github.com/csound/csound/milestone/12
>
> No timeline at the moment, though we have talked about getting CS7 to be the focus of dev work for a while.
>
>
> On Sat, Jun 9, 2018 at 11:44 AM Peter Burgess <[hidden email]> wrote:
>>
>> Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time
>>
>> On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:
>>>
>>> I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7
>>>
>>> Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.
>>>
>>> Regards,
>>> Mauro
>>>
>>>
>>>
>>>
>>> Il 2018-06-09 16:00 Peter Burgess ha scritto:
>>>
>>> Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
>>> Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Mauro Giubileo

Hi Steven,
I understand the reasons for the new syntax, but anyway I think that in this code there is no ambiguity:

opcode myOpcode, 0, *a*a*a

  asig1, asig2, asig3 xin

  asig1 = ...
  asig2 = ...
  asig3 = ...

endop

In the above code is clear to me that the programmer just want to work directly on the same asig1, asig2, asig3 vectors of the caller instrument (which, of course, could have different names in the caller) without have to copy them in new variables. I think the Csound parser should hide all the "inner works on the pointers" that you would see in a C/C++ code, that is, you should not have to use some C-like syntax like "&variable=..." or "*variable=..." inside the UDO.
I would like that the Csound user should just specify the various *x (or, if you prefer, x*) variable types in the opcode outtypes and intypes strings. Then the parser should consider all these x variables used inside the UDO as in C would be "*x=...", that is, you want to modify the data referenced by the pointer, not the pointer itself.
And being that you are already modifying the original vectors from the caller instrument code, in this particular case you don't even need for an xout instruction. :)


Best Regads,
Mauro


Il 2018-06-10 20:48 Steven Yi ha scritto:

The new UDO syntax is a part of CS7 and makes it possible to work with
user-defined data types with names longer than one character.  My
preference is to keep the old syntax as frozen and to have it
maintained for backwards compatibility, and add new features to the
newer style.  For your example it's fine if there's only one data type
coming in, but what of something like:

opcode myOpcode, *a*a*a, *a*a*a
  asig1, asig2, asig3 xin  ;; have to have some weird rule now on what
asig1 is going to be by ref or value?
                                       ;; or do we have to notate
*asig1, *asig2, *asig3 ???

  xout &asig1,&asig2, &asig3  ;;  hm, do we need ref or address-of
operator? might be simpler to use & rather than c-style *
endop

versus

opcode myOpcode(signal1:a*, signal2:a*, signal3:a*):(a*, a*, a*)
endop

(my pref is  TYPE* rather than *TYPE)

I think it gets a little noisy with older UDO syntax because
everything is jammed together, rather than comma separated.
On Sun, Jun 10, 2018 at 9:58 AM Mauro Giubileo
<[hidden email]> wrote:

Hi, Steven, I see from that page that pass-by-reference is in the to-do list... That's good! :-)

However, I don't understand very much the mixed syntax in your example:

opcode myOpcode(partials:k[]*):a
 asig = synthesize_using_partials(partials)
 xout asig
endop

I think I would be more comfortable with something more 'csound-classic-style' like this:

opcode myOpcode, a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

What do you think about it?

Another thing I don't understand is what happens in Csound 6 with output variables (like 'asig' in the above example). Are they copied too, or are passed by reference to the caller? In the case they are copied too, I suppose the above code should be modified like that:

opcode myOpcode, *a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

Best regards,
Mauro


Il 2018-06-09 21:58 Steven Yi ha scritto:

You may wish to look at the issues for CS7 here:

https://github.com/csound/csound/milestone/12

No timeline at the moment, though we have talked about getting CS7 to be the focus of dev work for a while.


On Sat, Jun 9, 2018 at 11:44 AM Peter Burgess <[hidden email]> wrote:

Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time

On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro




Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
[hidden email]
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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Csound 7

Mauro Giubileo

I would like to add an observation in your example:

opcode myOpcode, *a*a*a, *a*a*a
  asig1, asig2, asig3 xin  ;; have to have some weird rule now on what asig1 is going to be by ref or value?
                           ;; or do we have to notate *asig1, *asig2, *asig3 ???

  xout &asig1, &asig2, &asig3  ;;  hm, do we need ref or address-of operator? might be simpler to use & rather than c-style *
endop

In the above example, being that in the intypes and outtypes strings you have already specified the variable types (*a), there is no more need to add '*' or '&' before the variable names for the input/output parameters of the xin/xout instructions. This info is already obtainable from the intypes/outtypes, so why you should re-specify it before the variable names? I think it would be redundant...

Best Regards,
Mauro



Il 2018-06-11 00:11 Mauro Giubileo ha scritto:

Hi Steven,
I understand the reasons for the new syntax, but anyway I think that in this code there is no ambiguity:

opcode myOpcode, 0, *a*a*a

  asig1, asig2, asig3 xin

  asig1 = ...
  asig2 = ...
  asig3 = ...

endop

In the above code is clear to me that the programmer just want to work directly on the same asig1, asig2, asig3 vectors of the caller instrument (which, of course, could have different names in the caller) without have to copy them in new variables. I think the Csound parser should hide all the "inner works on the pointers" that you would see in a C/C++ code, that is, you should not have to use some C-like syntax like "&variable=..." or "*variable=..." inside the UDO.
I would like that the Csound user should just specify the various *x (or, if you prefer, x*) variable types in the opcode outtypes and intypes strings. Then the parser should consider all these x variables used inside the UDO as in C would be "*x=...", that is, you want to modify the data referenced by the pointer, not the pointer itself.
And being that you are already modifying the original vectors from the caller instrument code, in this particular case you don't even need for an xout instruction. :)


Best Regads,
Mauro


Il 2018-06-10 20:48 Steven Yi ha scritto:

The new UDO syntax is a part of CS7 and makes it possible to work with
user-defined data types with names longer than one character.  My
preference is to keep the old syntax as frozen and to have it
maintained for backwards compatibility, and add new features to the
newer style.  For your example it's fine if there's only one data type
coming in, but what of something like:

opcode myOpcode, *a*a*a, *a*a*a
  asig1, asig2, asig3 xin  ;; have to have some weird rule now on what
asig1 is going to be by ref or value?
                                       ;; or do we have to notate
*asig1, *asig2, *asig3 ???

  xout &asig1,&asig2, &asig3  ;;  hm, do we need ref or address-of
operator? might be simpler to use & rather than c-style *
endop

versus

opcode myOpcode(signal1:a*, signal2:a*, signal3:a*):(a*, a*, a*)
endop

(my pref is  TYPE* rather than *TYPE)

I think it gets a little noisy with older UDO syntax because
everything is jammed together, rather than comma separated.
On Sun, Jun 10, 2018 at 9:58 AM Mauro Giubileo
<[hidden email]> wrote:

Hi, Steven, I see from that page that pass-by-reference is in the to-do list... That's good! :-)

However, I don't understand very much the mixed syntax in your example:

opcode myOpcode(partials:k[]*):a
 asig = synthesize_using_partials(partials)
 xout asig
endop

I think I would be more comfortable with something more 'csound-classic-style' like this:

opcode myOpcode, a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

What do you think about it?

Another thing I don't understand is what happens in Csound 6 with output variables (like 'asig' in the above example). Are they copied too, or are passed by reference to the caller? In the case they are copied too, I suppose the above code should be modified like that:

opcode myOpcode, *a, *k[]
 kPartials[] xin
 asig        =    synthesize_using_partials(kPartials)
             xout asig
endop

Best regards,
Mauro


Il 2018-06-09 21:58 Steven Yi ha scritto:

You may wish to look at the issues for CS7 here:

https://github.com/csound/csound/milestone/12

No timeline at the moment, though we have talked about getting CS7 to be the focus of dev work for a while.


On Sat, Jun 9, 2018 at 11:44 AM Peter Burgess <[hidden email]> wrote:

Ok cool, cheers. I'll have a read through that. I think I did once before, but not for a long time

On Sat, 9 Jun 2018, 17:47 Mauro Giubileo, <[hidden email]> wrote:

I think it's in the works, but I don't know when it is expected to come out. There is a wiki page here: https://github.com/csound/csound/wiki/Changes-for-Csound-7

Honestly, I would like very much that in the next big Csound release you could pass parameters by reference to the UDOs. If you use many UDOs that take and return a-type variables, passing parameters by reference could improve real-time performance by a good margin. For now, in these cases, I'm using (or maybe I'm abusing) macros with arguments, instead of UDOs, but of course this is not an ideal solution.

Regards,
Mauro




Il 2018-06-09 16:00 Peter Burgess ha scritto:

Do I remember rightly talk of a Csound 7 in the works? Is that something coming soon?
Csound mailing list [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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 [hidden email] 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
[hidden email]
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 [hidden email] 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 [hidden email] 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