Multiple Instances Of Zynaddsubfx

This is a question for my fellow linux renoisers…

I have this tune where I am using two instances of Zynaddsubfx (my favorite Softsynth). They are routed to two In-Devices via Jack. When I use Lash to save and load the project, they sometimes get mixed up. That is, Renoise sends the midi messages to the wrong instances and the audio gets routed into the wrong In-Device. I don’t think that Renoise is the culprit here, it’s more likely to be a Lash+Zyn+Jack problem. I think that Lash tries to start the two Zyns at the same time and whichever starts first gets the name Zynaddsubfx_1 or something like that. That in turn causes Jack and Renoise to connect to the wrong ports.

This problem does not exist when I start the instances by hand in the correct order.

Did you guys run into the the same problem, and if yes, how did you solve it? Is there a way to manually choose a client name for Zyn or Jack/Lash clients in general?

hi and welcome to Renoise forums.

I know that I shouldn’t reply to a forum newbie with a potentially offensive image, but this is all I can say at the moment. In the future my answer will be more clear.

Ok, no answer is still an answer. I guess I have to live with that for now… which is a shame because when using more than two instances the problem probably gets much worse. :(

PS I’ve been lurking for a while and I’ve seen far more offensive stuff on here than your image :lol: Oh and thanks for the quick answer.

[edit]
I guess my solution for now is to not use lash and instead create a start-script which launches the zyn instances in the right order :guitar:
[/edit]

I get similar behaviour with ladish.
When I load a second instance of zyn, it takes over the first midi track, and the second midi track goes to the first instance of zyn.
With ladish you can however easily stop and start the second instance of zyn, so it takes the right slot in renoise.

cheers

Meaning that noisebuter should think carefully? :P

Thanks for the heads-up on ladish. I’ll have a look at this although I think that manually restarting every Zyn instance is still more trouble than starting them in the right order in the first place and just use qjackctl’s patchbay to handle the connections.

[edit]PS I interpreted the pic as “Be patient, young Jedi” ;)[/edit]

This is something, I am not sure wheter I have yet mastered…

Seems like ladish handles them just fine after switching them around in renoise the first time.
So it works well for me anyway…

to the posterous Jedi knights:

DSSI instruments Renoise 2.6 support does,
therefore you use LASH you need not more.

Has anyone tested the zynaddsubfx DSSI version yet? How does it look/work?

Yes, I have. It works good, although it’s a real CPU hog. It doesn’t “look”. It has no separate DSSI gui editor so far so you can’t use it’s gui from within Renoise. You can only load patches/banks. That means you have to do your tweaking with a seperate instance (possibly connected to Renoise so you can hear your changes in context), save the preset and then load it with the DSSI plugin. It’s not ideal, but at least you don’t have to deal with many LASH-messed-up instances per project.

I don’t know if Paul plans to revamp the gui to make it DSSI compatible. Time will tell. More patience needed ;)

How did you load the ZynAddSubFx preset to Renoise? *.xmz does not appear as a supported file…?

EDIT: Ahh, I did not have zynaddsubfx installed, only zynaddsubfx-dssi. Works fine now. Thanks for the tips.

Harald here, one of the active developers in the ZynAddSubFX project… Paul is real busy these days, but I’m working on kind of what you’re describing.
The problem with the current GUI is that with DSSI, communication between the UI and the backend needs to go through OSC. The current GUI simply has all changing of values in structs hardcoded, protected by a single master mutex. In order to pass UI change events through OSC, an abstraction is needed, and this is one of the things the experimental branch of ZynAddSubFX is providing.

Put shortly: Better DSSI interaction will come, but it will also (necessarily) come together with a new Qt interface, which is not finished yet.

That’s awesome news!! Thank you for posting this here.

Indeed, great news! Thanks for informing.