Extra parameter from a Gen~ patch

Hello @ falkTX
You gave me the solution to trick the buffers extra parameters resulting from a Gen~ plugin, but I have an extra parameter problem again.

For a simple utility suggested by S_Righteous ( signal fading from one destination to another)
I did a Gen~ patch with 1 input and 2 outputs but it gives me a plugin with an extra input parameter This was build thanks to Christosku’s Docker Container.
There are a few lines related to LV2 stereo port groups that I’ve never seen in other plugins. Could this be the problem? And if I delete these lines, what should I do with audio input 2 (lv2:index 1)?

Any workaround as for buffers?
Thanks

There is nothing wrong with the extra info, you likely updated DPF that brings support for LV2 port groups, in this case it tags the outputs as stereo ports.

Why the plugin ends up with 2 audio inputs I do not know, but suspect somewhere the IO to be hardcoded. Should be easy to confirm by changing inputs to 0, or outputs to 3 ports, and seeing if the output plugin still ends up being stereo.

I don’t know if I understood correctly, but the number of inputs and outputs is hardcoded in the DistrhoPluginInfo.h file. I just pushed an update to github that makes this dynamic. You just have to docker compose stop && git pull && docker compose up -d modgen to see the changes.

I tested it with this patch, which fades one input between two outputs:

And I got a plugin that only shows one input and two outpus:

----------begin_max5_patcher----------
467.3ocyUEsaBBCE8YLw+gt93hRZQfg6o8erXVpP0UiTHkhiEy92WokZHanB
atEdgld5k64dtmxkiSm3.WmUQKffGAOCbbNpPbzX0HNV.GXJoJdOoPGHjSeK
a8N3rlyjzJoF+9SPrDMfJp4XzITdYJiumJ0YwyhlSjwux3aeQPiklBI.4hlA
vKv0KdKcCTO8bQfUsxTVozlJrE1fIeOmZxCDBVoO5ioSpWUKy90p7t4.bWBc
Y25DeAcFhpkVzBsLC0OGMxrSyLZ3dIF665ELZcybhfjB1PRnBvSJIAPtpURE
.qVSnaHk6kJrft5Fgc2MPWpa3469Pc2vW2L78GWlthDfWWRMX3WtsFuGVe+d
Qv0jJ5lKGkc14mp3gabMijL9Uz3y05Tm9C20L57G6Yl3f6Y7u8SEMY0G7EIV
jUJhssG6eL.sXLgVHYbhjkwaEkuIny2L6MeQ8gtfaFcK6Cc5d.9lvGt270Jp
LgZfn9txMnBB6SEr7Or.5UKH5LE.5+pCDYr7qV.MeiQxyOPEEM4vvsZdwtL8
KEMyrmwM6CL6EzCL6q3afHB0L.oZ.PoPWxvpvl4FvzLUIvKYVenV80TqGIwI
ozhbhQmvjhb2sTNb5DUPeVTo8bB
-----------end_max5_patcher-----------

Ok thanks, I’ll give a try

1 Like

Cool, I just added some regex to the html that parses the gen cpp file, tries to detect the number of inputs/outputs and autofills these two new inputs. Let me know if that works for you!

1 Like

you shouldnt show the IO, at least dont make it editable.
see max-gen-skeleton/setup.sh at master · moddevices/max-gen-skeleton · GitHub for how I did it on other projects. we can just easily parse the cpp file, so your idea is on point.
but the IO count is really not meant to be changed.

2 Likes

You’re right, I hadn’t seen how max-gen-skeleton worked! I will remove these fields & the regex from the frontend and implement this functionality in the python script that handles the uploads and generates the final DistrhoPluginInfo.h.

Something unrelated: is there a drawback in bootstrapping modduox-new instead of modduox-static?

No success for me , it seems that the container starts and stops instantly.

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

Traceback (most recent call last):

File "/home/modgen/server/source/server.py", line 270, in <module>

saveSettings()

File "/home/modgen/server/source/server.py", line 225, in saveSettings

config['Default']['inputs'] = inputs

File "/usr/lib/python3.9/configparser.py", line 1258, in __setitem__

self._parser._validate_value_types(option=key, value=value)

File "/usr/lib/python3.9/configparser.py", line 1185, in _validate_value_types

raise TypeError("option values must be strings")

TypeError: option values must be strings

I pushed a fix for it.
Just docker compose stop && git pull && docker compose up -d modgen and it should work!

1 Like

Yes, perfect ,1 input and two outputs on the plugin.
Thanks again

2 Likes