Hello, Friends! I am struggling alot with no visual feedback from DAW on MidiCaptain....
And i have written to Mr. Wilson several times.... Can we all try to get his attention to this topic?
It would be nice if you all concact him and ask him for attention to this topic. I hope that it would make him to stert working on firmware improvement. I suppose that you can just send him a email with my message body. The message is big enouth so i have divided it into two posts here.
Here are the adresses:
wilson-zuo@paintaudio.com
support@paintaudio.com
contact@paintaudio.com
And here is my message body:
Hello, dear Mr. Wilson!
My name is Hellem and I am a big fan of midi controllers.
I use Ableton DAW and many different midi devices and controllers like Akai, M-vave, Imaginando products and custom written touchOSC templates. I use them with Bome midi and
remotify.io app for Ableton scripts. In Bome i can program midi behavior and in scripts i can program the logic and get a response on my controllers.
So not all of the controllers have visual feedback from daw, and it is disappointing. TouchOSC and new M-vave products can do so. But midiCaptain has no firmware to control its LEDs to get the visual feedback from DAW.
So my aim is to ask you, to beg you, and to help you to build a simple firmware for MidiCaptain with LED response from DAW. I have sent you a few videos a year ago, and I would like to ask you once again to start communication between you and me to get this task done.
The concept of this firmware is pretty simple. The minimum list of features is next:
Messages sent from MidiCaptain:
- single page
- 10 buttons - to be momentary CH1 CC 0-9 with 127 press and 0 release values
- 2 expression pedals on CH1 CC like 10 and 11 with continuous 0-127
- wheel press - CH1 CC 12 127, wheel release CH1 CC 12 0
- wheel turned clockwise CH 1 CC 13 1
- wheel turned counter-clockwise CH 1 CC 13 127
like it is an endless knob
Messages sent to MidiCaptain:
The idea of sending messages to MidiCaptain is to control its LEDs and there are different approaches to achieve it, here are some examples - any of them can be implemented.
- Sysex messages. For buttons - each of buttons have 3 LEDs. Each led is RGB and each R, G,B has a brightness. So to control 1 button 1st LED the Sysex message can be next -
42 (for letter B - button) 01 (for button 1) 01 (for LED 1) XX (for RED) YY (for GREEN) ZZ (for Blue). So XX,YY,ZZ will be for LEDs brightness in the 0-127 range. I used an ASCII to HEX and DEC to HEX converter here. In this case ALL LEDs can be controlled precisely. And for button 1 LED 1 white color the message would be 42 01 01 7F 7F 7F
- NoteON messages on CH1.
For button 1 LED 1 the message can be next -
CH1 NOTE 1 VELOCITY = 0-127 Brightness for R
CH1 NOTE 2 VELOCITY = 0-127 Brightness for G
CH1 NOTE 3 VELOCITY = 0-127 Brightness for B
For button 1 LED 2 the message can be next -
CH1 NOTE 4 VELOCITY = 0-127 Brightness for R
CH1 NOTE 5 VELOCITY = 0-127 Brightness for G
CH1 NOTE 6 VELOCITY = 0-127 Brightness for B
For button 1 LED 3 the message can be next -
CH1 NOTE 7 VELOCITY = 0-127 Brightness for R
CH1 NOTE 8 VELOCITY = 0-127 Brightness for G
CH1 NOTE 9 VELOCITY = 0-127 Brightness for B
For button 2 LED 1 the message can be next -
CH1 NOTE 11 VELOCITY = 0-127 Brightness for R
CH1 NOTE 12 VELOCITY = 0-127 Brightness for G
CH1 NOTE 13 VELOCITY = 0-127 Brightness for B
For button 2 LED 2 the message can be next -
CH1 NOTE 14 VELOCITY = 0-127 Brightness for R
CH1 NOTE 15 VELOCITY = 0-127 Brightness for G
CH1 NOTE 16 VELOCITY = 0-127 Brightness for B
...
...
For button 10 LED 1 the message can be next -
CH1 NOTE 101 VELOCITY = 0-127 Brightness for R
CH1 NOTE 102 VELOCITY = 0-127 Brightness for G
CH1 NOTE 103 VELOCITY = 0-127 Brightness for B
So all Buttons LEDs can be controlled with this message system.
And something similar can be created using CC messages to control LEDs.
And this type of firmware will give endless opportunities for Ableton users to write their own script in
remotify.io and get visual feedback from DAW. All logic, pages and structure can be done in remotify script for Ableton or in Bome midi. The main thing that is missing is visual feedback from DAW to the controller. And MidiCaptain should respond fast - so there is no need to keep the info about pages in the MidiCaptain firmware.
And I am begging you to implement such functionality. ASAP or not ASAP, lets just start it PLEASE....
Also the MidiCaptains screen can be used for feedback - but it is a different story and it is more complicated - but I can provide you with many essential scenarios of how it can be used with DAW feedback.
The unified layout for the screen would be next (i have attached 240x240 picture):
- the firmware can keep the value of the number of the objects and their types available for creation and for control. Let object types be "box" and "text", and the value will be 16 for box and 16 for text. It means that 16 boxes can be created in this firmware and 16 text objects can be created in this firmware. The data for that objects can be set in config file or be sent to MidiCaptain by Sysex midi. I would breper config data to be set all to 0. Because I am to build a flexible dynamic setup and all the data I need will always be sent via midi.
Many data types like width, color (that can be greater than 127) need to be sent in 2 cells - because of 0-127 cell limitation in Sysex midi messages. Let the backround will be black (or defined by 17th box)
So to control BOX the variables can be next:
box_object_number 0-16
box_width 0-240
box_height 0-240
box_x_position 0-240
box_y_position 0-240
box_z_index 0-sum_of_elements (in this case 32)
box_color_r 0-255
box_color_g 0-255
box_color_b 0-255
box_fill_direction 0-1 (for horizontal or vertical)
box_fill_ammount 0-127 (the value that corresponds for box fill - like the value of a knob in DAW - to represent of ammount of effect)
box_visibility 0-127 (or alpha - not necessary but it may be usefull)
box_border_size 0-127 (let the border type to be always inner)
box_border_color_r 0-255
box_border_color_g 0-255
box_border_color_b 0-255
box_border_visibility 0-127 (or alpha - not necessary but it may be usefull)