| ------- Start of forwarded message -------
From: "gogins@pipeline.com"
To: Csound Developers Discussion List
Subject: [CSOUND-DEV:4572] RE: Bus design
Date: Thu, 6 May 2004 09:45:27 -0400
Your proposal is simple and makes sense to me. I would prefer automatic
growing of the bus vectors. I take it that the MYFLT* arguments in the
audio rate API point to vectors of ksmps MYFLT.
Original Message:
- -----------------
From: jpff@codemist.co.uk
Date: Thu, 6 May 2004 09:31:16 +0100
To: csound-dev@eartha.mills.edu
Subject: [CSOUND-DEV:4571] Bus design
This message is a meander through thoughts on the software bus.
Basic design:
Finite number of a-input, a-output, k-input and k-output slots, all
independent.
Csound interface with four opcodes:
buso a1, kn ;; write a1 to a-output #kn
ar busi kn ;; read ar from a-input #kn
buso k1, kn ;; write k1 to k-output #kn
kr busi kn ;; read kr from k-input #kn
API interface:
Not so sure about this but something like
csoundReadABus(void*, MYFLT* a, int n);
csoundWriteABus(void*, MYFLT* a, int n);
csoundReadKBus(void*, MYFLT* k, int n);
csoundWriteKBus(void*, MYFLT* k, int n);
/* or csoundWriteKBus(void*, MYFLT k,int n); ???*/
Implementation:
Within the ENVIRON variable pointers to the four regions. Rest is
obvious!
Problems:
How many bus items should we provide? Should it be a fixed number
or grow as referenced?
Alternatives:
Just allow access to ZAK buses from the API. I rather prefer the
above as it seems simpler and orthogonal to previous ideas
Comments, improvements,... as appropriate. The above would be easy to
implement over breakfast(!)
==John ffitch
- --------------------------------------------------------------------
------- End of forwarded message -------
==John ffitch |