FR: Make UI editor and UI elements normal MODULEs conntected with I/O pins

Official support for: mutools.com
Post Reply New Topic
RELATED
PRODUCTS

Post

Currently the UI lacks many features that would be desired:

You can't:
- multi select + edit elements (e.g. with a selection rectangle)
- save and load presets to recall designs
- copy and paste elements across designs
- easily edit properties of UI components ("inspector" style following selection)
- link UI elements to target module / values manually or edit existent links after they are made

My FR requests are the following:
- make the UI editor (and hence the whole front panel) a normal addable module in the modular editor
- only one UI editor module can be placed inside a MUX / composer
- the UI editor module shall feature its own (internal) MUX editor with special modules:
-> all current (and future) UI components can be added as modules
-> I/O pins can be added to let values go in and out of the UI module
-> UI modules can be linked (using cables) with the I/O pins and with other UI modules
- the UI editor module's user defined I/O pins can then be linked in the outer MUX to let the UI control something or display something
- editing the position, size, type, properties etc. of added modules can be done using a "editing mode" in the UI editor module. this looks just like the current UI editor + inspector
-> let the user save and load designs in this editor
-> support copy + paste in this editor
-> added UI modules in the editor appear in the UI editor module's modular editor as well (to be linked etc.)
- allow adding 1...n "parameter mapping" modules (new module type for multiple target parameters) in the UI editor MUX that works just like the MP1...MPx mapper. this thing can then be used to internally / transparently link UI modules to outer parameters if desired. this would be done by linking the newly added UI module with a newly added mapping module which automatically contains a mapping to the dropped parameter. but of course you can later also use I/O pins to link to the outer MUX.

This approach would make the UI much more usable and understandable than previously.
Drag + drop of parameters can still be supported in this approach. Dropping a value of another module onto the UI editor would create the UI module and an additional "parameter mapping" module inside the UI editor's MUX and link the new UI module to it. In that "parameter mapping" module the parameter that has been dropped is added. This links things up and makes them editable afterwards.

Hope that you like this approach. :phones:

Post

Representing all of the individual controls as nodes in a new type of node editor seems to add a lot more complexity than value. Having individual controls presented as both nodes and their visual aspects means needing to work in two interfaces instead of one in order to accomplish what could easily be done with just the visual control layout interface, if a properties area were added either in a sidebar or a floating window.

I kind of like the idea of having a node representing the panel as a whole, but rather than limit to one per MUX, you could as easily allow exactly one to be marked as the front panel in use (right-click and "Set as active front panel"), with others still being present. Then the others could be added as nested control sets of the primary one, as could other MUX nodes be added as nested control sets (showing the active front panel of those nodes).

You could still have the option of adding I/O pins to the nodes and select those as sources for displays and destinations of controls in the properties area, and be able to use those to link to the other nodes in the MUX. Adding controls in the editor could automatically add pins to the node, or they could be adjusted In the properties to share pins with other controls in some cases (such as display elements taking their input directly from other controls rather than from the pins, so that the current value of a knob could be displayed on a label with custom formatting, or having a "tap tempo" button next to a knob so that the user could set a timing value by tweaking the knob or tapping on the button, but the same value then gets applied to the output either way).

Post Reply

Return to “MuTools”