Version 2.3.0 has been tagged on the master branch. As usual, a companion version 2.3.0z has been tagged on the Zynthian branch, which supports the graphic envelope and filter features in the Zynthian UI.
Note: If you are running Oram or are running Vangelis and have not updated for a while, it is imperative to update Jalv to the latest version on the asyncli branch, otherwise shapshot loading will hang when the GUI is enabled (i.e. when VNC is enabled in Zynthian).
Simply run:
/zynthian/zynthian-sys/scripts/recipes/install_lv2_just_jalv.sh
in Zynthian before or after updating MiMi-d.
The major news this time is of course the GUI which is enabled when VNC is enabled in Zynthian. The interface is rescalable and allows for a certain amount of customization (right click, or click the UI button in the upper right hand corner, to bring up the UI menu).
A minor fix is that two of the presets (E Piano S and E Piano S Chorus) have now been correctly assigned to the Factory bank, which avoids a weird file:///... line in the bank list in the Zynthian UI.
Some parameter names have been changed to better suit the new GUI, which also affects the native Zynthian UI. It’s a fairly clean change, and the manual has been updated accordingly.
But back to the new GUI!
Parameters may be edited by dragging with the mouse, using the scroll wheel, or using the +/- (or PgUp/PgDown) keys after clicking on a parameter. Navigation can also be done using the arrow keys rather than the mouse if desired.
Parameters are divided into two pages, with parameters in the Main parameter group being visible on both pages. Page 1 contains the audio path and modulation, whereas Page 2 contains control parameters such as key assign, controllers and spread. Click the Page Toggle button in the UI or press the Tab key to toggle the page.
More details in the manual: Either in the Doc directory in the source, or at https://butoba.net/downloads/mimid-manual.pdf .
Note that the GUI itself does not handle preset loading or saving, that must be done either in the Zynthian UI as before, or using the (Jalv) Preset menu in the GUI window.
I’ve also briefly tested the GUI in Ardour and it works fine there too, although the lack of preset management becomes a bit of a hurdle.
Regarding code development, it’s been an interesting 4+ weeks since I started this. I’ve used Claude Code (Sonnet 4.6) extensively in its free version, and I must say it’s been a very inspiring way to do prototyping and getting things to work, this being the first time I’ve done any major AI assisted programming project. At the same time, Claude makes lots of implementation twists and turns that can take a while to untangle.
Basically, it took a weekend to get the basic UI up and running, then a week to get it working well. I figured I’d put another week’s worth of cleaning up, but at the end of the now in total two week period I decided to switch graphic toolkits from Cairo to nanoVG to reap the benefits of GPU assisted rendering, particular when editing parameters, not so much because it looked slow, but because it used a fair amount of CPU and I wanted to investigate how much better nanoVG would be. Well, it took a weekend to get nanoVG up and running properly, and another week of cleaning up, for a total of three weeks. Finally another week of cleanups, moving things around and improving the structure, so a total of four weeks (haven’t done much this week).
So all in all, a different development curve: quickly arrive at something that looks good, but one needs to steer the AI in the right direction pretty often which is a skill one no doubt will get better at over time.
An interesting observation is that when giving the AI general instructions, it fares pretty well, but the more specific the instructions are, the harder it is to get it to do precisely what one wants.
Anyway, enjoy the GUI, and feedback is always appreciated!