Joe Hartley <jh(a)brainiac.com> writes:
> Jan Holst
Jensen <jhje00(a)yahoo.com> writes:
>
> > I see that Behringer has released a new gadget:
> >
> >
http://www.behringer.com/BCA2000/index.cfm?lang=ENG
> >
> > Has anyone tried this thing ?
I have not used that one, but I recently got a BCF2000 and it is working
very well for me.
I use a BCF2000 as well, and I have to say, this is the best thing
you get for such a price. I absolutely love it, and would even
pay trice the money. There is nothing more useful than motorized
faders, especially if you're blind like me. Its effectively
a tactile display, 8x128, pretty cool! :-). I actually did things
like "visualize" certain wave forms (like Sine and so on) using
a specialized Class for the BCF I wrote for SuperCollider3. In the end,
I added a "zoom" and "offset" rotary and set the first 3 buttons to
switch
between waveforms, and really had a perfectly cool tool
for teaching blind people about continuus waveforms. And its
damn fast, the reaction time of the motors is amazing. Its truly
wonderful how one can "ab"use technology at times. :-)
// Init MIDI and tell BCF about MidiOut
MIDIClient.init;
MIDIIn.connect(0, MIDIClient.sources.detect {|src|
src.name.find("BCF2000").notNil });
BCF.midiOut=MIDIOut(0, 0);
"aconnect 128:1 72:0".unixCmd; // Hack necessary to get midiOut working
// View sin/cos/tan with variable resolution (knob 1) and offset (knob 2) (rotary group
1)
// Use key 1 through 3 to change the waveform and key 4 to exit
(
var sliders, resolution, offset, function, keys, draw;
function=\sin;
sliders=Array.fill(8, {|i|BCF(\slider, i+1, \bipolar)});
keys=Array.new.add(BCF(\key, 1, \midi, {function=\sin; draw.value}))
.add(BCF(\key, 2, \midi, {function=\cos; draw.value}))
.add(BCF(\key, 3, \midi, {function=\tan; draw.value}))
.add(BCF(\key, 4, \midi, {
resolution.free; offset.free; (keys++sliders).do{|bcf|bcf.free} }));
resolution=BCF(\r1, 1, [8, 136, \lin, 1], {
offset.spec=[
0, resolution.value-8, \lin, 1, min(offset.value,resolution.value-8)];
draw.value });
draw={ sliders.do {|slider,i|
slider.value = (pi*2/(resolution.value-1)*(i+offset.value)).perform(function)
}
};
offset=BCF(\r1, 2, [0, resolution.value-8, \lin, 1], {draw.value});
draw.value // Kick off
)
The BCF class can be found at
http://delysid.org/sc/BCF.sc
(and JITLib support for BCF at
http://delysid.org/sc/BCFProxyControl.sc).
--
CYa,
Mario