Development firmware v2.0-dev-1

It’s been a couple weeks since an official release – I’ve been working on the Expanders, but I’m moving back to the main module now.

While developing the v2.0 branch, it’d be nice to get feedback and provide a sneak-peek at what’s to come. We’ll be posting developmental releases for the v2.x branch for anyone who wants to checkout the bleeding edge.

Disclaimer
This is developmental, unstable, and experimental. Don’t throw this firmware onto your MetaModule right before a live performance! And don’t be too surprised if you make the ultimate patch and then it crashes before you can save it. It’s generally stable, I think, but there are some major changes and still many changes left to do.

Plugins
You need to use plugins that are compiled with the v2.0 API. You can have v1.x and v2.x plugins living in the same metamodule-plugins folder on your USB or SD card, and whichever firmware you are running will pick the right ones to load.

Bug Reports
Please post bug reports in this thread. That will help keep the bug list organized, and also not be confusing to people running the official latest firmware who aren’t aware of this experimental version. If there end up being tons of bug report discussions, I’ll make a new thread(s).

We would appreciate hearing about anything you notice that’s not working, and/or feedback in general about how things are implemented.


Update: I’ll keep the latest links here:

Here’s the latest:
firmware-v2.0.0-dev-11.0

Plugins:
All v2.0-dev-11.x plugins

v2.0-dev-10.x plugins are NOT compatible with v2.0.0-dev-11.x firmware and vice-versa


What’s new

  • Context menus: VCV-rack based modules have their context menus visible in the Module View. Clicking an item has the same effect as clicking it in VCV (selects a mode, toggles a state). Submenus are supported, too! It works out of the box for most(?) modules, at least as far as tested. But there is a key UX difference. Rack typically closes the menu after you click an item (“consumed”) which you can override with the Ctrl/Cmd key. But on the MM it’s better to keep the menu open after you click an item. Unfortunately many modules rely on the menu closing after a click, because they do not update the text and checkmarks of their items when you click something (they update the items the NEXT time you open the menu). So to make it “prettier” on the MM sometimes the plugin dev will want to change their code a bit to make the menu automatically update itself. But – it works even with out this.

  • MIDI Stream: Modules have access to the raw MIDI stream. Currently showcased with a port of the VCV Core MIDI->CV module under the temp/WIP brand name “RackCore”.

  • Controls update on-screen better Several items changed:

    • Knobs can have custom start/end angles

    • Modules that internally change their parameters now are updated in the GUI (fixes Orca's Heart: Changes to scale preset not reflected in panel)
      Screen Recording 2024-10-31 at 4.04.28 PM

    • Knobs that “snap” are drawn in snapped position
      Screen Recording 2024-10-31 at 4.00.17 PM

    • You can now adjust parameters when a patch is muted/paused. Basically this is like turning knobs on a hardware module when the power is off. Nothing happens, but when you turn it on, it’ll be in that position.

  • Catchup Knob Modes You can select one of three catchup modes to handle what happens when the virtual and physical knobs are not pointing at the same values. Read more in this post below

13 Likes

Thanx for the continued refinement Dan, the MM is a fantastic addition to any rack and just keeps getting better,- Will the V2 full release address the “takeover” option requested for knob positions https://forum.4ms.info/t/encoder-pass-through-mode/531?, the default mode at the moment is less than ideal especially if you try running multiple knob sets.

1 Like

Will there be a midi out option coming in v2 ?

Yep, that feature is already in progress

6 Likes

Yes, eventually. The raw MIDI stream feature will let us stream MIDI out to modules. Then we can port modules that output MIDI.

3 Likes

this is great news!! switching between a lot of patches on stage without the current, often harsh knob jumps will be a huge boon

Amazing update, looking forward to trying it out!

With MIDI In and Out modules (all to come later), it would make patch management so much better.

:star: Very much appreciated :star:

I mentioned this in another topic

but some midi devices need the ability to select the correct ‘port’, as they have multiple.
BUT since you mentioned output.
I thought Id point out that SOME midi devices will need to use a different port for input to output.

(I know, I know, usb is bi-direcitonal… but for some reason, some devices have an IN and OUT port :confounded: )

anyway port selection is actually very useful for lot of other purposes, as its a way you can connect multiple midi devices using midi-hubs (rather than usb hubs)
(e.g. iConnectiviy mioXM)

bug report: @danngreen - with all the latest 2.0.0-dev-1 plugins/firm, for some module brands, 4ms, airwindows (i certainly haven’t tried the brands) im not seeing any virtual knobs on certain mm modules move - 4ms prob8 is one culprit, or the airwindows ones(only tried adclip7, kCathedral3). so as i adjust the param in theparam edit menu, or move the physical mm knobs that are mapped to them, im not seeing the knobs move in the module on the mm screen. also a lot of modules in the patches have all their knobs appearing at 0 when i load the patches, even though in the vcv project they are pointed in all different directions. but the good news is the patches still sound correct, as they sound in vcv, and i hear changes on the mm when i turn the physical knobs ive mapped in vcv. so this seems to be just some kind of ui issue. the STS also exhibits this ui issue.

speaking of STS, curious is that working/ready for us to test out yet? although im not sure if i can even get it working considering i cant see whether the buttons are on/off, etc due to the above ui issue.

Oh right! Sorry, my goof for forgetting to mention that. Yes, this is known. All modules that aren’t VCV Ports or using the “SmartCoreProcessor” adaptor don’t have their knobs updating visually in the GUI. So that includes Airwindows (because it’s actually a Native Plugin, not VCV plugin), and many 4ms modules (all except L4, PI, DEV, SHEV, EnvVCA, DLD, PEG, QCD, LPG, RCD, SCM, SISM, VCAM, MPEG, Tapo, QPLFO, Freeverb, ComplexEG).
We’ll have this fixed.

No, I haven’t done any work on it in v2.0. The framework is there, I just need to merge it into v2.0.

1 Like

thanks for that info dan!

so with 2.0.0-dev-1 im noticing this patch causes a small noise burst and then no audio passing out, but the cpu meter is still running. i think the culprit is the 4ms freeverb at the end of the chain(audio passes through if i remove it):
BasicDrumBox2.yml (14.0 KB)

edit: just noticed freeverb in the to fix list you mentioned above so guessing thats the reason its causing the ‘no audio pass through’ issue

OK, I didn’t try in dev-1, but I’m able to play this, adding two Freeverbs at the end (for stereo), when I’m using v2.0.0-dev-2:
https://github.com/4ms/metamodule/releases/download/firmware-v2.0.0-dev-2/metamodule-firmware-v2.0.0-dev-2-firmware.zip

Try that?

Hoping to have a dev-3 by the end of the day…

Here’s dev-3:

https://github.com/4ms/metamodule/releases/download/firmware-v2.0.0-dev-3/metamodule-firmware-v2.0.0-dev-3-firmware-assets.zip

This changes:

  • Fixes all of the 4ms modules whose knobs don’t display as moving. (Airwindows is still TODO)
  • The manual “Adjust” pop-up for params now uses Rack’s display method (units, log/exp base, offset, mult, as well as min/max)
  • Adds MIDI channel selection to MIDI->CV module
  • Makes MIDI event log prettier in MIDI->CV module
  • Cleans up some Cloned Instruments artwork (still more modules TODO)
2 Likes

Some examples of param display:

1 Like

Hi Dan, Just trying 2.0.0d3 and after the firmware update, none of my 1.3 plugins autoload which means many of my patches fail. None of the 1.3.0 plugins load. Where can we find updates for these? (n.b. liking the crisper text rendering with the new firmware)

Right, you need to install v2.0 plugins. Link is in the first post

ugh. mea culpa.
Okay. FWIW using 2.0.0-dev-3 offthesky’s BasicDrumBox2.yml runs -71% @48K128blk
However having problems with older patches using 1.3 plugins - which cause the MM (now running v2 firmware) to freeze. When I place all the 1.3 and 2.0 plugins in the same folder on the SD card, the MM only sees the 2.0.0-dev-3 ones and the two StellareModular ones for some reason. If I remove all the 2.0.0-dev-3 plugins from the SD card, the MM then sees the 1.3v ones but won’t let me install as the firmware is v2. So I think the only way to run my old v1.3 patches would be to revert to 1.3 firmware (assuming that’s possible) - still no major problem as this is all new ground for me & will keep exploring the v2 environment.

also if it’s helpful, I can confirm that I can get the Digitone to drive the midi>cv > plaits/4ms Ensemble module - via the usb input on the MM. Excellent. 61%@48K128.
midi_ensemb_valley_v200d3.yml (6.5 KB)
fwiw - file creation date on patches made on the MM are set to Jan 1 2000.