Miserlou / RJModules

Various modules for VCV Rack
https://github.com/Miserlou/RJModules
MIT License
98 stars 18 forks source link

Some modules do not render correctly in module browser #44

Open cschol opened 5 years ago

cschol commented 5 years ago

Some modules do not render their display component in the module browser.

For example, EssEff:

image

As you can see, the display component is missing. Same for ChordSeq and all other modules using a custom display component.

The issue is the way you instantiate the display component:

Your EssEffWidget checks if module is non-NULL at the top-level and if it is not (for example in the module browser) it does not render the display widgets.

What you should be doing is passing the module pointer to the display widget and then checking validity of the pointer inside of the display widget. If it is not valid (which in your case means you don't have access to a file name) you draw the widget appropriately, for example using a "-" as a file name or an empty string. Then the widget is rendered correctly.

You can look at "AudibleInstruments - Braids" for an example.

This applies to all of your modules that use a custom display widget.