Project

General

Profile

Bug #1570

LV2UI_Descriptor.cleanup() is never called (maybe only for LV2_External_UI)

Added by Anonymous about 1 month ago. Updated 29 days ago.

Status:
New
Priority:
High
Assignee:
-
Category:
Plugins
Target version:
Start date:
06/02/2020
Due date:
% Done:

0%

Estimated time:

Description

I have an LV2 plugin with LV2_EXTERNAL_UI__Widget which runs its own GUI in an isolated process.

Now zrythm shows and hides the UI kind of successfully (show() is somehow called twice for unknown reason), but it does not seem to call cleanup function on LV2UI_Descriptor when all the plugin instances are gone (e.g. by "Delete Track").

There seems to be a couple of places that calls suil_instance_free in current zrythm codebase and the function would invoke cleanup, but they don't seem to happen to my external UI plugin (might happen to any other plugins, I only guess it is about the external UI).

My plugin project is https://github.com/atsushieno/aria2web and the cleanup code is namely at: https://github.com/atsushieno/aria2web/blob/b9966c6/aria2web-lv2ui.c#L203

I'm quite unsure if it builds for anyone else, so I put my binaries that I built on Ubuntu 19.10 at https://drive.google.com/file/d/1qWCBSJ7G0IBecfnaXsPGf88wFHqXOiUt/view?usp=sharing (sorry if it doesn't work for you; it depends on things like webkitgtk on the local system)

Console log: https://gist.github.com/atsushieno/a1a092f965f46e0a9bda7a4e9f9746b3

History

#1 Updated by Alexandros Theodotou about 1 month ago

  • Category set to Plugins
  • Status changed from New to In Progress
  • Assignee set to Alexandros Theodotou
  • Priority changed from Normal to Immediate
  • Target version set to 0.9 beta

#2 Updated by Atsushi Eno about 1 month ago

oh I thought I logged in when I created this one.

BTW thanks to your inputs on UI hosting earlier on Twitter, now it loads the UI in an isolated process and webkitgtk does not get loaded within zrythm, and now it loads on qtractor too :-)

#3 Updated by Alexandros Theodotou about 1 month ago

  • Status changed from In Progress to New
  • Priority changed from Immediate to High
  • Target version changed from 0.9 beta to 1.0.0

np, nice! I can't build get it to work though:

LV2_PATH=/gnu/store/rbi7rh3j62j812k0chmqphp4zvgdrd3d-aria2web-0.2/lib/lv2 jalv.gtk3 https://github.com/atsushieno/aria2web                                                                
Plugin:       https://github.com/atsushieno/aria2web
UI:           None
JACK Name:    aria2web
Sample rate:  48000 Hz
Block length: 2048 frames
MIDI buffers: 2048 bytes
Comm buffers: 32768 bytes
Update rate:  60.0 Hz
lilv_plugin_instantiate(): error: No plugin <https://github.com/atsushieno/aria2web> in <file:///gnu/store/rbi7rh3j62j812k0chmqphp4zvgdrd3d-aria2web-0.2/lib/lv2/sfizz.lv2/sfizz.so>
Failed to instantiate plugin.
Exiting...

not sure if im building it wrong: https://git.zrythm.org/cgit/guix-repo/tree/audio.scm#n1940
I'm running ./build.sh and then copying the sfizz-aria2web/dist/lib/lv2 dir to my prefix's lib/lv2 (and deleting the cello thing because something is linked it to /home/atsushi/soundfonts/sfz/karoryfer-bigcat.cello-master/)

#4 Updated by Alexandros Theodotou 29 days ago

  • Assignee deleted (Alexandros Theodotou)

Also available in: Atom PDF