[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-dev] Re: Some 3.3 work



why are you hard coding your busses? In this instance you really should be using s.controlBusAllocator.alloc(2). This is also documented, and has been the messaging style that has been suggested for a few years now.

Does this really break a lot of your code? Or is it something that can be changed? Personally, I think the ability to map audio signal to controls is a pretty big step forward.

If you can think of another way to get a control to know the difference between control bus 0 and audio bus 0, please let me know. I would be more then happy to use it. But I can't think of another way. If there are a number of people that think we shouldn't do this, that is also fine, but it seems like a few of us really like the idea.

I'll try to work out other ways to do this as well... but if this functionality is wanted, for the time being, I really can't think of another way.

Best,

Josh

On Dec 18, 2008, at 5:59 PM, Rohan Drape wrote:

On 2008-12-18, Josh Parmenter wrote:
This would BREAK any HARDCODED control indices between 0 and
numOuptutBusses - 1.

I don't think this is a good idea at all.

The control bus scheme has been documented since the first release of
scsynth, and the documentation very clearly states:

 Synths can send control signals to each other via a single global
 array of control buses.  Buses are indexed by integers beginning
 with zero.

It's already straightforward to write a function that switches between
reading from an audio or a control bus given a switching signal.

s.boot;

{ var f = rrand(220.0, 880.0)
; var w = rrand(-1.0, 1.0)
; [f, w].postln
; s.sendMsg ("c_set", 0, f, 1, w)
}.value

{ var offset = s.options.firstPrivateBus
; var bus_in = { arg r, i, nc
              ; var b = r > 0
              ; var k = In.kr(i, nc)
              ; var a = In.ar(i + offset, nc)
              ; (b * k) + ((1 - b) * a) }
; var switch = In.kr(1, 1)
; Out.ar(offset, LFNoise0.ar(92) * 220 + 660)
; Out.ar(0, SinOsc.ar(bus_in.value(switch, 0, 1), 0) * 0.1)
}.play


_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/

******************************************
/* Joshua D. Parmenter
http://www.realizedsound.net/josh/

“Every composer – at all times and in all cases – gives his own interpretation of how modern society is structured: whether actively or passively, consciously or unconsciously, he makes choices in this regard. He may be conservative or he may subject himself to continual renewal; or he may strive for a revolutionary, historical or social palingenesis." - Luigi Nono
*/


_______________________________________________
sc-dev mailing list

info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: https://listarc.bham.ac.uk/marchives/sc-dev/
search: https://listarc.bham.ac.uk/lists/sc-dev/search/