<?xml version="1.0" encoding="UTF-8"?>
<ArdourMIDIBindings version="1.0.0" name="Behringer BCF4000">
<!-- 2013-01-27 Steven Tonge                                        -->

<!-- This file requires 2 BCF2000 units with special presets I      -->
<!-- created, Ardour 1-8 on the left-hand one and Ardour 9-16 on    -->
<!-- the right-hand one.                                            -->
<!-- The two controllers are configured as one, single 16 channel   -->
<!-- unit with channel 16 (8 on the right-hand unti) as the master. -->
<!-- This gives a bank size of 15 channels.                         -->
<DeviceInfo bank-size="15" motorised="yes"/>

<!--  Channel controls:                                             -->
<!--   - the rotary encoder, when pushed, will toggle solo on or    -->
<!--     off on the individual channels, regardless of which page   -->
<!--     the encoder is on.                                         -->
<!--   - Rotary control is as follows page 1: channel pan (only     -->
<!--     implemented for mono channels really at the moment);       -->
<!--     page 2: send 1 level; page 3: send 2 level; page 4: send   -->
<!--     3 level.  Obviously the send levels depend on having the   -->
<!--     appropriate sends configured for each channel.             -->
<!--   - The buttons below the rotary encoder toggle record enable  -->
<!--     and the mute functions for the channel respectively.       -->
<!--   - The slider, of course is the channel level control.        -->
<!--                                                                -->

<Binding channel="1" ctl="1"                    uri="/route/gain      B1"/>
<Binding channel="1" ctl="2"                    uri="/route/pandirection       B1"/>
<Binding channel="1" ctl="3"                    uri="/route/send/gain B1 1"/>
<Binding channel="1" ctl="4"                    uri="/route/send/gain B1 2"/>
<Binding channel="1" ctl="5"                    uri="/route/send/gain B1 3"/>
<Binding channel="1" ctl="8"                    uri="/route/solo      B1"/>
<Binding channel="1" ctl="7"                    uri="/route/mute      B1"/>
<Binding channel="1" ctl="6"                    uri="/route/recenable B1"/>

<Binding channel="2" ctl="1"                    uri="/route/gain      B2"/>
<Binding channel="2" ctl="2"                    uri="/route/pandirection       B2"/>
<Binding channel="2" ctl="3"                    uri="/route/send/gain B2 1"/>
<Binding channel="2" ctl="4"                    uri="/route/send/gain B2 2"/>
<Binding channel="2" ctl="5"                    uri="/route/send/gain B2 3"/>
<Binding channel="2" ctl="8"                    uri="/route/solo      B2"/>
<Binding channel="2" ctl="7"                    uri="/route/mute      B2"/>
<Binding channel="2" ctl="6"                    uri="/route/recenable B2"/>

<Binding channel="3" ctl="1"                    uri="/route/gain      B3"/>
<Binding channel="3" ctl="2"                    uri="/route/pandirection       B3"/>
<Binding channel="3" ctl="3"                    uri="/route/send/gain B3 1"/>
<Binding channel="3" ctl="4"                    uri="/route/send/gain B3 2"/>
<Binding channel="3" ctl="5"                    uri="/route/send/gain B3 3"/>
<Binding channel="3" ctl="8"                    uri="/route/solo      B3"/>
<Binding channel="3" ctl="7"                    uri="/route/mute      B3"/>
<Binding channel="3" ctl="6"                    uri="/route/recenable B3"/>

<Binding channel="4" ctl="1"                    uri="/route/gain      B4"/>
<Binding channel="4" ctl="2"                    uri="/route/pandirection       B4"/>
<Binding channel="4" ctl="3"                    uri="/route/send/gain B4 1"/>
<Binding channel="4" ctl="4"                    uri="/route/send/gain B4 2"/>
<Binding channel="4" ctl="5"                    uri="/route/send/gain B4 3"/>
<Binding channel="4" ctl="8"                    uri="/route/solo      B4"/>
<Binding channel="4" ctl="7"                    uri="/route/mute      B4"/>
<Binding channel="4" ctl="6"                    uri="/route/recenable B4"/>

<Binding channel="5" ctl="1"                    uri="/route/gain      B5"/>
<Binding channel="5" ctl="2"                    uri="/route/pandirection       B5"/>
<Binding channel="5" ctl="3"                    uri="/route/send/gain B5 1"/>
<Binding channel="5" ctl="4"                    uri="/route/send/gain B5 2"/>
<Binding channel="5" ctl="5"                    uri="/route/send/gain B5 3"/>
<Binding channel="5" ctl="8"                    uri="/route/solo      B5"/>
<Binding channel="5" ctl="7"                    uri="/route/mute      B5"/>
<Binding channel="5" ctl="6"                    uri="/route/recenable B5"/>

<Binding channel="6" ctl="1"                    uri="/route/gain      B6"/>
<Binding channel="6" ctl="2"                    uri="/route/pandirection       B6"/>
<Binding channel="6" ctl="3"                    uri="/route/send/gain B6 1"/>
<Binding channel="6" ctl="4"                    uri="/route/send/gain B6 2"/>
<Binding channel="6" ctl="5"                    uri="/route/send/gain B6 3"/>
<Binding channel="6" ctl="8"                    uri="/route/solo      B6"/>
<Binding channel="6" ctl="7"                    uri="/route/mute      B6"/>
<Binding channel="6" ctl="6"                    uri="/route/recenable B6"/>

<Binding channel="7" ctl="1"                    uri="/route/gain      B7"/>
<Binding channel="7" ctl="2"                    uri="/route/pandirection       B7"/>
<Binding channel="7" ctl="3"                    uri="/route/send/gain B7 1"/>
<Binding channel="7" ctl="4"                    uri="/route/send/gain B7 2"/>
<Binding channel="7" ctl="5"                    uri="/route/send/gain B7 3"/>
<Binding channel="7" ctl="8"                    uri="/route/solo      B7"/>
<Binding channel="7" ctl="7"                    uri="/route/mute      B7"/>
<Binding channel="7" ctl="6"                    uri="/route/recenable B7"/>

<Binding channel="8" ctl="1"                    uri="/route/gain      B8"/>
<Binding channel="8" ctl="2"                    uri="/route/pandirection       B8"/>
<Binding channel="8" ctl="3"                    uri="/route/send/gain B8 1"/>
<Binding channel="8" ctl="4"                    uri="/route/send/gain B8 2"/>
<Binding channel="8" ctl="5"                    uri="/route/send/gain B8 3"/>
<Binding channel="8" ctl="8"                    uri="/route/solo      B8"/>
<Binding channel="8" ctl="7"                    uri="/route/mute      B8"/>
<Binding channel="8" ctl="6"                    uri="/route/recenable B8"/>

<Binding channel="9" ctl="1"                    uri="/route/gain      B9"/>
<Binding channel="9" ctl="2"                    uri="/route/pandirection       B9"/>
<Binding channel="9" ctl="3"                    uri="/route/send/gain B9 1"/>
<Binding channel="9" ctl="4"                    uri="/route/send/gain B9 2"/>
<Binding channel="9" ctl="5"                    uri="/route/send/gain B9 3"/>
<Binding channel="9" ctl="8"                    uri="/route/solo      B9"/>
<Binding channel="9" ctl="7"                    uri="/route/mute      B9"/>
<Binding channel="9" ctl="6"                    uri="/route/recenable B9"/>

<Binding channel="10" ctl="1"                   uri="/route/gain      B10"/>
<Binding channel="10" ctl="2"                   uri="/route/pandirection       B10"/>
<Binding channel="10" ctl="3"                   uri="/route/send/gain B10 1"/>
<Binding channel="10" ctl="4"                   uri="/route/send/gain B10 2"/>
<Binding channel="10" ctl="5"                   uri="/route/send/gain B10 3"/>
<Binding channel="10" ctl="8"                   uri="/route/solo      B10"/>
<Binding channel="10" ctl="7"                   uri="/route/mute      B10"/>
<Binding channel="10" ctl="6"                   uri="/route/recenable B10"/>

<Binding channel="11" ctl="1"                   uri="/route/gain      B11"/>
<Binding channel="11" ctl="2"                   uri="/route/pandirection       B11"/>
<Binding channel="11" ctl="3"                   uri="/route/send/gain B11 1"/>
<Binding channel="11" ctl="4"                   uri="/route/send/gain B11 2"/>
<Binding channel="11" ctl="5"                   uri="/route/send/gain B11 3"/>
<Binding channel="11" ctl="8"                   uri="/route/solo      B11"/>
<Binding channel="11" ctl="7"                   uri="/route/mute      B11"/>
<Binding channel="11" ctl="6"                   uri="/route/recenable B11"/>

<Binding channel="12" ctl="1"                   uri="/route/gain      B12"/>
<Binding channel="12" ctl="2"                   uri="/route/pandirection       B12"/>
<Binding channel="12" ctl="3"                   uri="/route/send/gain B12 1"/>
<Binding channel="12" ctl="4"                   uri="/route/send/gain B12 2"/>
<Binding channel="12" ctl="5"                   uri="/route/send/gain B12 3"/>
<Binding channel="12" ctl="8"                   uri="/route/solo      B12"/>
<Binding channel="12" ctl="7"                   uri="/route/mute      B12"/>
<Binding channel="12" ctl="6"                   uri="/route/recenable B12"/>

<Binding channel="13" ctl="1"                   uri="/route/gain      B13"/>
<Binding channel="13" ctl="2"                   uri="/route/pandirection       B13"/>
<Binding channel="13" ctl="3"                   uri="/route/send/gain B13 1"/>
<Binding channel="13" ctl="4"                   uri="/route/send/gain B13 2"/>
<Binding channel="13" ctl="5"                   uri="/route/send/gain B13 3"/>
<Binding channel="13" ctl="8"                   uri="/route/solo      B13"/>
<Binding channel="13" ctl="7"                   uri="/route/mute      B13"/>
<Binding channel="13" ctl="6"                   uri="/route/recenable B13"/>

<Binding channel="14" ctl="1"                   uri="/route/gain      B14"/>
<Binding channel="14" ctl="2"                   uri="/route/pandirection       B14"/>
<Binding channel="14" ctl="3"                   uri="/route/send/gain B14 1"/>
<Binding channel="14" ctl="4"                   uri="/route/send/gain B14 2"/>
<Binding channel="14" ctl="5"                   uri="/route/send/gain B14 3"/>
<Binding channel="14" ctl="8"                   uri="/route/solo      B14"/>
<Binding channel="14" ctl="7"                   uri="/route/mute      B14"/>
<Binding channel="14" ctl="6"                   uri="/route/recenable B14"/>

<Binding channel="15" ctl="1"                   uri="/route/gain      B15"/>
<Binding channel="15" ctl="2"                   uri="/route/pandirection       B15"/>
<Binding channel="15" ctl="3"                   uri="/route/send/gain B15 1"/>
<Binding channel="15" ctl="4"                   uri="/route/send/gain B15 2"/>
<Binding channel="15" ctl="5"                   uri="/route/send/gain B15 3"/>
<Binding channel="15" ctl="8"                   uri="/route/solo      B15"/>
<Binding channel="15" ctl="7"                   uri="/route/mute      B15"/>
<Binding channel="15" ctl="6"                   uri="/route/recenable B15"/>

<!-- Fader 8 on the right-hand unit is the master and is configured -->
<!-- slightly differently:                                          -->
<!-- Rotary encoder in Bank 1 is panwidth which alters the width of -->
<!-- the stereo field. For Banks 2-4, the encoder controls the send -->
<!-- gain of the first three sends as on a normal channel.          -->
<!-- The buttons controls the global rec-enable and master bus mute -->
<!-- respectively. Pushing the encoder controls the global          -->
<!-- rec-disable.                                                   -->
<Binding channel="16" ctl="1"                   uri="/bus/gain    master"/>
<Binding channel="16" ctl="2"                   uri="/bus/panwidth     master"/>
<Binding channel="16" ctl="3"                   uri="/route/send/gain B1 1"/>
<Binding channel="16" ctl="4"                   uri="/route/send/gain B1 2"/>
<Binding channel="16" ctl="5"                   uri="/route/send/gain B1 3"/>
<Binding channel="16" ctl="7"                   uri="/bus/mute    master"/>
<Binding channel="16" ctl="6"                   function="rec-enable"/>
<Binding channel="16" ctl="8"                   function="rec-disable"/>

<!-- There are two bottom right banks of buttons as follows: -->
<!-- Left-hand unit:  prev-bank          next-bank           -->
<!--                  blank              blank               -->
<!-- Right-hand unit: transport-start    transport-end       -->
<!--                  transport-stop     transport-roll      -->
<!--                                                         -->
<Binding channel="1" note="1" function="prev-bank"/>
<Binding channel="1" note="2" function="next-bank"/>
<Binding channel="1" note="3" function=""/>
<Binding channel="1" note="4" function=""/>
<Binding channel="1" note="5" function="transport-start"/>
<Binding channel="1" note="6" function="transport-end"/>
<Binding channel="1" note="7" function="transport-stop"/>
<Binding channel="1" note="8" function="transport-roll"/>
</ArdourMIDIBindings>
