From edcd16a679350ed99c2f888659926ad7996a1c82 Mon Sep 17 00:00:00 2001 From: Giampaolo-Gesuale <101831235+Giampaolo-Gesuale@users.noreply.github.com> Date: Tue, 22 Mar 2022 13:10:19 +0100 Subject: [PATCH 1/3] Update behringer_bcr2000.js bug --- behringer/bcr2000/behringer_bcr2000.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/behringer/bcr2000/behringer_bcr2000.js b/behringer/bcr2000/behringer_bcr2000.js index e713e1d..6bd807c 100644 --- a/behringer/bcr2000/behringer_bcr2000.js +++ b/behringer/bcr2000/behringer_bcr2000.js @@ -248,7 +248,7 @@ for(var e = 0; e < 8; ++e) { var sendSlot = mixPage.mHostAccess.mTrackSelection.mMixerChannel.mSends.getByIndex(e) var focusQuickControl = mixPage.mHostAccess.mFocusedQuickControls.getByIndex(e) var trackQuickControl = mixPage.mHostAccess.mTrackSelection.mMixerChannel.mQuickControls.getByIndex(e) - var cueSend = page_focus.mCueSends.getByIndex(e) + var cueSend = mixPage.mHostAccess.mTrackSelection.mMixerChannel.mCueSends.getByIndex(e) mixPage.makeValueBinding(knob1.mSurfaceValue, sendSlot.mLevel) mixPage.makeValueBinding(button1.mSurfaceValue, sendSlot.mOn).setTypeToggle() From 46d4e3ce7000ffb8ddac0974d42d46d55e040322 Mon Sep 17 00:00:00 2001 From: Giampaolo-Gesuale <101831235+Giampaolo-Gesuale@users.noreply.github.com> Date: Tue, 22 Mar 2022 13:20:59 +0100 Subject: [PATCH 2/3] Update behringer_bcr2000.js --- behringer/bcr2000/behringer_bcr2000.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/behringer/bcr2000/behringer_bcr2000.js b/behringer/bcr2000/behringer_bcr2000.js index 6bd807c..95a7719 100644 --- a/behringer/bcr2000/behringer_bcr2000.js +++ b/behringer/bcr2000/behringer_bcr2000.js @@ -5,7 +5,7 @@ //----------------------------------------------------------------------------- var midiremote_api = require('midiremote_api_v1') -var deviceDriver = midiremote_api.makeDeviceDriver('Behringer', 'BCR2000', 'Giampaolo Gesuale') +var deviceDriver = midiremote_api.makeDeviceDriver('behringer', 'bcr2000', 'Giampaolo Gesuale') var midiInput = deviceDriver.mPorts.makeMidiInput() var midiOutput = deviceDriver.mPorts.makeMidiOutput() From 7247f9f5bfb98cb576568dbae3cbb88d224549d7 Mon Sep 17 00:00:00 2001 From: Giampaolo-Gesuale <101831235+Giampaolo-Gesuale@users.noreply.github.com> Date: Fri, 8 Apr 2022 10:30:51 +0200 Subject: [PATCH 3/3] Create behringer_bcf2000.js --- behringer/bcf2000/behringer_bcf2000.js | 176 +++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 behringer/bcf2000/behringer_bcf2000.js diff --git a/behringer/bcf2000/behringer_bcf2000.js b/behringer/bcf2000/behringer_bcf2000.js new file mode 100644 index 0000000..b77dc20 --- /dev/null +++ b/behringer/bcf2000/behringer_bcf2000.js @@ -0,0 +1,176 @@ +// Behringer BCF2000 v 1.0 by Giampaolo Gesuale + +//----------------------------------------------------------------------------- +// 1. DRIVER SETUP - create driver object, midi ports and detection information +//----------------------------------------------------------------------------- + +var midiremote_api = require('midiremote_api_v1') +var deviceDriver = midiremote_api.makeDeviceDriver('behringer', 'bcf2000', 'Giampaolo Gesuale') + +var midiInput = deviceDriver.mPorts.makeMidiInput() +var midiOutput = deviceDriver.mPorts.makeMidiOutput() + +deviceDriver.makeDetectionUnit().detectPortPair(midiInput, midiOutput) + .expectInputNameEquals('BCF2000') + .expectOutputNameEquals('BCF2000') + +deviceDriver.makeDetectionUnit().detectPortPair(midiInput, midiOutput) + .expectInputNameContains('BCF2000') + .expectOutputNameContains('BCF2000') + +//----------------------------------------------------------------------------- +// 2. SURFACE LAYOUT - create control elements and midi bindings +//----------------------------------------------------------------------------- + +var surface= deviceDriver.mSurface +var selTrackName = surface.makeLabelField(18,2,4,1) +var pagename = surface.makeLabelField(18,12,4,0.9) + +var trackNames = [] +for (var i = 0; i < 8; ++i){ + var trackName = surface.makeLabelField(i*2,15,2,0.6) + trackNames.push(trackName) +} + +//layer zone +var encoderGroups = surface.makeControlLayerZone('Encoder Groups') +var encoderGroup1 = encoderGroups.makeControlLayer('Group 1') +var encoderGroup2 = encoderGroups.makeControlLayer('Group 2') +var encoderGroup3 = encoderGroups.makeControlLayer('Group 3') +var encoderGroup4 = encoderGroups.makeControlLayer('Group 4') + +var knobs =[] +var buttons = [] +var faders = [] + +var inarow = 8 +var nEncoders = 32 +var gruppo = encoderGroup1 + +//encoders +for(var r = 0; r < nEncoders/inarow; ++r) { + switch (r){ + case 0: gruppo = encoderGroup1 + break + case 1: gruppo = encoderGroup2 + break + case 2: gruppo = encoderGroup3 + break + case 3: gruppo = encoderGroup4 + } + for (var c=0; c