View Single Post
Old 04-26-2022, 10:29 AM   #1
reuk
Human being with feelings
 
Join Date: Jan 2021
Posts: 10
Default [6.56] LV2 plugin fails to load if .dll name contains a space

I'm seeing this issue on macOS 12.3.1. I haven't checked other platforms.

To reproduce:
- Take a working LV2 plugin.
- Edit the plugin's manifest.ttl so that the lv2:Plugin's lv2:binary field contains a space. e.g. if you have a copy of the x42-eq plugin, change <fil4.dylib> to <fil%204.dylib> (I think the object is an IRI, so it needs to be percent-encoded).
- Change the name of the dylib on disk so that it contains a space, i.e. change "fil4.dylib" to "fil 4.dylb".
- Open REAPER and try to create an instance of the plugin.

Expected result:
- The plugin opens successfully.

Actual result:
- The plugin is added to the channel strip, but its name is rendered in red, and the UI cannot be opened.

There are no parse errors when I check in Options -> Preferences -> Plug-ins -> LV2, so the manifest is being parsed without errors. If I edit the manifest so that the filename contains a non-percent-encoded space, then I *do* see a parse error reported.

I suspect that the problem is just that the escaped characters aren't being converted back to non-escaped characters before attempting to open the LV2's dylib.
reuk is offline   Reply With Quote