interesting, did you add it and remove it from the patch, or never add it?
if you added it and removed it, it should have added and then removed the additional widget.
If you never added it, then the crash can be caused by the module loading in the browser (this is when the widget is constructed but the reference to the module is null, so could be significant
I’d go peruse your code, but your plugin doesn’t show a source link, so I can’t help you there,
FWIW stack trace looks kinda like a double delete. As I understand how purfenator works, it injects a widget into Rack’s hierarchy outside of your module widget’s hierarchy, so I’d look into exactly how that widget gets destroyed relative to the destruction and unloading of your module dll.
Try and test it with only 1 engine thread, and with multiple threads. In Rack standalone and inside a DAW. Instrument especially the starting and stopping procedures with printf’s so you can see in the log where it gets to.
Pretty sure this was the problem, I was trying to be clever in the draw widget, detect when the Purf module was removed then delete itself, but the module widget was also calling delete on the draw widget it inserts, in its destructor.
Right, well I’d call that a successful Saturday dev session, time to wrap things up, record a demo video and send the new build… Not sure if I’ll get another release out this year, so Happy Holidays everyone!
This is so awesome Dan! Thank you for the hard work. Another vote for multiple skiffs, that would be such a cool way to work in VCV. Kind of like saved selections, but mini skiffs.
The background image is drawn to screen space rather than rack space, so yes if you want something in a particular location, the easiest way would be to make an image the same size as your screen.
I could potentially add controls for x and y offsets for the image if there are other users that would want that?