View Issue Details

IDProjectCategoryView StatusLast Update
0007186ardourbugspublic2022-11-02 09:44
Reporterunfa Assigned To 
PrioritynormalSeveritymajorReproducibilityrandom
Status feedbackResolutionopen 
PlatformPC/ LinuxOSLinux MintOS Version18 KDE5 64-bit
Product Version5.5 
Summary0007186: ZynAddSubFX patches are not saved
DescriptionAfter saving and reloading my session, all of my ZynAddSubFX patches are replaced with default sine-wave patch.

I tried this with two Ardour 5.x versions. Looks like it affects only ceritan sessions.

I have made 2 sessions with the same ZynAddSubFX LV2 plugin - one seems to never load (or even save) the Zyn patches - the other loads them fine.

I loaded my flawed session to realize my sounds are gone, I remade some of them, saved the session, reloaded and they are gone again.

I tried loading that session with many different Arodur 5 versions - none loaded the Zyn patches. Looks like patches the haven't been saved in the project.
Additional InformationI'm attaching my session.
TagsNo tags attached.

Activities

unfa

2016-12-25 21:49

reporter  

What is JACK 2.ardour (478,334 bytes)

x42

2016-12-25 23:43

administrator   ~0019217

LV2 preset save/load is between the plugin and liblilv. Ardour takes no part in presets. LV2 presets are usually saved to ~/.lv2/ and available to all lv2 hosts. Can you try with jalv?

Are you using Ardour binaries from ardour.org (with liblilv-0.22.1). If not, which version of liblilv did you compile and run Ardour with?

LV2 *state* (current settings) are saved with the session, in SESSION-DIR/plugins/ID/ and not part of the session file.

You also seem to be using an old version of zyn in what looks Carla as wrapper (the plugin URI is the session file is http://kxstudio.sf.net/carla/plugins/zynaddsubfx). Can you try with zyn-fusion (proper LV2 plugin, not a wrapped carla instance) http://zynaddsubfx.sourceforge.net ?

unfa

2016-12-26 18:27

reporter  

What is JACK.tar.bz2 (350,443 bytes)

unfa

2016-12-26 18:35

reporter   ~0019218

I'm using only Ardour binaries form ardour.org - usually nightlies to check for new bugfixes.

I mean plugin states, not presets.

I have attached a bz2'ed copy of the whole session directory without the audio files in interchange (because they are big).

In a subfolder "Zyn patches" I have manually saved XMZ files from the ZynAddSubFX instruments to have a backup in case Ardour won't recall the plugin states.

I the "plugins" subfolder I saw there are some plugin states saved but I have no idea if they contain what I manually saved in "Zyn patches" - even if so, Ardour doesn't load this data.

Could you please take a look?

x42

2016-12-28 00:04

administrator   ~0019221

What is the absolute path to the session on your disk? Is the file-system using UTF-8 charset (default on gnu/linux for fs) or some non-standard codepage?

The state-manifest files have some very strange reference:

   rdfs:seeAlso <#07/What\u0020is\u0020JACK/plugins/1097/state8/state.ttl>

that should be just

   rdfs:seeAlso <state.ttl>

It looks like lilv/serd fail to detect the the common ancestor of the state directory, but I haven't found a way to reproduce this nor find an obvious code-bug that results in this, yet.

x42

2016-12-28 01:12

administrator   ~0019222

PS. can you also include the output of `locale` on your system?

unfa

2016-12-28 14:22

reporter   ~0019224

IIRC the absolute path for the session is:

"/unfa/Projects/YouTube/Vlog/Episodes/UV#07/What is JACK/What is JACK 2.ardour"

Maybe the "#" character in the path is problematic?

The "/unfa" dir is mounted using fstab from a separate partition than the system one.
I'll provide more details later.

x42

2016-12-28 15:36

administrator   ~0019227

Yep, the hash (#) is the issue.

x42

2016-12-28 23:39

administrator   ~0019231

forwarded upstream: http://dev.drobilla.net/ticket/1150

unfa

2016-12-29 17:39

reporter   ~0019234

Last edited: 2017-01-01 18:51

Here's the requested detail about my system:

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_UM.UTF-8
LANGUAGE=
LC_CTYPE="en_UM.UTF-8"
LC_NUMERIC=pl_PL.UTF-8
LC_TIME="en_UM.UTF-8"
LC_COLLATE="en_UM.UTF-8"
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES="en_UM.UTF-8"
LC_PAPER=pl_PL.UTF-8
LC_NAME=pl_PL.UTF-8
LC_ADDRESS=pl_PL.UTF-8
LC_TELEPHONE=pl_PL.UTF-8
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=


The filesystem is an EXT4 - I have no idea how to check if it's using UTF-8. I didn't mess with it so I guess it is.

x42: thank you for proposing a fix!

PS:

I tried changing the absolute path to remove the "#" charactetr, but the plugins states are not loaded correctly. Is there anything I can do to fix the session?

x42

2017-01-03 19:51

administrator   ~0019260

Since the problem happens during "save", it's too late.

You can however manually edit the files in plugin/NNN/stateMMM/manifest.ttl and change the "rdfs:seeAlso <...>" to "rdfs:seeAlso <state.ttl>"
and remove the invalid \u0020 in both .ttl files


something like (make a backup first)

----- BASH -----
for file in plugins/*/*/manifest.ttl; do
  sed -i'' 's/rdfs:seeAlso.*$/rdfs:seeAlso<state.ttl> ./' $file
done
for file in plugins/*/*/*.ttl; do
sed -i'' 's/\\u0020//g' $file
done
----------------

I can't test this with your session, the only plugin from your session that I also have installed is "Autotune".

unfa

2017-01-04 09:56

reporter   ~0019265

Last edited: 2017-01-04 18:57

Thank you, I'll try fixing the session - good that I saved an external backup of the patches in XMZ files.

EDIT: The bash script didn't fix my session, but after reloading the backed-up ZynAddSubFX patches into the tracks and saving the session in a new location ("Save as...") I was able to get it running well again.

I wonder if there are any more special characters that can break ZynAddSubFX when put in the session's path.

x42

2017-01-21 02:39

administrator   ~0019292

Can you confirm that the issue is no longer present when using a recent nightly build (or update liblilv to v0.24.2)?

Old sessions still won't restore the (wrongly saved) preset, but when saving a new session that issue should no longer be present.

x42

2020-04-06 18:48

administrator   ~0021216

Is this still an issue with Ardour 6.0-pre1?

willbradley

2022-11-02 09:44

reporter   ~0026827

I still experience this issue under Ardour 6.9/Ubuntu 22.04/latest Zyn, but I've found a reliable workaround and I'm describing it here in case it may help with troubleshooting.

What works, I have no idea why, is to disable (just switch off, not remove) every affected instance of Zyn before you save the project and switch them back on after reload. And then, at least for me, the patches are still there.

Issue History

Date Modified Username Field Change
2016-12-25 21:49 unfa New Issue
2016-12-25 21:49 unfa File Added: What is JACK 2.ardour
2016-12-25 23:43 x42 Note Added: 0019217
2016-12-26 18:27 unfa File Added: What is JACK.tar.bz2
2016-12-26 18:35 unfa Note Added: 0019218
2016-12-28 00:04 x42 Note Added: 0019221
2016-12-28 01:12 x42 Note Added: 0019222
2016-12-28 01:12 x42 Assigned To => x42
2016-12-28 01:12 x42 Status new => feedback
2016-12-28 14:22 unfa Note Added: 0019224
2016-12-28 14:22 unfa Status feedback => assigned
2016-12-28 15:36 x42 Note Added: 0019227
2016-12-28 23:39 x42 Note Added: 0019231
2016-12-29 17:39 unfa Note Added: 0019234
2016-12-29 17:40 unfa Note Edited: 0019234
2016-12-29 18:09 unfa Note Edited: 0019234
2017-01-01 18:51 unfa Note Edited: 0019234
2017-01-03 19:51 x42 Note Added: 0019260
2017-01-04 09:56 unfa Note Added: 0019265
2017-01-04 18:56 unfa Note Edited: 0019265
2017-01-04 18:57 unfa Note Edited: 0019265
2017-01-21 02:39 x42 Note Added: 0019292
2020-04-06 18:48 x42 Status assigned => feedback
2020-04-06 18:48 x42 Note Added: 0021216
2020-04-06 18:48 x42 Assigned To x42 =>
2022-11-02 09:44 willbradley Note Added: 0026827