DrivenByMoss: Bitwig extension for many hardware controllers (version 23.2.1)

RELATED
PRODUCTS
Bitwig Studio 5 Maschine

Post

Mr. Mossgrabber,

I have been using the script for the Behringer X-Touch One in Bitwig 4.3, but now for some reason in MC User mode the stop button on the transport controls on the Behringer brings up the pop-up browser. Any ideas how to fix this?

I recently installed a VST controller for my Behringer Pro-800 and the Elephant script for the Microsoft Surface Dial (I have since deleted the Elephant script) and I was thinking they may be conflicting, but still no luck. In MC Standard mode the stop button works properly. Thanks...

Post

If I want to edit the Launch Control XL controls - for the first Factory Mode - so that the third row of rotary faders are controlling send 3 instead of PAN (when the device button is not pressed) do I just need to edit XLTrackMixMode.java (and then recombile - which I have to figure out how to do) like below? Are there any other files I need to edit?

package de.mossgrabers.controller.novation.launchcontrol.mode.main;

import de.mossgrabers.controller.novation.launchcontrol.controller.LaunchControlXLControlSurface;
import de.mossgrabers.framework.controller.ContinuousID;
import de.mossgrabers.framework.daw.IModel;
import de.mossgrabers.framework.daw.data.ITrack;
import de.mossgrabers.framework.parameterprovider.IParameterProvider;
import de.mossgrabers.framework.parameterprovider.device.BankParameterProvider;
import de.mossgrabers.framework.parameterprovider.special.CombinedParameterProvider;
import de.mossgrabers.framework.parameterprovider.track.SendParameterProvider;

import java.util.List;


/**
* Mix mode for the LauchControl XL to control 2 sends and panorama.
*
* @author Jürgen Moßgraber
*/
public class XLTrackMixMode extends XLAbstractTrackMode
{
/**
* Constructor.
*
* @param surface The control surface
* @param model The model
* @param controls The IDs of the knobs or faders to control this mode
*/
public XLTrackMixMode (final LaunchControlXLControlSurface surface, final IModel model, final List<ContinuousID> controls)
{
super ("Send A, B & C", surface, model, controls);

final IParameterProvider sendParameterProvider1 = new SendParameterProvider (model, 0, 0);
final IParameterProvider sendParameterProvider2 = new SendParameterProvider (model, 1, 0);
final IParameterProvider sendParameterProvider3 = new SendParameterProvider (model, 2, 0);
final IParameterProvider deviceParameterProvider = new BankParameterProvider (this.model.getCursorDevice ().getParameterBank ());

this.setParameterProviders (
// Control sends and pan
new CombinedParameterProvider (sendParameterProvider1, sendParameterProvider2, endParameterProvider3),
// Control sends and device parameters
new CombinedParameterProvider (sendParameterProvider1, sendParameterProvider2, endParameterProvider3));
}


/** {@inheritDoc} */
@Override
public int getKnobValue (final int index)
{
final int row = index / 8;
final int column = index % 8;
final ITrack track = this.model.getTrackBank ().getItem (column);
switch (row)
{
case 0:
return track.getSendBank ().getItem (0).getValue ();
case 1:
return track.getSendBank ().getItem (1).getValue ();
case 2:
if (this.configuration.isDeviceActive ())
return this.model.getCursorDevice ().getParameterBank ().getItem (column).getValue ();
return track.getSendBank ().getItem (2).getValue ();
default:
return 0;
}
}


/** {@inheritDoc} */
@Override
public void setKnobColor (final int row, final int column, final int value)
{
int green = 0;
int red = 0;
switch (row)
{
// Send A intensity in green
case 0:
green = value == 0 ? 0 : value / 42 + 1;
break;

// Send B intensity in red
case 1:
red = value == 0 ? 0 : value / 42 + 1;
break;

// Panorama in amber or Device parameters yellowish intensity in red
case 2:
green = value == 0 ? 0 : value / 42 + 1;
if (this.configuration.isDeviceActive ())
red = green == 0 ? 0 : 1;
else
red = green;
break;

default:
// Not used
return;
}
this.surface.setKnobLEDColor (row, column, green, red);
}
}

Post

Is there a way to set shuffle amount as well as shuffle accent amount in the generic flexi?

Post

wimvandenborre wrote: Sun Apr 21, 2024 9:46 am Hey, I have a feauture request. I actually altered your code myself to have the controllers act on the device in focus in stead of "first instrument" on the track for example. But I couldn't find how to get this working for drum tracks. Would it be a big hastle to implement this? That way when we use instrument selectors for live usage and put the focus on the selected instrument your scripts would work on all of them. Would be an awesome improvement for live usage.
If I remember correctly, the issue is that the Drum Device is not found if it is inside of a container.

Post

Paterfiets wrote: Tue Apr 23, 2024 8:08 am Hello monsieur Mossgraber,

I recently added a Launch Control XL and I really like it.

I have one suggestion/question tho.

Maybe this already has been suggested but would it be possible to exchange the panning option in the note sequence mode (not the drum) for note lenghts ? I think being able to change the note length in the note sequencer could be more powerfull than the option to pan..
That's always up to taste :-)

Post

dcarmich wrote: Tue Apr 23, 2024 11:08 pm Since your fix, the meters on my Yamaha DM3 have worked perfectly. But, automation doesn't.
When I use the "Others" DAW Remote mode and select one of the automation modes (Read/Touch/Latch/Write/Trim/Off) nothing happens.

However, when I use the "Steinberg" DAW Remote mode, Read/Write works properly but mute automation does not.
I can write mute automation as the track plays, but the track will always start muted even if I write a mute later in the track. (This does not happen with PreSonus Studio One 6.6.0.99237, but it does also happen when I use Bome's MIDI Translator to translate HUI to MCU protocol and use Bitwig's native Mackie Control script.)

Attached are two MIDI Monitor files of the automation buttons in Other and Steinberg mode.

DC DM3 Automation Other.zip
DC DM3 Automation Steinberg.zip
The MCU protocol uses the following values:
MCU_READ = 74
MCU_WRITE = 75
MCU_TRIM = 76
MCU_TOUCH = 77
MCU_LATCH = 78

Post

dolomick wrote: Fri Apr 26, 2024 5:16 am Mr. Mossgrabber,

I have been using the script for the Behringer X-Touch One in Bitwig 4.3, but now for some reason in MC User mode the stop button on the transport controls on the Behringer brings up the pop-up browser. Any ideas how to fix this?

I recently installed a VST controller for my Behringer Pro-800 and the Elephant script for the Microsoft Surface Dial (I have since deleted the Elephant script) and I was thinking they may be conflicting, but still no luck. In MC Standard mode the stop button works properly. Thanks...
Sounds like you re-assigned accidently the STOP button to BROWSE. Check you MC User mode configuration.

Post

zvuku wrote: Fri Apr 26, 2024 4:23 pm If I want to edit the Launch Control XL controls - for the first Factory Mode - so that the third row of rotary faders are controlling send 3 instead of PAN (when the device button is not pressed) do I just need to edit XLTrackMixMode.java (and then recombile - which I have to figure out how to do) like below? Are there any other files I need to edit?
Please understand that I do not have time to support such questions.

Post

Mantras wrote: Sat Apr 27, 2024 11:56 am Is there a way to set shuffle amount as well as shuffle accent amount in the generic flexi?
Currently not but it is on my TODO list.

Post

moss wrote: Sun Apr 28, 2024 2:18 pm
Sounds like you re-assigned accidently the STOP button to BROWSE. Check you MC User mode configuration.
Thanks, I do think this might be the issue. To check the configuration, do I look for the config file on my hard drive, or do I change it with the actual Behringer X-Touch One? Thanks again for all your work on these scripts!

Post

dolomick wrote: Mon Apr 29, 2024 3:37 am
moss wrote: Sun Apr 28, 2024 2:18 pm
Sounds like you re-assigned accidently the STOP button to BROWSE. Check you MC User mode configuration.
Thanks, I do think this might be the issue. To check the configuration, do I look for the config file on my hard drive, or do I change it with the actual Behringer X-Touch One? Thanks again for all your work on these scripts!
You can directly edit it on the device. See the X-Touch One manual.

Post

Hi Moss,

Thanks for all your amazing work on this script. Apologies if this bug has already been reported. The last few versions since 23.0.0 have broken the meters on my Icon Pro-G2. The meters no longer respond to the actual level of the channel but instead they flash the full amount. The issue goes away when I use 22.2.1

Post

Kintetikz wrote: Sat May 04, 2024 12:17 am Hi Moss,

Thanks for all your amazing work on this script. Apologies if this bug has already been reported. The last few versions since 23.0.0 have broken the meters on my Icon Pro-G2. The meters no longer respond to the actual level of the channel but instead they flash the full amount. The issue goes away when I use 22.2.1
There is a new setting now to choose the behaviour of the VU meters. Make sure to set it to QCon Pro.

Post

Ah perfect! Thanks

Post Reply

Return to “Controller Scripting”