[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-users] Can MixerChannel and PbindFX play nicely together?
Hi,
Does anyone successfully use PbindFx (miSCellaneous_lib) and
MixerChannel (ddw) together? I'm trying to use the MixerChannel to
record stems from some PbindFX-driven patches I'm working with.
Unfortunately, my test patch is throwing an error and I'm not sure how
to fix it. Both MixerChannel and PbindFx have differing naming
conventions for their SynthDef inputs and outputs. According to the
MixerChannel help, I think I've addressed this. Quoting:
-------------------------------------------------------
Note that if you use MixerChannel.play, you don't have to specify the
bus number as long as your synthdef uses outbus as the output bus
argument. Otherwise, do this:
a = m.play("pinkfilt", [\freq, 2000, \rq, 0.02, \out, m.inbus.index]);
-------------------------------------------------------
I'm using an outdated SC (v 3.6.6) on an old OSX (10.6.8). My PbindFx
is pretty recent, but my MixerChannel help has a "New feature (16 July
2005)", so it might be ancient. I'm unable to use the Quarks system to
update, so I'm hoping this is just me not understanding something.
Here's some test code:
// test FX SynthDef
(
SynthDef(\freeverb, { |out, in, damp(0.5), room(0.5), amp(1), mix(1)|
var signal, rvb;
signal = In.ar(in, 2);
rvb = FreeVerb.ar(signal, mix, room, damp, amp);
signal = signal + rvb;
Out.ar(out, signal);
}).add;
)
// the mixer channel
m = MixerChannel("test1", s, 2, 2, 1);
(
// the sequence
p = PbindFx([
\instrument, \default, // use default Synth for test
\dur, 0.25,
\amp, 0.2,
\midinote, Pseq([60, 67, 70, 73], inf),
\fxOrder, [1],
\out, m.inbus.index, // not sure about this
// \out, 0,
\cleanupDelay, 0.1
],[
\fx, \freeverb,
\amp, 1,
\room, 0.9,
\mix, 1,
\cleanupDelay, Pkey(\room) * 9
]
);
// play sequence through a mixer channel
x = m.play(
p,
[\out, m.inbus.index], // this, according to MixerChannel help
(quant: 2.0)
);
)
This is the error I'm getting:
-------------------------------------------------------
ERROR: Primitive '_BasicAt' failed.
Index not an Integer
RECEIVER:
Instance of Array { (0x122fb05f8, gc=08, fmt=01, flg=00, set=02)
indexed slots [2]
0 : Symbol 'out'
1 : Integer 12
}
CALL STACK:
MethodError:reportError 0x11d9b1298
arg this = <instance of PrimitiveFailedError>
Nil:handleError 0x11d62cbf8
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError 0x11e6f9e98
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw 0x11dbc5998
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed 0x105066fa8
arg this = [*2]
Pattern:playInMixerGroup 0x11ad6ea58
arg this = <instance of PbindFx>
arg mixer = <instance of MixerChannel>
arg target = <instance of Group>
arg patchType = <instance of Meta_Patch>
arg args = [*2]
var protoEvent = nil
var quant = nil
< closed FunctionDef > (no arguments or variables)
Interpreter:interpretPrintCmdLine 0x11b2b2778
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
~p = ~mx.play(
p,
[\out,..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine 0x11e4de718
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_BasicAt' failed.
Index not an Integer
RECEIVER: [ out, 12 ]
-------------------------------------------------------
Does anyone successfully use PbindFx and MixerChannel together? For
me, they're both very useful additions to SuperCollider, so it would
be unfortunate if they didn't play together.
Thanks very much (and sorry for the long post).
--
Jim W
_______________________________________________
sc-users mailing list
info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: https://listarc.bham.ac.uk/marchives/sc-users/
search: https://listarc.bham.ac.uk/lists/sc-users/search/