Csound Csound-dev Csound-tekno Search About

[Cs-dev] csound5.11 f-statements

Date2009-10-20 19:50
FromSchumacher Marlon
Subject[Cs-dev] csound5.11 f-statements
Hello,

Please excuse me writing this long email.
I have a question about a new feature in csound5.11, which I thought  
is rather appropriate for the devel-list.

It says in the release notes:

     PMAX, the number of arguments to a score event has been reduced
     by 2, and an overflow system introduced so GENs can have
     arbitrary numbers of arguments

After some testing today (with GEN7 and GEN-7) I found that there  
still seems to be a limit, or perhaps a bug:

The limit seems to be different depending if one uses a negative GEN- 
number (bypasses rescaling) or not. Below are some examples (posts to  
the Csound5GUI-console).
I am not posting the scores (because of the long f-statements), the  
orchestra is at the bottom of the mail.
I am using "Csound version 5.11 (double samples) Sep 24 2009" on a  
MBPro17", MacOS10.6.1.


For negative GEN-numbers the max number of p-fields seems to be 2010:

1. 2010 p-fields (4+1003 value-pairs) with GEN-7
--------------------------------------------
ftable 500:	4097 points, scalemax 1.568
new alloc for instr 1:
B  0.000 ..  1.000 T  1.000 TT  1.000 M:    -2.09
Score finished in csoundPerformKsmps().
inactive allocs returned to freespace
end of score.		   overall amps:    -2.09
	   overall samples out of range:        0
0 errors in performance

---> works fine.


2. 2012 p-fields (4+1004 value-pairs) with GEN-7
------------------------------------------
ftable 500: gen call has negative segment size:
f500     0.00  4097.00    -7.00   -1.56 ...
new alloc for instr 1:
INIT ERROR in instr 1: Invalid ftable no. 500.000000
a2	poscil.kk	iamp	idurosc	iaenv	0	
	  B  0.000 - note deleted.  i1 had 1 init errors
Score finished in csoundPerformKsmps().
inactive allocs returned to freespace
end of score.		   overall amps:      0
	   overall samples out of range:        0
1 errors in performance

---> doesn't work because of 'negative segment size' (-> the f- 
statement is exactly the same as above just more p-fields)

3. 4004 p-fields (4+2000 value pairs) with GEN7
------------------------------------------
ftable 500:	4097 points, scalemax 1.000
new alloc for instr 1:
B  0.000 ..  1.000 T  1.000 TT  1.000 M:    -6.00
Score finished in csoundPerformKsmps().
inactive allocs returned to freespace
end of score.		   overall amps:    -6.00
	   overall samples out of range:        0
0 errors in performance

---> this works. Please note, however, that Csound5GUI was crashing  
every now and then with these large f-statements.

Is this the expected behaviour or is there perhaps something I am not  
seeing or I missed (e.g. do I need to set some environment-variables  
or similar)?
Any help/suggestions would be greatly appreciated!

Many thanks,
Best,
Marlon

PS: If it helps I could provide the scores as a textfile.


Here is the orchestra (simple, for testing-purposes ...the tables  
above are used for iaenv):

sr = 44100
kr = 44100
ksmps = 1
nchnls = 1
0dbfs   = 8388607 ; 24 bits

instr 1

idur		= p3
idurosc		= 1/idur
iamp 		= (p4 > 0.0 ? (p4*0.001*0dbfs) : (ampdbfs (p4)))
ifq		= p5
iaenv		= p6
iaudiofun	= 1

    a2    poscil  iamp, idurosc, iaenv
    a1    poscil  a2, ifq, iaudiofun
          out     a1

endin


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net