Re: [linux-audio-user] Behringer BCA 2000 - has anyone tried it ?

From: Mario Lang <mlang@email-addr-hidden>
Date: Mon Feb 28 2005 - 20:45:22 EET

Joe Hartley <jh@email-addr-hidden> writes:

>> > Jan Holst Jensen <jhje00@email-addr-hidden> 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
Received on Tue Mar 1 00:15:04 2005

This archive was generated by hypermail 2.1.8 : Tue Mar 01 2005 - 00:15:04 EET