Just started with Midibox. First, I want to build a controller for controlling various CC parameters in my VST’s. Got the first kits from Smashtv an soldered everything together.
Burned the bootloader to the CORE_STM32F4 Module and loaded the Midibox NG app.
Connected a DIN and a small LED display to the CORE_STM32F4 Module.
First test: print “Hello World” to LCD …works…
Second test: Connect a button …works…
Now it is time to connect a Rotary encoder…
All seems to work.
The LCD outputs only a 0 or a 1. What am I doing wrong that the value does not increment or decrement? When I slide the CC16 slider in the virtual keyboard, the LCD takes over the correct value. And as soon as i touch the encoder the values flip back to 1 or 0.
When I set the range to a map the values on the LCD show the values from the map correct and increment en decrement correctly.
I hope that someone can shed some light on this subject…
I don’t see a fwd_id in your config and the output seams to Disable it somehow. I don’t know if that is the problem, but maybe you can add a fwd_id to test.
Tnx for your reply!
I added the suggested fwd_id, but than the program stucks saying:
[11261.264] AUTOLOAD 'ENC' [11261.264] [MBNG\_FILE\_C:6] ERROR: invalid fwd\_id controller name in EVENT\_ENC ... fwd\_id=123 [11261.264] [MBNG\_FILE\_C] Event Pool Number of Items: 0 [11261.264] [MBNG\_FILE\_C] Event Pool Allocation: 12 of 65536 bytes (0%) [11261.275] Patch 'ENC' loaded from SD Card! [11261.278] [MBNG\_FILE\_R] /ENC.NGR (optional run script) not found
I could be completely wrong (I am not a C-coder), but in lines 233 - 247 of mbng_enc.c I find:
s32 value = item.value; if( item.min \<= item.max ) { value = event\_incrementer; if( value \< item.min ) value = item.min; else if( value \> item.max ) value = item.max; } else { // reversed range value = event\_incrementer; if( value \< item.max ) value = item.max; else if( value \> item.min ) value = item.min; }
so value is replaced by event_incrementer and not added? Or am I completely wrong…
value = event_incrementer; vs value += event_incrementer;