Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabling hotloading causes zest to crash #9

Open
jcfischer opened this issue Jun 27, 2018 · 8 comments
Open

Enabling hotloading causes zest to crash #9

jcfischer opened this issue Jun 27, 2018 · 8 comments
Labels

Comments

@jcfischer
Copy link
Contributor

I have enabled hot-loading as per the contribution documentation.

When starting zest, I get the following error:

[INFO:Zyn] setup_pugl()
[INFO:Zyn] zest_open()
[INFO:Zyn] Starting Zyn-Fusion
[INFO:Zyn] Thanks for supporting the developement of this project
[INFO:Zyn] Creating MRuby Interpreter...
[debug] parsing json file
[debug] json parsed succesfully
superclass mismatch for class Qml::ZynAutomationMidiChan
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-qml-spawn/mrblib/build.rb:183:in QmlIrToRuby.solve_ir
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-qml-spawn/mrblib/build.rb:103:in QmlIrToRuby.initialize
/Users/fischer/work/ui/jcf-mruby-zest-build/mruby/mrblib/hash.rb:94:in Hash.each
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-qml-spawn/mrblib/build.rb:99:in QmlIrToRuby.initialize
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-qml-spawn/mrblib/build.rb:784:in Object.doFastLoad
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-widget-lib/mrblib/script.rb:88:in ZRunner.init_window
trace:
	[0] /Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-widget-lib/mrblib/script.rb:93:in ZRunner.init_window
/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-widget-lib/mrblib/script.rb:93: Impossible Widget (RuntimeError)
[FATAL ERROR] Mruby Is Unable To Continue
@fundamental
Copy link
Member

fundamental commented Jun 28, 2018 via email

@jcfischer
Copy link
Contributor Author

thanks - that fixed this problem - but the hotloading doesn't seem to work.
Also - I updated all submodules on my first try which led to a compile error

/Users/fischer/work/ui/jcf-mruby-zest-build/src/mruby-zest/src/quickdraw.c:89:13: error: implicit declaration of function 'mrb_ary_len' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
    int n = mrb_ary_len(mrb, ypts);
            ^

Only updating the mruby-qml-parse module worked though.

On another [un]related note: While the UI builds and displays, I can't change any controls. Buttons, knobs etc are not reacting to mouse input. (The full downloaded synthesizer works fine, though)

@fundamental
Copy link
Member

fundamental commented Jun 30, 2018 via email

@jcfischer
Copy link
Contributor Author

jcfischer commented Jun 30, 2018

it looks like nothing is working, then something must be wrong with: pugl_osx.m

yeah - nothing works... I have tried to compile Zyn from scratch, to see if I can get that to work, but I didn't manange to build gcc (the mpfr archive couldn't be extracted) (and without that specific gcc, the other parts don't compile)

I looked at the version of pugl that is checked out out from mruby-zest in the full Zyn - it looks to be the same one that is here, in this repo - at least they check out the same git version of pugl (I didn't notice anything special in the build script for Zyn about pugl either)

Thank You for bearing with me fumbling my way through things

@fundamental
Copy link
Member

https://github.com/DISTRHO/DPF/tree/master/dgl/src/pugl is the version of PUGL which gets used when zyn is used as a plugin. Since that appears to work just fine on OSX, I'd expect something to be right in that variant and something to be wrong in the version used in the standalone. They differ somewhat in terms of API, so it's not a simple copy/paste, unfortunately.

@falkTX Do you recall what changes you needed to make to PUGL to fix up the issues on OSX? I recall there was something with event handling, but not precisely what you had changed to get stuff working.

@jcfischer
Copy link
Contributor Author

Hmm - ok, I think I will wait for that particular rabbit hole to be dug out.

The only thing that I can think off (and I'm all very new to this world of audio plugins) is that the VST gets a pointer to a parent window to render in - could that be a problem? That is what the Rust guys are fighting with in another UI library rust-windowing/winit#159

@falkTX
Copy link

falkTX commented Jun 30, 2018

DPF pugl osx code is quite different from upstream.
I imported some ideas and suggestions from rutabbaga(?) (the tookit from wrl), so it works better on OSX.
It is not possible to send these changes upstream now since it changed a lot already.

At some point I need to update DPF pugl code to be more in sync with upstream.
But yeah, there are quite some changes in osx code.
They involve stuff such as not creating a window if embed UI, rewriting pointer/mouse tracking areas, and some thread-safety needed things (for ableton, which uses openGL with multiple threads)

@jcfischer
Copy link
Contributor Author

Thanks @falkTX . Would it be possible to replace the pugl version that @fundamental is using in this project with yours?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants