Probably some useful comments in a background discussion by Jonathan for
future reference:
"The short version is "it's not possible". Command line arguments are
not compatible with session switching, which is a stupid limitation to
impose just out of laziness (and, let's be clear, the presence of things
that are configurable only by command line options is just that,
laziness, even when I do it...).
There are several options:
1) Patch the program to encode the relevant options in its project file
and rather than (exclusively) on the command line.
2) If the options are major features, such as e.g using X11 vs Wayland
for the GUI or something, they would probably be better encoded in the
executable name rather than the arguments. This is how non-mixer and
"non-mixer-noui" work (one is just a symlink to the other, the
executable detects its name and behaves accordingly).
3) (the user can) write a shell script (called whatever) that just
"exec"'s the program with the desired arguments. This will still be
compatible with NSM (as in this way you are guaranteeing that the
commandline arguments to every instance of this program will be the
same). If you were doing anything fancy with determining the arguments
manually, you'd get into trouble.
4) Run the program under NSM proxy (losing all but basic SM functionality).
The only way I could change NSM to enable this would be to remove
functionality (specifically, session switching without restarting
applications), which is something I see as conforming to the lowest
common denominator. Command-line arguments in Linux Audio are going in
the wrong direction UX wise, I think, if we want everything to have a GUI.
So, why don't these LV2 plugin hosts just open a GUI for instance that
lets you choose a plugin, and save that info in thier project file? I
don't really see why command-line arguments should be involved. Does
anybody really want that (again, it's kind of poor UX)?"