On Wed, Dec 02, 2009 at 06:37:39PM -0500, Michael Gogins wrote: > The easiest, and probably also the best, way to deal with this is to > write 2 new input and output opcodes, each taking an independent > number of channels, named something like "vin" and "vout". > > All asig variables are 1 channel, so there is nothing in between input > and output that needs to be specific for a given number of channels. > The reason the number exists is because of Unix-y assumptions about > piping audio in and out of Csound, and the middle layer of the audio > drivers. > > In other words, instead of > > aleft, aright ins > outs aleft, aright > > You could do this > > ain1, ain2 vin 2 > > Followed by this > > vout 4, aout1, aout2, aout3, aout4 > > For this to work, the new opcodes would have to provide their own > middle layers. > > The spout and spin buffers would then simply not be used at all. > > I THINK this would work. Probably yes, but what is gained w.r.t. the existing inch, inrg, outch, outrg ? AFAICS these provide the same functionality (with inch limited to one channel at a time, but that is not a real problem). If the spout and spin buffer would still exist in the same form then probably so will the Jack ports and everything associated with them. The point of my question (maybe not clearly put) was if these could be trimmed to just the ones required, removing some clutter and overhead. One solution maybe could be to have two new constants (and command line options) 'ninputs' and 'noutputs', and set nchnls to the smallest of these if both are nonzero. So nothing would change if they are equal. Then your new opcodes and/or inch, inrg, outch, outrg would have a range determined by ninputs resp. noutputs, while the others would depend on nchnls in the same way as they do now. Ciao, -- FA Wie der Mond heute Nacht aussieht ! Ist es nicht ein seltsames Bild ? ------------------------------------------------------------------------------ Join us December 9, 2009 for the Red Hat Virtual Experience, a free event focused on virtualization and cloud computing. Attend in-depth sessions from your desk. Your couch. Anywhere. http://p.sf.net/sfu/redhat-sfdev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net