Hello everybody, this is the topic for testing regarding the upcoming 1.4 release series.
Before anything else, thank you very much for your testing, bug reports and general feedback!
The 1.4 series focuses mainly on control chain, so that’s what needs testing.
Because none of you have Control Chain devices yet, all the next testing releases of 1.4 series will support Control Chain via Arduino devices. This is, you will connect your Arduino to the MOD using its regular USB cable.
Here is the link for the Control Chain Arduino library. There you’ll find instructions on how to proceed. So far we have tested using Arduino Uno and Due only. Please, be sure you using a recent Arduino IDE release. We have v1.8 installed, but should work for any version starting from 1.5.
The auto-update system is ready, just get the automatic update as usual.
If you need to roll back, grab the latest stable release file from http://wiki.moddevices.com/wiki/Releases and follow the instructions on the top of that page.
Here’s the changelog so far:
- NEW initial control-chain support
- NEW allow to use pitchbend as midi cc
- NEW allow to change ranges without having to re-learn MIDI CC
- don’t show ajax loading bar when waiting/checking screenshots
- improve timing/jitter of serial MIDI
- send all-notes-off to midi out ports when first bypassed
Known issues / Limitations:
- Removing the arduino while the pedalboard is loaded means losing the addressings to the arduino
- Control Chain addressings works only for bypass, toggle or trigger.
Thanks very much for all your testing!
I hope I will find time the next weekend for testing. Arduinos (Uno, Due, Mega, Nano, Mini-Pro) are waiting
I have to ask, what are Control Chains?
Great to see that you’re following a “release often” strategy! Is there something, people without Arduino hardware can try out in this release?
Control Chain is an open standard, including hardware, communication protocol, cables and connectors, developed to connect external controllers to the MOD. For example, foot switches extension, expression pedal and so on.
Comparing to MIDI, Control Chain is way more powerful. For example, instead of use hard-coded values, as MIDI does, Control Chain has device descriptor and its assignment (or mapping) message contains the fully information about the parameter being assigned, as parameter name, absolute value, range and any other data. Having all those information on the device side allows developers to do powerful devices, which can, for example, show the absolute parameter value on a display, use different LED color to indicate a specific state, etc.
Unfortunately, there is no official (updated) documentation yet.
Thanks for the info, I’ll have a try…
I just tried auto-update (to 188.8.131.527) and now I am in a loop:
- LEDs red: checking file
- LEDs blue: invalid file
I will try to restart the Duo and hope it boots up - yep it does. Second try and the same result…
Not sure what happened there, but starting from v1.3.1 and the next 1.4 test build it no longer loops trying to install a corrupted or invalid update file.
Build 334 is here.
- improved timing/jitter of serial MIDI
- the format for the control chain addressings has changed, should be final now
- loading plugin or pedalboard preset now changes the value of the control-chain addressings
Build 336 is here
- fix loading of pedalboard addressings (in case a arduino is not connected)
@Codeman if you still have issues, use this direct download and do a manual update.
Thanks. Installation with FF (Linux) seemed to made problems. I just tried Chrome and auto-updates works. I hope I can start the next days with Arduino tests.
Some notes on the cc-arduino-lib
1] You need to use a current arduino IDE. The one packaged with ubuntu/debian is too old (you’ll get compiler errors due to not supporting C99 on .c files
2] The readme should clarify which of DueTimer and TimerOne to use on particular arduino boards. On arduino UNO you just need TimerOne.
3] ControlChain/timer.cpp needs an #include Arduino.h to get the declaration of delayMicroseconds() into scope (plus angled brackets, screw html escapes)
Correction: I have the DIECEMILLA with an m168 and 1K of memory, which is too little for control_chain.init() which uses about 1.3k or so…
Version-1.40 is installed.
I just tested with a Leonardo and installed the latest ControlChain library. The Leonoardo uses TimerOne. I got the test program (Button) installed on the Leo. After connecting the Leo to the USB port on the back of the Duo I can see that the Leo boots up.
I was searching in the UI where I can use the new controller, e.g. as button for a parameter of an effect, but found nothing - only MIDI-learn. Can someone tell me how I can check if it works?
Build 342 is here
- fix addressings not loaded when refreshing page (v1.4 regression)
- close addressing window on ‘esc’
- prevent ‘esc’ from closing entire plugin store
- stop record countdown when share dialog is closed
This build also integrates support for jack’s net driver.
Needs to be enabled manually, by ssh’ing into the mod and creating the file ‘/data/enable-netmanager’.
On the next boot, jack’s netmanager will be enabled.
On your own pc you can do:
jackd -R -P 80 -d net -a 192.168.51.1 --opus -C 2 -P 2 -i 1 -o 1 -l 4 -n mod-slave -s
Adjust the parameters as needed. the name must be mod-slave.
On the web browser console, enter
HARDWARE_PROFILE and press enter.
It will print the list of available actuators (except midi cc/learn).
another couple of findings:
06:48 < fps> another thing i wondered about while browsing the code
06:49 -!- Irssi: Pasting 6 lines to #moddevices. Press Ctrl-K if you wish to do this or Ctrl-C to cancel.
06:49 < fps> #define CC_MAX_DEVICES 1
06:49 < fps> #define CC_MAX_ACTUATORS 1
06:49 < fps> #define CC_MAX_ASSIGNMENTS 1
06:49 < fps> 1 actuator maximum?
06:49 < fps> me has 5 buttons ;)
06:49 < fps> and then:
06:50 < fps> msg.c:#define DATA_BUFFER_SIZE 128
06:50 < fps> but:
06:50 < fps> ControlChain.h: uint8_t buffer;
06:50 < fps> should probably use the macro there
06:52 < fps> about the previous one though: it seems i could use #CC_USE_EXTERNAL_CONFIG, can't test though cause not enough memory ;)
@fps I’ve updated the Arduino library adding some fixes you reported and also some improvements. Now you can have 4 actuators on Uno and 8 on Due. You’ll need the build 343.