Robbert van der Helm
fe96b8572e
Type erase GuiContext by splitting the safe API
...
These functions not being able to be made into an object was the whole
reason why we needed the associated type in the first place. This will
make everything much nicer to work with, since
specialization/overlapping instances is still not possible with the
stable compiler.
2022-02-05 16:30:33 +01:00
Robbert van der Helm
1f2029ecbe
Replace spawn_unchecked with static lifetimes
...
These things don't need to hold references, so this gets rid of some
nasty c ode.
2022-02-05 16:09:59 +01:00
Robbert van der Helm
b901dac012
Disambiguate rustdoc link references
2022-02-05 12:56:03 +01:00
Robbert van der Helm
63d30d33e4
Fix rustdoc links
2022-02-05 12:52:34 +01:00
Robbert van der Helm
7ac1df0d8d
Add stubs for editor handling
2022-02-05 12:46:26 +01:00
Robbert van der Helm
bbc190c67f
Hold the RwLock guard in the process context
...
This avoids having to constantly acquire a new lock.
2022-02-04 23:03:11 +01:00
Robbert van der Helm
fdfd1b01c2
Add a function for retrieving the next note event
2022-02-04 15:17:42 +01:00
Robbert van der Helm
bc60dc35b6
Fix rustdoc references
2022-02-01 20:53:20 +01:00
Robbert van der Helm
15e0f6f21a
Remove unnecessary import
...
I was going to add that set_parameter function in the next commit, but
that will need to wait a bit.
2022-02-01 19:54:35 +01:00
Robbert van der Helm
3a1fbed4c3
Mark MainThreadExecutor::execute as unsafe
...
This should only be called from the main thread. Otherwise the API's
threading guarantees will not be upheld.
2022-02-01 17:01:05 +01:00
Robbert van der Helm
565d9259c3
Use weak references to the executor
...
So this cyclic reference can't keep it alive.
2022-02-01 15:31:16 +01:00
Robbert van der Helm
b15991a495
Add a todo and stub for setting parameter values
2022-02-01 00:01:52 +01:00
Robbert van der Helm
735cec4fba
Update context docs
2022-02-01 00:01:43 +01:00
Robbert van der Helm
f009384c2f
Don't require Arcs for ProcessContext
...
It makes more sense to pass this as a reference, so the plugin cannot do
weird things with it.
2022-01-31 23:47:54 +01:00
Robbert van der Helm
2380768bad
Add a Linux-specific event loop
...
Implementations for Windows and macOS should be fairly similar, but
using the OS' message loop instad of a thread.
2022-01-31 19:45:11 +01:00