Csound Csound-dev Csound-tekno Search About

[CSOUND-DEV:4997] Opcode arg-types, Operators

Date2004-07-15 19:44
Fromsteven yi
Subject[CSOUND-DEV:4997] Opcode arg-types, Operators
Hi all,

Looking at entry1.c's documentation on argument types it seems there's a 
few missing.  Here's what I'm finding:


/* inarg types include the following:
                 m       begins an indef list of iargs (any count)
                 M       begins an indef list of args (any count and 
rate) IV 2002/9/1
                 n       begins an indef list of iargs (nargs odd)
                 o       optional, defaulting to 0
                 p       "            "       1
                 q       "            "       10
                 v       "            "       .5
                 j       "            "       -1
                 h       "            "       127
                 y       begins indef list of aargs (any count)
                 z       begins indef list of kargs (any count)
                 Z       begins alternating kakaka...list (any count)
    outarg types include:
                 m       multiple outargs (1 to 4 allowed)
    (these types must agree with rdorch.c)                       */


For inarg-types that aren't listed (I've added descriptions for one's I 
know, please correct if incorrect):

i - irate scalar
k - krate scalar
a - arate vector
x - krate scalar or arate vector
S - String
B -
l -

for out-arg types, i've found (again with my own descriptions):

i - irate scalar
k - krate scalar
a - arate vector
s -
r - reserved variable name (i.e. sr, kr, nchnls)
B -

I'm curious too as to what is the process for adding operators.  I'm 
assuming the B arg-type is involved but I am not confident I can explain 
this clearly for documentation.

Any help clarifying this would be great appreciated (and will go into 
documentation!)

Thanks,
steven

Date2004-07-15 20:06
FromRichard Dobson
Subject[CSOUND-DEV:4998] Re: Opcode arg-types, Operators
You can add "w" (spectral datatype) and "f" (streaming pvoc fsig type) to the 
list.  These characters are for the most part  (well, in Csound4 anyway - 
haven't looked at Csound5) somewhat buried in the code; so that programmers are 
required to bury new ones in the code too! I would guess that John's parser 
would collect them into a more readable/extensible centralized whaddayacallit. I 
had this dream that by means of some cunning re-programming we could eliminate 
the internal characters (i.e. ones not written by a Csound user in an opcode 
call), to free more up for signal types, but I think that escaped the cut for 
Csound5.

Richard Dobson


steven yi wrote:
> Hi all,
> 
> Looking at entry1.c's documentation on argument types it seems there's a 
> few missing.  Here's what I'm finding:
> 
> 
> /* inarg types include the following:
>                 m       begins an indef list of iargs (any count)
>                 M       begins an indef list of args (any count and 
> rate) IV 2002/9/1
>                 n       begins an indef list of iargs (nargs odd)
>                 o       optional, defaulting to 0
>                 p       "            "       1
>                 q       "            "       10
>                 v       "            "       .5
>                 j       "            "       -1
>                 h       "            "       127
>                 y       begins indef list of aargs (any count)
>                 z       begins indef list of kargs (any count)
>                 Z       begins alternating kakaka...list (any count)
>    outarg types include:
>                 m       multiple outargs (1 to 4 allowed)
>    (these types must agree with rdorch.c)                       */
> 
> 
> For inarg-types that aren't listed (I've added descriptions for one's I 
> know, please correct if incorrect):
> 
> i - irate scalar
> k - krate scalar
> a - arate vector
> x - krate scalar or arate vector
> S - String
> B -
> l -
> 
> for out-arg types, i've found (again with my own descriptions):
> 
> i - irate scalar
> k - krate scalar
> a - arate vector
> s -
> r - reserved variable name (i.e. sr, kr, nchnls)
> B -
> 
> I'm curious too as to what is the process for adding operators.  I'm 
> assuming the B arg-type is involved but I am not confident I can explain 
> this clearly for documentation.
> 
> Any help clarifying this would be great appreciated (and will go into 
> documentation!)
> 
> Thanks,
> steven
> 
> 
> 

Date2004-07-15 20:16
Fromsteven yi
Subject[CSOUND-DEV:4999] Re: Opcode arg-types, Operators
Richard Dobson wrote:

> You can add "w" (spectral datatype) and "f" (streaming pvoc fsig type) 
> to the list.  These characters are for the most part  (well, in Csound4 
> anyway - haven't looked at Csound5) somewhat buried in the code; so that 
> programmers are required to bury new ones in the code too! I would guess 
> that John's parser would collect them into a more readable/extensible 
> centralized whaddayacallit. I had this dream that by means of some 
> cunning re-programming we could eliminate the internal characters (i.e. 
> ones not written by a Csound user in an opcode call), to free more up 
> for signal types, but I think that escaped the cut for Csound5.
> 
> Richard Dobson
> 
> 
> steven yi wrote:
> 
>> Hi all,
>>
>> Looking at entry1.c's documentation on argument types it seems there's 
>> a few missing.  Here's what I'm finding:
>>
>>
>> /* inarg types include the following:
>>                 m       begins an indef list of iargs (any count)
>>                 M       begins an indef list of args (any count and 
>> rate) IV 2002/9/1
>>                 n       begins an indef list of iargs (nargs odd)
>>                 o       optional, defaulting to 0
>>                 p       "            "       1
>>                 q       "            "       10
>>                 v       "            "       .5
>>                 j       "            "       -1
>>                 h       "            "       127
>>                 y       begins indef list of aargs (any count)
>>                 z       begins indef list of kargs (any count)
>>                 Z       begins alternating kakaka...list (any count)
>>    outarg types include:
>>                 m       multiple outargs (1 to 4 allowed)
>>    (these types must agree with rdorch.c)                       */
>>
>>
>> For inarg-types that aren't listed (I've added descriptions for one's 
>> I know, please correct if incorrect):
>>
>> i - irate scalar
>> k - krate scalar
>> a - arate vector
>> x - krate scalar or arate vector
>> S - String
>> B -
>> l -
>>
>> for out-arg types, i've found (again with my own descriptions):
>>
>> i - irate scalar
>> k - krate scalar
>> a - arate vector
>> s -
>> r - reserved variable name (i.e. sr, kr, nchnls)
>> B -
>>
>> I'm curious too as to what is the process for adding operators.  I'm 
>> assuming the B arg-type is involved but I am not confident I can 
>> explain this clearly for documentation.
>>
>> Any help clarifying this would be great appreciated (and will go into 
>> documentation!)
>>
>> Thanks,
>> steven
>>
>>
>>
> 
> 
> 

Date2004-07-15 20:34
Fromsteven yi
Subject[CSOUND-DEV:5002] Re: Opcode arg-types, Operators
(sorry, accidentally sent the last one without a reply!)

Thanks Richard for noting those arg-types!  I'll add those to both the 
in-args and out-args lists and will update the csound.tex file probably 
sometime tonight after work.

steven


Richard Dobson wrote:

> You can add "w" (spectral datatype) and "f" (streaming pvoc fsig type) 
> to the list.  These characters are for the most part  (well, in Csound4 
> anyway - haven't looked at Csound5) somewhat buried in the code; so that 
> programmers are required to bury new ones in the code too! I would guess 
> that John's parser would collect them into a more readable/extensible 
> centralized whaddayacallit. I had this dream that by means of some 
> cunning re-programming we could eliminate the internal characters (i.e. 
> ones not written by a Csound user in an opcode call), to free more up 
> for signal types, but I think that escaped the cut for Csound5.
> 
> Richard Dobson
> 
> 
> steven yi wrote:
> 
>> Hi all,
>>
>> Looking at entry1.c's documentation on argument types it seems there's 
>> a few missing.  Here's what I'm finding:
>>
>>
>> /* inarg types include the following:
>>                 m       begins an indef list of iargs (any count)
>>                 M       begins an indef list of args (any count and 
>> rate) IV 2002/9/1
>>                 n       begins an indef list of iargs (nargs odd)
>>                 o       optional, defaulting to 0
>>                 p       "            "       1
>>                 q       "            "       10
>>                 v       "            "       .5
>>                 j       "            "       -1
>>                 h       "            "       127
>>                 y       begins indef list of aargs (any count)
>>                 z       begins indef list of kargs (any count)
>>                 Z       begins alternating kakaka...list (any count)
>>    outarg types include:
>>                 m       multiple outargs (1 to 4 allowed)
>>    (these types must agree with rdorch.c)                       */
>>
>>
>> For inarg-types that aren't listed (I've added descriptions for one's 
>> I know, please correct if incorrect):
>>
>> i - irate scalar
>> k - krate scalar
>> a - arate vector
>> x - krate scalar or arate vector
>> S - String
>> B -
>> l -
>>
>> for out-arg types, i've found (again with my own descriptions):
>>
>> i - irate scalar
>> k - krate scalar
>> a - arate vector
>> s -
>> r - reserved variable name (i.e. sr, kr, nchnls)
>> B -
>>
>> I'm curious too as to what is the process for adding operators.  I'm 
>> assuming the B arg-type is involved but I am not confident I can 
>> explain this clearly for documentation.
>>
>> Any help clarifying this would be great appreciated (and will go into 
>> documentation!)
>>
>> Thanks,
>> steven
>>
>>
>>
> 
> 
> 

Date2004-07-16 00:08
FromAnthony Kozar
Subject[CSOUND-DEV:5004] Re: Opcode arg-types, Operators
These really should be an array of some enumerated type.  As long as we are
replacing the parser, I don't see why we shouldn't change some things to use
proper data structures instead of "hacks."  That would go for the whole
0xffff, etc. thing as well.

On 7/15/04 3:06 PM, Richard Dobson etched in
stone:

> I had this dream that by means of some cunning re-programming we could
> eliminate the internal characters (i.e. ones not written by a Csound
> user in an opcode call), to free more up for signal types, but I think
> that escaped the cut for Csound5.