1
0
Fork 0
Commit graph

24 commits

Author SHA1 Message Date
Robbert van der Helm
b7849f9a7a Add a NoteEvent::MidiSysEx variant
Right now this isn't used, and there is not yet any way to convert to
and from raw SysEx data.
2023-01-31 18:32:16 +01:00
Robbert van der Helm
6c0df7ec39 Fix typo in pos_seconds documentation 2022-11-03 03:08:28 +01:00
Robbert van der Helm
3032300bcf Clarify task scheduling doc comments 2022-10-23 16:29:30 +02:00
Robbert van der Helm
0dd3bfe4e7 Allow running tasks on a dedicated thread
Independent of the GUI thread, which is also still an option. This is
useful for long running IO jobs that might otherwise block the GUI for
long enough to be noticeable.
2022-10-23 16:23:20 +02:00
Robbert van der Helm
31cda78201 Rename do_maybe_async() to schedule_gui() 2022-10-23 15:48:27 +02:00
Robbert van der Helm
21bfb57023 Rename execute_async() to execute_gui()
We'll have another function that uses a dedicated background thread.
2022-10-23 13:58:33 +02:00
Robbert van der Helm
5d84800c0c Manually implement Clone for AsyncExecutor 2022-10-22 15:32:42 +02:00
Robbert van der Helm
63db56fa68 Make AsyncExecutor Send+Sync
Otherwise actually using this will be a bit difficult.
2022-10-22 15:10:34 +02:00
Robbert van der Helm
f3bb816cb5 Add an AsyncExecutor type for use with the GUI 2022-10-22 14:34:32 +02:00
Robbert van der Helm
b676353589 Split the nih_plug::context module
So that structs are more logically grouped with their traits.
2022-10-22 14:19:10 +02:00
Robbert van der Helm
b209c9caf3 Move the event loop to its own module
Now that the context module is becoming larger and larger.
2022-02-28 12:57:01 +01:00
Robbert van der Helm
b7904126ac Allow the Linux event loop on macOS 2022-02-15 21:25:55 +01:00
Robbert van der Helm
f645b6a92f Relicense under the ISC license 2022-02-12 16:04:46 +01:00
Robbert van der Helm
93fdb0da97 Shamelessly plug yabridge 2022-02-10 23:53:31 +01:00
Robbert van der Helm
379c74e874 Remove spurious dbg!() calls 2022-02-10 23:41:04 +01:00
Robbert van der Helm
69498f3527 Implement the event loop for Windows 2022-02-10 23:37:59 +01:00
Robbert van der Helm
0fb8ce6f7e Add part of a Windows event loop implementation 2022-02-07 00:33:41 +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
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
98076ff792 Use a custom .spawn_unchecked without nightly req
Courtesy of Yandros on the Rust Discord.
2022-02-01 15:04:36 +01:00
Robbert van der Helm
735cec4fba Update context docs 2022-02-01 00:01:43 +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