Latest News: Bitwig updates Bitwig Studio to v5.1
Same CC on different Midi Channels
-
- KVRer
- Topic Starter
- 4 posts since 30 Sep, 2011
I have been building midi controllers for a while but am new to Bitwig. I plan on learning controller scripting in the very near future but have an urgent need to get a controller working on Bitwig, for an up coming demo.
Here is the problem:
My controllers use the same CC number to control different sliders and buttons in the DAW by using different midi channels. They work as intended in other DAWs ( Logic, Ableton, Cubase) but in Bitwig it appears that the midi channel is being ignored.
For Example:
1. I map Mixer Channel 1 Volume to CC34 and Midi Channel 1.
2. I map Mixer Channel 2 Volume to CC34 but use Midi Channel 2.
When I move the first Volume slider on my controller:
1. In Bigwig both Mixer Channel Volumes move together.
2. In the other DAWs only Mixer Channel 1 Volume moves.
I am hoping that in controller scripting this problem should be easy to resolve, but for my immediate need I have to do it with "auto-mapping". Can anybody help me with this problem or point me to a place in the manual where this is explained, I can't seem to find an answer.
Here is the problem:
My controllers use the same CC number to control different sliders and buttons in the DAW by using different midi channels. They work as intended in other DAWs ( Logic, Ableton, Cubase) but in Bitwig it appears that the midi channel is being ignored.
For Example:
1. I map Mixer Channel 1 Volume to CC34 and Midi Channel 1.
2. I map Mixer Channel 2 Volume to CC34 but use Midi Channel 2.
When I move the first Volume slider on my controller:
1. In Bigwig both Mixer Channel Volumes move together.
2. In the other DAWs only Mixer Channel 1 Volume moves.
I am hoping that in controller scripting this problem should be easy to resolve, but for my immediate need I have to do it with "auto-mapping". Can anybody help me with this problem or point me to a place in the manual where this is explained, I can't seem to find an answer.
- KVRAF
- 8828 posts since 6 Jan, 2017 from Outer Space
Bitwig ignoring Midi Channels is the most urgent (design) bug which has to be fixed. It also prevents MPE from functioning correctly. Please Bitwig, fix it! I will not upgrade until its fixed!!!
Controler scripting would only be a complicated work around...
Controler scripting would only be a complicated work around...
-
- KVRer
- Topic Starter
- 4 posts since 30 Sep, 2011
BUMPED this post because I have only seen one reply and feel this is an important issue.
I have created a number of custom controllers that use multiple midi channels to allow many more control options with fewer knobs.
I also had purchased Bitwig to replace my Ableton setup because Ableton has very poor support for MPE, and poor scripting support. It was not until I purchased Bitwig that I discovered this lack of midi channel support and has caused my controllers to stop working.
I have created a number of custom controllers that use multiple midi channels to allow many more control options with fewer knobs.
I also had purchased Bitwig to replace my Ableton setup because Ableton has very poor support for MPE, and poor scripting support. It was not until I purchased Bitwig that I discovered this lack of midi channel support and has caused my controllers to stop working.
- KVRist
- 207 posts since 23 Oct, 2008
TL;DR.. Try this:
However, if all you need is a 1:1 mapping of your controller's (absolute) CC values to some Bitwig parameters, you don't need the UserControl concept at all. All you need is a script that simply let's all MIDI pass through. You can then map the raw midi CCs (instead of usercontrols) to whatever inside Bitwig, and that mapping WILL BE channel-aware.
Hope this helps.
- remove your old controller script from your settings
- delete your previous mappings (mappings panel, see screenshot)
- restart Bitwig (not just close the project but really close bitwig)
- get this midi passthru script and configure it for your controller in the Bitwig settings
https://github.com/justlep/bitwig/blob/ ... control.js - map your volumes or whatever to your CCs (again, it should look similar as in the screenshot)
However, if all you need is a 1:1 mapping of your controller's (absolute) CC values to some Bitwig parameters, you don't need the UserControl concept at all. All you need is a script that simply let's all MIDI pass through. You can then map the raw midi CCs (instead of usercontrols) to whatever inside Bitwig, and that mapping WILL BE channel-aware.
Hope this helps.
You do not have the required permissions to view the files attached to this post.
-
- KVRer
- Topic Starter
- 4 posts since 30 Sep, 2011
Unfortunately I have been distracted from this project for the past couple of weeks because I needed to complete another project with a deadline. However, I do now have the time to try and resolve the problems I am having.
Being a total newbe I don't understand what you mean by "configure it for your controller in the Bitwig settings".
1. I created a file called MidiPassthruMulti.js with your code in it.
2. I put it in the PC/Documents/Bitwig Studio/Controller Scripts directory.
Here's my questions:
1.Was I suppose to modify the file somehow?
2. I don't understand how to make use of the file.
Being a total newbe I don't understand what you mean by "configure it for your controller in the Bitwig settings".
1. I created a file called MidiPassthruMulti.js with your code in it.
2. I put it in the PC/Documents/Bitwig Studio/Controller Scripts directory.
Here's my questions:
1.Was I suppose to modify the file somehow?
2. I don't understand how to make use of the file.
- KVRist
- 207 posts since 23 Oct, 2008
The filename must be "MidiPassthruMulti.control.js" (the ".control"-part is important, otherwise Bitwig won't recognise it as controller script).
You don't need to modify the content.
With "configure" I just meant..
You don't need to modify the content.
With "configure" I just meant..
- Go to your settings -> Controllers -> Add controller manually
=> choose Generic -> MidiPassthruMulti - the added script shows a single dropdown where you need to choose your MIDI device
-
- KVRer
- Topic Starter
- 4 posts since 30 Sep, 2011
BufoBufo... thanks that works great for midi learn items.
However when I tried to record enable a track there is not midi learn option. So I went to the Shortcuts over in settings. What I found was you can "Toggle Arm" a track, which I assume that would mean you need to select the track first when using a midi controller.
Maybe if I step back a little and explain my controller it might help.
My controller is setup in groups of 8 channel strips. Each channel strip has two rotary encoders and three button that can be used to do things. There are another 4 buttons that I call bank buttons. Each of these buttons changes the midi channel that the CC for the above buttons and rotary encoders. In the end that gives me direct access to 32 channels.
So with midi learn I can setup of the volume and pan for each channel, but now I need to record arm various tracks, using a channel button, but don't see a way I can do that.
However when I tried to record enable a track there is not midi learn option. So I went to the Shortcuts over in settings. What I found was you can "Toggle Arm" a track, which I assume that would mean you need to select the track first when using a midi controller.
Maybe if I step back a little and explain my controller it might help.
My controller is setup in groups of 8 channel strips. Each channel strip has two rotary encoders and three button that can be used to do things. There are another 4 buttons that I call bank buttons. Each of these buttons changes the midi channel that the CC for the above buttons and rotary encoders. In the end that gives me direct access to 32 channels.
So with midi learn I can setup of the volume and pan for each channel, but now I need to record arm various tracks, using a channel button, but don't see a way I can do that.
-
- KVRist
- 82 posts since 18 Jun, 2015
@BufoBufo
Thank you for sharing this information. I wish I had found this post earlier....
Do you have any idea how I could adapt this script so that it is bi directional? The context is, I would like to use it with BCR2000, which is a bidirectional midi device and, which allows you to have multiple presets configured to different midi channels, potentially giving you access to 32 x 32 rotaries.
Thank you!
Adrienne
Thank you for sharing this information. I wish I had found this post earlier....
Do you have any idea how I could adapt this script so that it is bi directional? The context is, I would like to use it with BCR2000, which is a bidirectional midi device and, which allows you to have multiple presets configured to different midi channels, potentially giving you access to 32 x 32 rotaries.
Thank you!
Adrienne
- KVRist
- 207 posts since 23 Oct, 2008
I'm afraid bi-directionality is a completely different shoe than what the "stupid" PassThru script does. So no, that script can't be adapted for that purpose, sorry.
Also, if you plan on writing a script for your BCR, I'd advise you not to use the approach with different channel-presets on BCR-side. Imagine you have 2 presets on the device, preset A using channel 5, and B using channel 6. The first problem you have is that the BCR doesn't "report" to your controller script when you switch between A and B, so your script may try to update some LED rings by sending midi messages to channel 5 while all knobs are currently "listening" on channel 6. And problem #2 is that the BCR won't "remember-for-later" such messages when you select preset A again and all knobs then listen to channel 5. The previous messages to channel 5 are lost and your LED rings are out of sync.
Also, if you plan on writing a script for your BCR, I'd advise you not to use the approach with different channel-presets on BCR-side. Imagine you have 2 presets on the device, preset A using channel 5, and B using channel 6. The first problem you have is that the BCR doesn't "report" to your controller script when you switch between A and B, so your script may try to update some LED rings by sending midi messages to channel 5 while all knobs are currently "listening" on channel 6. And problem #2 is that the BCR won't "remember-for-later" such messages when you select preset A again and all knobs then listen to channel 5. The previous messages to channel 5 are lost and your LED rings are out of sync.
-
- KVRer
- 5 posts since 27 Mar, 2014
Dang...
This is exactly what I was hoping to be able to do. I have a controller that sends the same CC/note numbers on one of four different MIDI channels. There is a button that cycles through the MIDI channels. It has pads and rotary/endless encoders with LED rings (it's the CMD PL-1) and I was hoping to use it on four different tracks in the mixer view. Each track would listen to a different MIDI channel. The MIDI channel selected on the controller would control that track and that track's settings would display on the controller.
I hadn't really contemplated the updating of the LED feedback... but this does work with other software... so.....
This is exactly what I was hoping to be able to do. I have a controller that sends the same CC/note numbers on one of four different MIDI channels. There is a button that cycles through the MIDI channels. It has pads and rotary/endless encoders with LED rings (it's the CMD PL-1) and I was hoping to use it on four different tracks in the mixer view. Each track would listen to a different MIDI channel. The MIDI channel selected on the controller would control that track and that track's settings would display on the controller.
I hadn't really contemplated the updating of the LED feedback... but this does work with other software... so.....
-
- KVRer
- 5 posts since 27 Mar, 2014
hmm.. I just did some more MIDIox testing and the rotary encoders are always on MIDI ch1, while the rest of the controller toggles through the MIDI channels.
-
- KVRer
- 5 posts since 27 Mar, 2014
I've loaded this up, ignoring the LED ring feedback for now, and it doesn't work for me at all.
The script loads, and I select my midi controller (CMD PL-1) and then in the track, I select "MIDIpassthroughMulti-Channel 1". nothing does anything. When I click the midi Map finger, I can map knobs on the controller to the virtual knobs in bitwig, but that's it. Turning the controller knob after that does nothing in bitwig.
I tried omni mode, different channels, etc... nothing works.
dang it!!!!!!
The script loads, and I select my midi controller (CMD PL-1) and then in the track, I select "MIDIpassthroughMulti-Channel 1". nothing does anything. When I click the midi Map finger, I can map knobs on the controller to the virtual knobs in bitwig, but that's it. Turning the controller knob after that does nothing in bitwig.
I tried omni mode, different channels, etc... nothing works.
dang it!!!!!!
- KVRist
- 207 posts since 23 Oct, 2008
If you're referring to endless encoders of the Behringer CMD series, the encoders do not send absolute but differential values (diff value = received data value *minus* 64 in that case). So when mapping encoders, you need to set them to "Relative (Bin offset)" instead of "Absolute" in Bitwig's mapping panel.chromatest wrote: ↑Tue Feb 26, 2019 10:21 pm I've loaded this up, ignoring the LED ring feedback for now, and it doesn't work for me at all.
The script loads, and I select my midi controller (CMD PL-1) and then in the track, I select "MIDIpassthroughMulti-Channel 1". nothing does anything. When I click the midi Map finger, I can map knobs on the controller to the virtual knobs in bitwig, but that's it. Turning the controller knob after that does nothing in bitwig.
The LED rings are controlled by sending values between 1-15. That's at least what the LC1 was like, and it's not configurable at all. Values for button colors were very individual, too. But the MidiPassThru script doesn't send any MIDI feedback to the controller, anyway. IMO there's no way to get the CMD controllers well integrated to Bitwig without some dedicated scripting.
You do not have the required permissions to view the files attached to this post.