dssi-vst icon indicating copy to clipboard operation
dssi-vst copied to clipboard

Add support for setting the JACK client name.

Open egasimus opened this issue 10 years ago • 6 comments

This commit introduces the `-c <name` and `-u`
options. The former requests a client name; the
latter attempts to fail if the client can't get
the exact name (as, by default, JACK would add a
suffix to duplicated client names).
  • I needed even more predictable client names (for nefarious scripting purposes) so I hacked a way to specify them externally.
  • It also prints the name which will be used for the JACK client.
  • The -u flag calls jack_client_open with the JackUseExactName bit. An error code should be available in jackStatus however a jackStatus | JackNameNotUnique check didn't work so I left the error message unclear like that.
  • It's not pretty good at failing -- the plugin stays alive for a good while after the JACK client dies; console process can't be killed with Ctrl-C, and in fact doesn't die until the plugin dies.
  • I've loosened client name constraints considerably -- what was the reason for the original 26-character, lowercase-only limit?

egasimus avatar Jan 11 '15 19:01 egasimus

ALSA MIDI support on the way.

egasimus avatar Jan 11 '15 19:01 egasimus

I'll review the patch later, but I should tell you that this feels like a waste of time. dssi-vst is broken by design (DSSI has no chunk support) and it has, to my opinion, some bad design decisions.

I've taken over the project now, but I'd like to do fixes only, not adding stuff.

Adding things like audio drivers is something that hosts can do, like jack-dssi-host, ghostess or carla. If you run dssi-vst with carla it will save/restore chunks plus it has alsa drivers (although it's WIP).

falkTX avatar Jan 12 '15 14:01 falkTX

What would you recommend as a lightweight, headless, standalone JACK/Wine VST host, with support for optionally showing the plugin's custom GUI (and blackjack and hookers)?

egasimus avatar Jan 12 '15 15:01 egasimus

I don't think there's a single one that is "headless". If you mean started via CLI, you can use the "carla-single" provided by carla.

With dssi-vst you can use carla-single like this: env VST_PATH=/home/falktx/Personal/Muzyks/WinVST carla-single dssi /usr/lib/dssi/dssi-vst.so Crystal.dll

Sometime soon the following will also work: carla-single win32 vst /home/falktx/Personal/Muzyks/WinVST/Crystal.dll (this is a work in progress)

falkTX avatar Jan 13 '15 13:01 falkTX

Thanks! :) I knew about carla-rack and carla-patchbay but not carla-single. I can only praise Carla's loading of Win32 plugins. :) I'll give that a try; I don't really care much for DSSI per se -- dssi-vst is just something out of the Arch repos which worked well for loading VSTs as JACK clients, and I didn't even realize it's in maintenance-only mode.

What I mean by headless is that I want any GUI to be completely optional :) Does Carla do that yet? Also, does carla-single allow custom client names?

egasimus avatar Jan 13 '15 15:01 egasimus

carla-single will show a GUI if the plugin provides one. I haven't made a mode to never show the GUI.

A custom client name can be set using "CARLA_CLIENT_NAME" env var. If you use carla-single inside ladish it will use the ladish app name as client name.

falkTX avatar Jan 13 '15 16:01 falkTX