Miserlou / Miserlou/RJModules

Some modules do not render correctly in module browser

Open
#44 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
101
Forks
20
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with EssEffWidget and ChordSeq in the module browser, then compare their custom display-component instantiation with the AudibleInstruments - Braids example. Inspect all modules using custom display widgets; done means those displays render in the module browser even without a module pointer.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.