Sanguine Mutants - Mutable Instruments Alt Firmwares

Thanks for the report. Immediately I had a lot of trouble with this library trying to get its faceplate and backplate to show up, they have a transparent faceplate overlaid on the backplate.

Does the MM support syntax like this?

Similarly, panel->addLayer doesn’t seem to work

I had to write a workaround for the above just to get one of the layers to load:

	#ifdef METAMODULE
	setPanel(panel);
	if (bHasCommon) {
		SvgWidget* overlay = createWidget<SvgWidget>(Vec(0, 0));
 		overlay->setSvg(APP->window->loadSvg(asset::plugin(pluginInstance, "res/" + moduleName + "_common.svg")));
 		addChild(overlay);
	}
	#else
	if (bHasCommon) {
		panel->addLayer("res/" + moduleName + "_common.svg");
	}
	setPanel(panel);
	#endif

Re: aestus, looks like working as intended. It has this knob that’s labeled Module model but it only has two discrete states which get shown in that view.

Oh, I see it now, right.

I’ll look at the addLayer thing. It looks like the workaround you used is just using addChild instead of addChildBelow? And also explicitly setting the box.pos to Vec(0,0) (which is probably important to do)

Update: I see now, your workaround calls addChild() to the ModuleWidget, and the original code calls it to the SvgPanel FrameBufferWidget.

OK, I see what’s happening. There are three PNGs it’s trying to overlay with transparency. What we need to do is make the background one the panel (since that’s always the first/lowest layer), and then make the other two SvgWidget children of the ModuleWidget.

I tested it out, seems to work? (just in the simulator I didn’t bother fixing the font):

It would faster to load and less memory consumed to combine those three images into a single PNG. Not a huge deal, but something like imagemagick could be scripted to do all the modules in one command.

I’ll push how I did it.
Update: pushed to branch faceplate-fix

I also made the same fix around the same time as you lol

I’ve updated the repo with font fixes, and also laid out the labels a bit better so they dont overlap on the MM.

I had to truncate some of the labels just as they are really hard to place anywhere at a reasonable font size.

Updated again today - I reduced some of FFT/window size for MM on the Spectral modes for Fluctus and Etesia. So now the “STRETCH” and “SPECTRAL” modes can run on 48khz 256 buffer size.

2 Likes