MOD UI Docs.

This commit is contained in:
Robin E. R. Davies
2025-07-20 15:53:49 -04:00
parent 8bee485c9f
commit 200719af58
15 changed files with 325 additions and 8 deletions
+2 -1
View File
@@ -134,6 +134,7 @@
"midiclip",
"midisong",
"mlmodel",
"modui",
"MOTU",
"Netplan",
"Pedalboard",
@@ -161,7 +162,7 @@
"cSpell.ignoreWords": [
"nammodel"
],
"cSpell.enabled": false,
"cSpell.enabled": true,
// Disable all automatic completion suggestions - only show when Ctrl+Space is pressed
"editor.quickSuggestions": {
+4
View File
@@ -56,8 +56,12 @@ https://github.com/user-attachments/assets/9a9fd0c6-78fc-4284-8b44-6a1929c00cc6
### [Optimizing Audio Latency](https://rerdavies.github.io/pipedal/AudioLatency.html)
### [Command-Line Configuration of PiPedal](https://rerdavies.github.io/pipedal/CommandLine.html)
### [Changing the Web Server Port](https://rerdavies.github.io/pipedal/ChangingTheWebServerPort.html)
%nbsp;
### [Using LV2 Audio Plugins](https://rerdavies.github.io/pipedal/UsingLv2Plugins.md)
### [Which LV2 Plugins does PiPedal support?](https://rerdavies.github.io/pipedal/WhichLv2PluginsAreSupported.html)
### [Support for LV2 Plugins with MOD User Interfaces](https://rerdavies.github.io/pipedal/ModUiSupport.html)
  
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
# Run local jeckyl-hosted sevever for GitHub documentation page.
# See https://jekyllrb.com/docs/installation/ for instructions on how to isntall jeckyll locally.
# Then
# cd docs
# bundle install
#
cd docs
bundle exec jekyll serve --host
+3
View File
@@ -16,8 +16,11 @@
#### [Optimizing Audio Latency](AudioLatency.md)
#### [Command-Line Configuration of PiPedal](CommandLine.md)
#### [Changing the Web Server Port](ChangingTheWebServerPort.md)
 
#### [Using LV2 Audio Plugins](UsingLv2Plugins.md)
#### [Which LV2 Plugins does PiPedal support?](WhichLv2PluginsAreSupported.md)
#### [LV2 Plugins with MOD User Interfaces](ModUiSupport.md)
 
+2
View File
@@ -31,3 +31,5 @@ gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
gem "webrick", "~> 1.9"
+5 -3
View File
@@ -205,14 +205,14 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
mini_portile2 (2.8.9)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.19.0)
nokogiri (1.18.8-aarch64-linux-gnu)
racc (~> 1.4)
nokogiri (1.18.8-x86_64-linux-gnu)
nokogiri (1.18.8)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octokit (4.25.1)
faraday (>= 1, < 3)
@@ -249,6 +249,7 @@ GEM
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (1.8.0)
webrick (1.9.1)
PLATFORMS
aarch64-linux
@@ -262,6 +263,7 @@ DEPENDENCIES
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
webrick (~> 1.9)
BUNDLED WITH
2.4.19
+35
View File
@@ -0,0 +1,35 @@
---
page_icon: img/moduiThumb.jpg
icon_width: 120px
---
## Support for LV2 Plugins with MOD User Interfaces
{% include pageIconL.html %}
Some LV2 plugins (currently a minority of plugins) provide custom plugin user interfaces based on [MOD Audio's](https://mod.audio/desktop/)
[ModUi framework](https://wiki.mod.audio/wiki/MOD_Web_GUI_Framework). When using such a plugin, you can choose whether to use the MOD Web GUI Framework user interface (the MOD UI) or the default PiPedal user interface. For the most part, the same functionality is available in both interfaces.
Plugins that are distributed via Linux distributions usually do not implement MOD user interfaces; but all (or almost all) of the plugins that are available from the [PatchStorage website](https://patchstorage.com/platform/lv2-plugins/) do implement MOD user interfaces. Many plugins that are available from GitHub or other sources also implement MOD user interfaces. Often you can find updated versions of a plugin that is published by a distro on PatchStorage which does provide a MOD UI.
Here's an example of a MOD UI for the ZAM Eq2 plugin:
<img src="img/zam-modui.jpg" alt="ZAM Eq2 MOD UI" style="width: 100%; max-width: 400px;box-sizing: border-box;padding-left: 24px; padding-right: 24px; "/>
And the PiPedal UI for the same plugin:
<img src="img/zam-pp-ui.png" alt="ZAM Eq2 PiPedal UI" style="display: block; box-sizing: border-box; padding-left: 24px; padding-right: 24px; width: 100%; max-width: 400px; margin-left: auto; margin-right: auto"/>
Which UI you use is entirely up to you. MOD UIs tend to be a bit unfriendly for small-format devices like phones, but they do look great in a desktop browser. Sometimes the MOD UI will make better use of available screen space; sometimes the Pipedal UI will look better. It really depends on the plugin and your personal preferences. In this particular case, the MOD UI is more space efficient, but that is not always true.
To select which user interface to use, tap on the UI selection button in the toolbar for the plugin. If the plugin does not provide a MOD UI, the button will be disabled.
<img src="img/selectUi.png" alt="MOD UI selection button" style="display: block; width: 100%; padding-left: 20px; padding-right: 20px; max-width: 300px; margin-left: auto; margin-right: auto"/>
Support for MOD UIs in PiPedal is still experimental, so you may encounter some issues. PiPedal does not yet support all of the features of the MOD UI framework, not because it can't, but because we haven't been able to locate examples of plugins that use those features, which makes it difficult to test. If you encounter any issues, please report them on PiPedal's [GitHub Issues page](https://github.com/rerdavies/pipedal/issues), and we will do our best to provide quick fixes.
&nbsp;
--------
[<< Which Plugins are Supported?](WhichLv2PluginsAreSupported.md) | [Up](Documentation.md) | [BuildingPiPedal from Source >>](BuildingPiPedalFromSource.md)
+1 -1
View File
@@ -14,4 +14,4 @@ If you install a new LV2 plugin, PiPedal will detect the change and make it avai
PiPedal does not currently allow plugins to provide custom user interfaces; it displays controls that are declared by the LV2 plugin without customization. In practice, this means that LV2 plugins with simple sets of controls work well, but those with complex sets of controls can be difficult to use. However, we would be pleased to collaborate with developers who need more than the basic set of controls. This is a feature set that Pipedal needs to address, so we would be happy to collaborate with other developers on this. Please contact rerdavies at gmail.com for further details.
--------
[<< Using LV2 Audio Plugins](UsingLv2Plugins.md) | [Up](Documentation.md) | [BuildingPiPedal from Source >>](BuildingPiPedalFromSource.md)
[<< Using LV2 Audio Plugins](UsingLv2Plugins.md) | [Up](Documentation.md) | [MOD UI Support >>](ModUiSupport.md)
-3
View File
@@ -1,7 +1,4 @@
<div style="max-width: 30%; width: {{page.icon_width}}; background: #FFF; z-index: -1; margin-right: 18px; float: left">
<img src="{{page.page_icon}}" style="width: 100%;background: #FFF; z-index: -1;
float: right" />
<div>
<p style="font-size: 10px; text-align: right; color: #888">Generated by DALL-E 2</p>
</div>
</div>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

+264
View File
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 514 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB