RedMixerChannel channel strip



req: Conductor quark

see also: RedMixer, RedMixerGUI, RedEffectModule


class methods:


*new(outputChannels, group, lag)

outputChannels - array.  default [0, 1]

group - if nil then Server.default.defaultGroup will be used

lag - for eq settings, balance and volume.  in seconds.  default= 0.05.


instance methods:


mute(boolean)

true sets the volume to zero.  false recalls the volume.

insertClass(redEfxClass, addAction)

creates a new RedEffectModule before the equaliser.

redEfxClass - a class or an array of classes.

addAction - local to the inserts.  default is \addToHead which will put it first in the chain of inserts.

insert(redEfx, addAction)

adds a RedEffectModule before the equaliser.

note: you can not do .insert(RedEfxRing.new) without a fork.

redEfx - an instance or an array of instances.

addAction - local to the inserts.  default is \addToHead which will put it first in the chain of inserts.

removeClass(redEfxClass)

redEfxClass - free and remove all instances of this RedEffectModule class.  can also be an array.

remove(redEfx)

redEfx - free and remove this RedEffectModule.  can also be an array.

removeAll

free and remove all effects in one go.

defaults

revert all cvs to their defaults.

out

returns current bus.

out_(index)

set current bus.

gui(parent, position)

create a RedMixerChannelGUI.

free

free synth, equaliser, inserts and remove oscreponder.

resetPeaked

set cvs.peaked0 and cvs.peaked1 to 0.

def(channels)

returns the mixer channel synthdef.

defEq(channels)

returns the equaliser synthdef.


instance variables:


<group

the group in use.

<cvs

dictionary of CVs:

out - 

lag - 

eqHi - 

eqMi - 

eqLo - 

hiFreq - 

hiBand - 

hiGain - 

miFreq - 

miBand - 

miGain - 

loFreq - 

loBand - 

loGain -

bal - 

vol - 

peak0 - 

peak1 - 

peaked0 - 

peaked1 - 

<inserts

array of current inserts.

<args

array of arguments sent to the mixer channel synth.



//--

a= RedMixerChannel(#[0, 1]);

b= Pbind(\pan, Pseq([-1, 1], inf), \amp, 0.5).play

a.cvs.vol.value= -9

a.out= 1

a.out= 0

a.cvs.vol.value= 0

a.cvs.lag.value= 1

a.cvs.bal.value= -0.9

a.cvs.bal.value= 0.9

a.cvs.peak0.value

a.cvs.peak1.value


a.cvs.vol.value= 18

a.cvs.peaked0.value

a.cvs.peaked1.value

a.cvs.vol.value= -9

a.resetPeaked

a.cvs.peaked0.value

a.cvs.peaked1.value

a.free

b.stop


//--

a= RedMixerChannel(#[0, 1]);

b= {Pan2.ar(WhiteNoise.ar(LFNoise2.kr(4).abs), LFNoise2.kr(2))}.play

a.cvs.vol.value= -12

a.cvs.eqHi.value= 1

a.cvs.hiFreq.value= 9000

a.cvs.hiBand.input= 0.3

a.cvs.hiGain.input= 0.7

a.cvs.eqHi.value= 0

a.cvs.eqMi.value= 1

a.cvs.miFreq.value= 1500

a.cvs.miBand.input= 0.2

a.cvs.miGain.input= 0.9

a.cvs.eqMi.value= 0

a.cvs.eqLo.value= 1

a.cvs.loFreq.value= 500

a.cvs.loBand.input= 0.3

a.cvs.loGain.input= 0.7

a.cvs.eqLo.value= 0

a.free

b.free


//--

a= RedMixerChannel(#[0, 1]);

b= {Pan2.ar(WhiteNoise.ar(LFNoise2.kr(4).abs), LFNoise2.kr(2))}.play

c= RedEfxVerb.new

a.insert(c)

a.inserts[0].cvs.verbMix.input= 0.5

a.insertClass([RedEfxBitc, RedEfxDist])

a.inserts

a.remove(c)

a.inserts

a.insertClass(RedEfxRing, \addToTail)

a.inserts.last.cvs.ringMix.input= 0.5

a.inserts

a.removeClass(RedEfxRing)

a.inserts

a.removeAll

a.inserts

a.mute(true)

a.mute(false)

a.free

b.free