ZynAddSubFX workflow

Having gotten my Zynthian a little while ago, but only the past week having time to dive into it, I’m trying to grasp what kind of workflow there is for working with ZynAddSubFX patches.

What I’m thinking of is something like this: Assume I start by creating a new ZY layer, then choose one of the patches from one of the banks as a starting point. I now do some heavy editing, either using VNC, or by remotely running the Zyn-Fusion GUI via the network.

Now, if I were working natively in ZynAddSubFX (on a PC), I could either a) save the individual patch (“instrument”) and reuse it later, or b) save my complete 16-part setup using the “save master” function in Zyn, which saves the complete setup including all constituent patches.

However, in Zynthian, since only a very small subset of the ZynAddSubFX parameters are actually implemented in the Zynthian UI, saving a Zynthian snapshot containing an edited ZynAddSubFX layer won’t save any edits at all.

So what to do? From what I can tell, I could save the patch using the Zyn-Fusion UI, then using webconf load it into one a bank where I then can use it in a layer, effectively accomplishing a) above although in a bit of cumbersome way.

b) is not possible at all, because Zynthian essentially takes on the role of configuring all layers, which of course in general is a good thing, but since the bulk of the parameters are not saved in a snapshot, it’s not possible to save edits this way.

Is there something I’ve missed here? Otherwise, it seems to me that for ZynAddSubFX, the only practical Zynthian workflow is choosing an existing preset, which preculdes actively working with patches.

I’m thinking there would be two ways to solve this. One is that when taking a snapshot, the constituent patches in the ZynAddSubFX setup are saved as individual .xiz files (blobs), to be loaded instead of referencing the original files when the snapshot is loaded. Alternatively, the whole ZynAddSubFX setup (.xmz file) could be saved with the snapshot in a similar manner. I’ve noticed there is an XMZ directory in /zynthian/zynthian-my-data/presets/zynaddsubfx but it seems to be empty, despite me having saved a number of snapshots with ZynAddSubFX layers.

EDIT: After perusing the zynthian-ui code, it seems that it’s possible to specify a ‘master’ file as the patch file when setting up a ZynAddSubFX layer. This means that an option is that after having set up all the ZynAddSubFX layers and associated patches (including editing), use VNC or a remote Zyn-Fusion to save the complete setup as an .xmz file (preferably in the XMZ directory), which can then be specified as the preset for every layer. It’s necessary to do this for every layer, is otherwise the output from the relevant part will not have its audio patched to the Zynthian audio output. Slightly awkward, but at least its possible without too much hassle.

After some experimentation and poking around, it looks like that when importing ZynAddSubFX instrument files (".xiz") using webconf, this is done simply by copying the patch files into /zynthian/zynthian-my-data/presets/zynaddsubfx . Thus when creating new patches on the Zynthian, one can simply set the aforementioned directory as the output directory and save the patch there (or, likely better, in a subdirectory), and then change the base patch for the layer to the newly saved patch. Quite simple. Don’t know why I didn’t realize this initially.

A minor quibble is that ZynAddSubFX seems to be set up so that the default directory is /zynthian/zynthian-ui (because that’s where the actual application is started?) which means that the first thing I need to do when saving patches is to navigate to /zynthian/zynthian-my-data/presets/zynaddsubfx . It would be better if this were the default directory; I’ll create an issue for this.