RustAudio / baseview

low-level window system interface for audio plugin UIs
Apache License 2.0
277 stars 57 forks source link

Nonblocking Event Loop, separate WindowHandle.app_run_blocking() call #44

Closed wrl closed 4 years ago

wrl commented 4 years ago

This PR replaces the previous semantics of Window::open() blocking indefinitely with Window::open() returning a WindowHandle immediately. WindowHandle then has an app_run_blocking() method which replicates the previous semantics.

In standalone applications, WindowHandle.app_run_blocking() must be called from fn main() in order to keep the app from immediately closing. In plugins, app_run_blocking() should not be called.

wrl commented 4 years ago

cc @glowcoil @BillyDM