Csound Csound-dev Csound-tekno Search About

NeXT, latest sources, sread.c, oload.c

Date1997-05-14 17:06
FromStephen Brandon - SysAdmin
SubjectNeXT, latest sources, sread.c, oload.c
Hi all,
I've just been catching up on the latest versions of csound. I have  
just managed to compile 3.46, after a bit of fiddling.

The changes made to sread.c in the stof function DO NOT work on NS.  
I had to revert to the commented out section (glad that was left  
there). It compiled ok (before my patching), but complained about  
illegal number formats in score files.

The reason I was getting the latest version was to see if a  
particular score/orchestra sent to me by a student would work.  
Previously it complained with an indexing overflow error. It still  
does! From my cursory glance through the oload.c code I can't really  
understand what is going on, and I don't understand the role of the  
indx variable. Perhaps someone can explain those to me, with  
particular regard to the example (appended) which has the indexing  
overflow error.

Lastly, I would love to get the latest MIDI driver for NS/I  
integrated into Csound. Has anyone out there attempted this?

Thanks very much,
Stephen Brandon
SysAdmin, Music Dept, Glasgow University

-------------------------------------------------------
	here are the .orc and .sco files (something to do with  
cellular automata or something...):

sr = 44100
kr = 4
ksmps = 11025
nchnls= 1


instr 1

k1 init p6
k2 init p7
k3 init p8
k4 init p9
k5 init p10
k6 init p11
k7 init p12
k8 init p13

if k2==1 kgoto bin2
k12=((k1+0+k3)==1?1:0)
kgoto cell3
bin2:	k12=((k1+1+k3)==2?1:0)

cell3:
if k3==1 kgoto bin3
k13=((k2+0+k4)==1?1:0)
kgoto cell4
bin3:	k13=((k2+1+k4)==2?1:0)

cell4:
if k4==1 kgoto bin4
k14=((k3+0+k5)==1?1:0)
kgoto cell5
bin4:	k14=((k3+1+k5)==2?1:0)

cell5:
if k5==1 kgoto bin5
k15=((k4+0+k6)==1?1:0)
kgoto cell6
bin5:	k15=((k4+1+k6)==2?1:0)

cell6:
if k6==1 kgoto bin6
k16=((k5+0+k7)==1?1:0)
kgoto cell7
bin6:	k16=((k5+1+k7)==2?1:0)

cell7:
if k7==1 kgoto bin7
k17=((k6+0+k8)==1?1:0)
kgoto cell8
bin7:	k17=((k6+1+k8)==2?1:0)

cell8:
if k8==1 kgoto bin8
k18=((k7+0+k1)==1?1:0)
kgoto cell1
bin8:	k18=((k7+1+k1)==2?1:0)

cell1:
if k1==1 kgoto bin1
k11=((k8+0+k2)==1?1:0)
kgoto next
bin1:	k11=((k8+1+k2)==2?1:0)


next:

a1	foscil  p4*k1,p5,1,0.5,1,1
a2	foscil  p4*k2,880,1,0.6,1,1
a3	foscil  p4*k3,440,1,0.7,1,1
;a4	foscil  p4*k4,440,1,0.8,1,1
;a5	foscil  p4*k5,440,1,0.9,1,1
;a6	foscil  p4*k6,440,1,1.0,1,1
;a7	foscil  p4*k7,440,1,1.1,1,1
;a8	foscil  p4*k8,440,1,1.2,1,1

k1 = k11
k2 = k12
k3 = k13
k4 = k14
k5 = k15
k6 = k16
k7 = k17
k8 = k18

out a1+a2+a3
;out a1+a2+a3+a4+a5+a6+a7+a8

endin

/*------------------------------------------*/


f1 0 4096 10 1

;instr start dur   amp   freq
;p1      p1   p3    p4    p5  p6  p7  p8  p9  p10 p11 p12 p13

 i1       0    5  4000  440   1   0   1   1   1   0   0   1

 The files compile when just two foscil's are used i.e. a1+a2 or  
a3+a4 etc but gives the error message 'indexing overflow error' when  
I try to use three or more.