diff --git a/package.json b/package.json index e72410b..41fd872 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "LePsControllerScripts4Bitwig", "title": "LeP's controller scripts for Bitwig", "description": "Bitwig controller script for the Behringer BCF2000, Arturia Beatstep Pro and more", - "version": "2.0.0", + "version": "2.1.0", "author": { "name": "Lennart Pegel", "email": "github@justlep.net", diff --git a/src/AlesisPerformancePad.control.js b/src/AlesisPerformancePad.control.js index 6dfb5d9..e7226fd 100644 --- a/src/AlesisPerformancePad.control.js +++ b/src/AlesisPerformancePad.control.js @@ -13,7 +13,7 @@ loadAPI(2); -host.defineController('Alesis', 'PerformancePad', '2.0', 'c6cc8a34-a36e-11e5-bf7f-feff819cdc9f', 'Lennart Pegel '); +host.defineController('Alesis', 'PerformancePad', '2.1', 'c6cc8a34-a36e-11e5-bf7f-feff819cdc9f', 'Lennart Pegel'); host.defineMidiPorts(1, 0); var NOTE_MAPPING = { diff --git a/src/BCF2000.control.js b/src/BCF2000.control.js index 5851d49..fa3debd 100644 --- a/src/BCF2000.control.js +++ b/src/BCF2000.control.js @@ -8,17 +8,12 @@ loadAPI(2); load('lep/api.js'); -host.defineController('Behringer', 'BCF2000 (LeP)', '2.0', 'd26515a4-571b-11e5-885d-feff819cdc9f', 'Lennart Pegel '); +host.defineController('Behringer', 'BCF2000', '2.1', 'd26515a4-571b-11e5-885d-feff819cdc9f', 'Lennart Pegel'); host.defineMidiPorts(1, 1); host.addDeviceNameBasedDiscoveryPair(['BCF2000'], ['BCF2000']); host.addDeviceNameBasedDiscoveryPair(['BCF2000 port 1'], ['BCF2000 port 1']); host.addDeviceNameBasedDiscoveryPair(['BCF2000 Port 1'], ['BCF2000 Port 1']); -// host.addDeviceNameBasedDiscoveryPair(['BCF2000 port 2'], ['BCF2000 port 2']); -// host.addDeviceNameBasedDiscoveryPair(['BCF2000 Port 2'], ['BCF2000 Port 2']); -// host.addDeviceNameBasedDiscoveryPair(['BCF2000 port 3'], ['BCF2000 port 3']); -// host.addDeviceNameBasedDiscoveryPair(['BCF2000 Port 3'], ['BCF2000 Port 3']); - /** * Switches the BCF2000 into a given preset number. * @param presetNumber (Number) 1-based (!) diff --git a/src/BCR2000.control.js b/src/BCR2000.control.js index eb8bbfc..3e25769 100644 --- a/src/BCR2000.control.js +++ b/src/BCR2000.control.js @@ -8,7 +8,7 @@ loadAPI(2); load('lep/api.js'); -host.defineController('Behringer', 'BCR2000 (LeP)', '2.0', 'fe5a1578-0fbd-11e6-a148-3e1d05defe78', 'Lennart Pegel '); +host.defineController('Behringer', 'BCR2000', '2.1', 'fe5a1578-0fbd-11e6-a148-3e1d05defe78', 'Lennart Pegel'); host.defineMidiPorts(1, 1); host.addDeviceNameBasedDiscoveryPair(['BCR2000'], ['BCR2000']); host.addDeviceNameBasedDiscoveryPair(['BCR2000 port 1'], ['BCR2000 port 1']); diff --git a/src/BeatstepPro-All-Channels.control.js b/src/BeatstepPro-All-Channels.control.js index 83e50ba..16cdcca 100644 --- a/src/BeatstepPro-All-Channels.control.js +++ b/src/BeatstepPro-All-Channels.control.js @@ -5,13 +5,11 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php) * * What it does: - * - Adds Beatstep's three sequencers as selectable MIDI inputs ("BSP-S1", "BSP-S2" and "BSP-DRUM"), - * using extra short names, so it's more easy to spot which track they are assigned to. + * - Adds Beatstep's three sequencers as selectable MIDI inputs (S1, S2 and DRUM), * (Names are only sensible if you use Beatstep's default settings where Sequencer1 is using MIDI channel 1, * Sequencer2 using channel 2 and Drum sequencer on MIDI channel 10) - * - The other MIDI channels are added as selectable MIDI inputs, too: "BSP-3" to "BSP-9" and "BSP-11" to "BSP-16" - * - Since Bitwig 2, the user himself must enable CLOCK for this script, - * so Beatstep can start/stop synchronously with Bitwig if it is switched to "USB" sync mode + * - The other MIDI channels are added as selectable MIDI inputs 3-9 and 11-16 + * - If Bitwig 2.1 is the clock master, the Beatstep Pro must be switched to "USB" sync mode. * - Knobs in control mode are mappable. However, as Beatstep Pro doesn't seem to receive CC messages, * value changes made manually in the Bitwig GUI won't update the value of the mapped Beatstep encoder :(. * @@ -23,14 +21,14 @@ loadAPI(2); load('lep/api.js'); load('beatsteppro/BeatstepPro.js'); -host.defineController('Arturia Beatstep Pro (All)', 'BSP', '2.0', '6ae51caa-3310-11e5-a151-feff819ffc9f', 'github@justlep.net'); +host.defineController('Arturia', 'Beatstep Pro [All]', '2.1', '6ae51caa-3310-11e5-a151-feff819ffc9f', 'Lennart Pegel'); // host.addDeviceNameBasedDiscoveryPair(['Arturia BeatStep Pro'], ['Arturia BeatStep Pro']); host.defineMidiPorts(1, 1); function init() { lep.setLogLevel(lep.LOGLEVEL.WARN); BeatstepPro.getInstanceForAllChannels(); - println('\n-------------\nBeatstepPro ready (all sequencers)'); + println('\n-------------\nBeatstepPro ready (all channels)'); } /** @Override */ diff --git a/src/BeatstepPro.control.js b/src/BeatstepPro.control.js index 953fd4f..c709b16 100644 --- a/src/BeatstepPro.control.js +++ b/src/BeatstepPro.control.js @@ -5,13 +5,10 @@ * License: MIT (http://www.opensource.org/licenses/mit-license.php) * * What it does: - * - Adds Beatstep's three sequencers as selectable MIDI inputs ('BSP-S1', 'BSP-S2' and 'BSP-DRUM'), - * using extra short names, so it's more easy to spot which track they are assigned to. + * - Adds Beatstep's three sequencers as selectable MIDI inputs (S1, S2 and DRUM) * (Names are only sensible if you use Beatstep's default settings where Sequencer1 is using MIDI channel 1, * Sequencer2 using channel 2 and Drum sequencer on MIDI channel 10) - * - The other MIDI channels are added as selectable MIDI inputs, too: 'BSP-3' to 'BSP-9' and 'BSP-11' to 'BSP-16' - * - Since Bitwig 2, the user himself must enable CLOCK for this script, - * so Beatstep can start/stop synchronously with Bitwig if it is switched to 'USB' sync mode + * - If Bitwig 2.1 is the clock master, the Beatstep Pro must be switched to "USB" sync mode. * - Knobs in control mode are mappable. However, as Beatstep Pro doesn't seem to receive CC messages, * value changes made manually in the Bitwig GUI won't update the value of the mapped Beatstep encoder :(. * @@ -23,7 +20,7 @@ loadAPI(2); load('lep/api.js'); load('beatsteppro/BeatstepPro.js'); -host.defineController('Arturia Beatstep Pro (Mains)', 'BSP', '2.0', '6fff1a34-3310-11e5-a151-feff819cdc9f', 'github@justlep.net'); +host.defineController('Arturia', 'Beatstep Pro [Mains]', '2.1', '6fff1a34-3310-11e5-a151-feff819cdc9f', 'Lennart Pegel'); // host.addDeviceNameBasedDiscoveryPair(['Arturia BeatStep Pro'], ['Arturia BeatStep Pro']); host.defineMidiPorts(1, 1); diff --git a/src/CMD-DC-1.control.js b/src/CMD-DC-1.control.js index 50dfdd4..958e456 100644 --- a/src/CMD-DC-1.control.js +++ b/src/CMD-DC-1.control.js @@ -8,7 +8,7 @@ loadAPI(2); load('lep/api.js'); -host.defineController('Behringer', 'CMD DC-1 (LeP)', '2.0', '047f0d84-8ace-11e5-af63-feff819cdc9f', 'Lennart Pegel '); +host.defineController('Behringer', 'CMD DC-1', '2.1', '047f0d84-8ace-11e5-af63-feff819cdc9f', 'Lennart Pegel'); host.defineMidiPorts(1, 1); host.addDeviceNameBasedDiscoveryPair(['CMD DC-1'], ['CMD DC-1']); diff --git a/src/CMD-LC-1.control.js b/src/CMD-LC-1.control.js index ea98833..b02a980 100644 --- a/src/CMD-LC-1.control.js +++ b/src/CMD-LC-1.control.js @@ -8,7 +8,7 @@ loadAPI(2); load('lep/api.js'); -host.defineController('Behringer', 'CMD LC-1 (LeP)', '2.0', 'b6ad3828-8a3d-11e5-af63-feff819cdc9f', 'Lennart Pegel '); +host.defineController('Behringer', 'CMD LC-1', '2.1', 'b6ad3828-8a3d-11e5-af63-feff819cdc9f', 'Lennart Pegel'); host.defineMidiPorts(1, 1); host.addDeviceNameBasedDiscoveryPair(['CMD LC-1'], ['CMD LC-1']); diff --git a/src/DrumsOnly.control.js b/src/DrumsOnly.control.js deleted file mode 100644 index a9717c2..0000000 --- a/src/DrumsOnly.control.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Bitwig Controller Script providing 16 selectable MidiInputs for one single device. - * Each input will pass through only one note for the drum-machine (C1 - D#2). - * An additional input passes all of the notes mentioned above. - * - * Author: Lennart Pegel - https://github.com/justlep/bitwig - * License: MIT (http://www.opensource.org/licenses/mit-license.php) - */ - -loadAPI(2); - -host.defineController('Generic', 'Pads', '2.0', 'c5bb3af6-9c15-11e5-8994-feff819cdc9f', 'Lennart Pegel '); -host.defineMidiPorts(1, 0); - -var MIDI_CHANNEL_MASK = '?',// by default, all channels are used; replace with single channel if needed - FIRST_DRUM_NOTE = 0x24, // C1 - LAST_DRUM_NOTE = 0x33, // D#2 - NOTEON_MASK_TEMPLATE = '9cxx??'.replace('c', MIDI_CHANNEL_MASK), - NOTEOFF_MASK_TEMPLATE = '8cxx??'.replace('c', MIDI_CHANNEL_MASK); - -function init() { - var inPort = host.getMidiInPort(0), - allChannelNoteInputCreationParams = ['ALL'], - noteOnMask, noteOffMask, noteInput, inputName, note; - - for (note = FIRST_DRUM_NOTE; note <= LAST_DRUM_NOTE; note++) { - inputName = ''+ (note - FIRST_DRUM_NOTE + 1); - noteOnMask = NOTEON_MASK_TEMPLATE.replace('xx', note.toString(16)); - noteOffMask = NOTEOFF_MASK_TEMPLATE.replace('xx', note.toString(16)); - noteInput = inPort.createNoteInput(inputName, noteOnMask, noteOffMask); - noteInput.setShouldConsumeEvents(false); - allChannelNoteInputCreationParams.push(noteOnMask); - allChannelNoteInputCreationParams.push(noteOffMask); - } - - noteInput = inPort.createNoteInput.apply(inPort, allChannelNoteInputCreationParams); - noteInput.setShouldConsumeEvents(false); - - println('\n--------------\nDrumPads ready'); -} - -function exit() {} diff --git a/src/Roland-A49.control.js b/src/Roland-A49.control.js index d55e33e..2768898 100644 --- a/src/Roland-A49.control.js +++ b/src/Roland-A49.control.js @@ -7,7 +7,7 @@ loadAPI(2); -host.defineController('Roland', 'A-49', '2.0', '381d879c-9a0a-11e5-8994-feff819cdc9f', 'Lennart Pegel '); +host.defineController('Roland', 'A-49', '2.0', '381d879c-9a0a-11e5-8994-feff819cdc9f', 'Lennart Pegel'); host.defineMidiPorts(1, 0); host.addDeviceNameBasedDiscoveryPair(['A-Series Keyboard'], []); diff --git a/stable-version-for-download/LeP's Controller Scripts v2.1.0.zip b/stable-version-for-download/LeP's Controller Scripts v2.1.0.zip new file mode 100644 index 0000000..cb010f2 Binary files /dev/null and b/stable-version-for-download/LeP's Controller Scripts v2.1.0.zip differ diff --git a/stable-version-for-download/history.txt b/stable-version-for-download/history.txt index 629189b..ef4403c 100644 --- a/stable-version-for-download/history.txt +++ b/stable-version-for-download/history.txt @@ -1,4 +1,7 @@ +v2.1.0 (16-May-2017) + - adjusted defineController()-calls, so scripts names are displayed properly + v2.0.0 (24-Mar-2017) - finished refactorings for final Bitwig 2.0 (demo version) - Params mode on BCR/BCF2000 now only controls the currently selected remote controls page + follows page-selection from the DAW