Release 1.6.1


#1

Hi everyone, we’re releasing a small update in version v1.6 with some bug fixes.

Since all fixes are minors this update is not required, just recommended.
The next time you open the MOD web interface you’ll receive an update notification.
Just click on the tooltip icon in the bottom-right when that happens, then ‘Download’ and finally ‘Upgrade Now’.
Wait for a few minutes while the MOD updates itself automatically.


Here’s the list of fixes:

  • Fixed overlay of BPM and MIDI PORTS pop-ups when Plugin Store is open
  • Fixed ‘Beta’ label showing incorrectly for installed plugins from the constructor
  • Fixed scrolling sensibility in HMI menu

The wiki has the release candidates and all changes listed.
Let us know if you find any issues.


#2

Thanks for this. I’m really interested to understand how global BPM actually works… for example when I wire it to MOD:Footswitch it triggers a green light, whereas everything else seems to be red.

Where is the source code, please?


#3

Hi @devcurmudgeon,
let me explain how the tempo works. The Jack Server keeps a data structure for tempo an transport setting (see jack_position_t). The mod-host and the mod-ui use that data. You find the source code in the linked Github repositories.

The LV2 plugin standard specifies the property beatsPerMinute. Plugins get this value from mod-host. You can check out the Metronome Example Plugin (“http://lv2plug.in/plugins/eg-metro”) as a working example.


#4

Thanks! I’m trying to figure out how everything goes together. Those repos don’t seem to show any recent releases, though. Where is the source code for the Mod release itself (e.g. this 1.6.1. release), please?


#5

I can’t tell if you’re more interested in how BPM is implemented, or why it makes the LED a different color, but I’m going to answer about the LED :slight_smile:

Where is the source code for the Mod release itself

I don’t know if the release as a whole is available. You could grab a copy of the image archive and try to decompose it, though you might be violating legal agreements. My understanding is there are a few bits that MOD keeps proprietary like the microcontroller code for running the hardware.

for example when I wire it to MOD:Footswitch it triggers a green light, whereas everything else seems to be red.

I think this has to do with what type of control is mapped to it, and what types of values it will advertise. You could get some hints here where HMI refers to the hardware controls on the Duo (knobs, footswitch). You can see in the add function where different flags are applied depending on how the value is configured for the actuator (via pprops which comes from the LV2 plugin specs). My guess is that the LED responds based on the flags and value, but I don’t know that for sure.

I’m curious about this myself because I was recently trying to figure out if it is possible to change the LED color and the label display based on the state of a plugin. Example for a looper plugin with a controller mapped to a footswitch button:

  1. Press footswitch, a threshold-enabled looper goes into a ‘ready’ mode. LED displays green. Display label says ‘Ready’
  2. Begin playing, audio triggers Record. LED displays red. Display labels says ‘Record’
  3. Press footswitch to close loop. LED displays green. Display reads ‘Play’
  4. Press footswitch again to dub. LED displays red, Display reads ‘Dub’

#6

I can’t tell if you’re more interested in how BPM is implemented, or why it makes the LED a different color, but I’m going to answer about the LED :slight_smile:

Both :slight_smile: We clearly have similar (but not quite the same) interest… I’m wondering if it would be possible to flash the led Red on first beat of a synchronised loop, then flash green on the other beats.

Thanks for the info.


#7

@devcurmudgeon I might have missunderstood your question. Let me make clear for other readers, what else is to know about BPM and tempo tapping.
Say you choose the “MDA DubDelay” plugin, and you assign the “MOD:Footswitch1” to the “Time” control knob. Then the LED over the footswitch will start flashing in green.
This “Time” is in technical detail a “lv2:port” and it has the special property “mod:tapTempo”. For these special control ports the translation from tapping the footswitch to assigning a value is implemented in hardware and in code that MOD will not publish.


#8

Excellent Jakob, thank you.

This is exactly the kind of information that it would be nice to be able to add to the wiki…


#9

You’re welcome!