Comments (12)
I think I know why it doesn't work. Are you using an Arduino Mega to test this?
The Mega only has a single USB connection that operates as either MIDI over USB or Serial.
On boards with native USB support (Teensy, Leonardo, Due, Zero, etc.) you can use MIDI and Serial at the same time.
So on these boards, you can debug while doing MIDI.
On the Mega, it's a bit harder: you'll have to use a different serial port for debugging.
Do you have a USB to Serial adapter? If not, you can just use an Arduino Nano or something like that if you have one lying around. Upload an empty sketch to the Nano:
void setup() {}
void loop() {}
And connect it to UART1 of the Mega: TX to TX1 and RX to RX1.
Then, in Settings.hpp, change the DEBUG_OUT
definition to Serial1
. After uploading the right code to the Mega, select the Nano again (in Tools > Board), and open the serial monitor at 115200 baud. You should be able to see the debugging information.
The principle of debugging is pretty straightforward: if you define DEBUG_OUT
, debugging is enabled, and the library will write debugging information to the specified output. It will also call DEBUG_OUTPUT.begin(115200)
.
The default debug port is Serial
, but you cannot use that one on an Arduino UNO or Mega, because all MIDI messages also go over that Serial port.
from control-surface.
CHAMPION
Got it to work and worked out that the vu meter from cubase needs to be set to "aftertouch" on channel 1 with a max value of 12 or 24 (seems to be a slight calibration error when using cubase, i tried to change the floor correction in the mculed file but it didnt help much)
but atleast the vu meter works now
The debbugging works well from the Mega to the uno
I also checked what cubase send back to the controller when moving the fader on the screen
it sends the same message as controller sends "channel 1 address 7 with 124 values
if this helps for the motorised faders
Any help with the calibration for the VU meters would be appreciated
if i set a max value to 12 (from cubase) only the first 6 LEDs light up
if i set a max value of 24 they all light up and the max is correct but the lower leds are lighting up even when the meter on cubase is low volume
PETE IS THE BEST GUY IN BELGIUM
from control-surface.
Could you post the exact MIDI messages that are sent? E.g. >>> D0 0C
or >>> B0 07 7F
from control-surface.
this is with the max value set to 24 goes from d0 0c (meter max) down to d0 00 (meter off)
>>> d0 0c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 0b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 0a
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 09
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 08
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 07
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 06
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 05
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 04
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 03
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 02
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 01
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 00
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
from control-surface.
This is with max value set to 12 from d0 06 to d0 00
CN = 0
>>> d0 06
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 05
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 04
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 03
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 02
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 01
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
CN = 0
>>> d0 00
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 101]: Updating Channel Pressure elements with new MIDI message.
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 40]:
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 44]: MIDI message matches
[bool MIDIInputElement::updateWith(const MIDI_message_matcher&) @ line 47]: Updated
from control-surface.
Where did you select the "maximum value"? What is it? Could you send a screenshot?
The correct maximum MIDI value is 12, (which is 0xC), so it's strange that it only goes up to 0xC when you select 24 as a maximum value.
from control-surface.
This is what cubase sends out when i move the fader(with the mouse on the screen) from 0 to max
CN = 0
>>> b0 07 02
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 03
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 04
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 05
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 06
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 07
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 08
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0a
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 0f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 10
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 11
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 12
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 14
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 15
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 16
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 18
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 19
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 1b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 1d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 1e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 20
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 21
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 22
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 24
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 26
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 28
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 2b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 2c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 2d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 2e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 2f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 31
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 33
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 35
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 36
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 37
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 38
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 39
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 3a
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 3c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 3d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 3e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 3f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 40
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 42
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 43
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 44
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 45
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 47
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 48
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 4a
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 4c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 4d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 4f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 51
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 53
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 55
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 58
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 5b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 5c
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 5e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 5f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 61
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 63
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 64
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 65
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 67
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 68
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 6a
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 6d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 70
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 72
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 73
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 76
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 77
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 78
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 79
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 7b
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 7d
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 7e
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
CN = 0
>>> b0 07 7f
[virtual void Control_Surface_::onChannelMessage(MIDI_Interface&) @ line 90]: Updating CC elements with new MIDI message.
from control-surface.
yeah thats what i thought
from control-surface.
I'll try to install a demo version of Cubase, I'm not familiar with its MIDI settings.
from control-surface.
it works really well set at 24 but the lower LEDs of the meter are illuminated early
almost like the cubase meter is on a log taper and the meter is on a linear taper
the generic controller setup in cubase is a very deep dark secret of the DAW there is no information and no help from steinberg
but i am finding it to be very powerful you can change anything in cubase (almost)
and any insert i add to a track comes up with all the parameters in the midi menu to manipulate
you can also create custom banks and set one of the controller buttons to go straight to it (for controlling a specific VST insert)
hence my reasoning to not use the MCU protocol
that and its very fast
from control-surface.
almost like the cubase meter is on a log taper and the meter is on a linear taper
I suspect that it's a bug in Cubase. It's not possible to convert it to a log curve on the Arduino, because of the limited resolution [0,12] sent by Cubase, so it has to be done on the computer.
I'm currently working on a CC VU meter, that has higher resolution, and that could do the conversion on the Arduino.
from control-surface.
from control-surface.
Related Issues (20)
- Bankable::ManyAddresses::CCAbsoluteEncoder HOT 2
- Time Display does not work.
- Does it's support ESP32-S3/C3 via USB port? HOT 7
- How to use 1 shift button to change bank:
- The sketch compiles, but doesn't work HOT 3
- Error when compiling for ESP32 S3 HOT 3
- Metronome Led HOT 3
- Trying to setVelocity for all notebutton values in mux with piezo device HOT 1
- External app/webpage to change CC and Channel values HOT 1
- Hi, I would like to see the USBMIDI_Interface adapted so that you can specify the fixed cablenumber. This would it make possible to use pipes and filters connecting serial ports with virtual usb ports
- Support for MCP23S17 SPI
- error: 'SelectorPC' does not name a type HOT 2
- Switching presets Roland FP-30X HOT 2
- TYPO IN DOCUMENTATION HOT 1
- Error running on M1 Mac Sonoma with Teensy 4.0 HOT 4
- Arduino Nano 33 BLE Support? HOT 3
- Пример CCIncrementDecrementButtons.ino HOT 10
- Select bank HOT 2
- MIDI-монитор-OLED HOT 3
- Arduino Giga R1 Wifi support HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from control-surface.