Commit Graph

9 Commits

Author SHA1 Message Date
Robbert van der Helm fac820c25a Execute all non-unsafe opcodes on calling thread
This will require more testing of course, but I think it should be safe.
This would increase the potential maximal throughput in group hosts
significantly.
2020-10-27 23:18:59 +01:00
Robbert van der Helm eb8d4ae1d8 Fix Win32Thread not capturing by move
std::function does not allow non-movable lambdas, so capturing by move
doesn't work there. And the old solution of course has issues with
dangling pointers (but because this is C++ the compiler still thinks
it's A-Ok).
2020-10-27 22:53:59 +01:00
Robbert van der Helm bafc36614b Properly forward arguments in Win32Thread 2020-10-27 18:28:23 +01:00
Robbert van der Helm 1681ec9767 Add support for lambdas to Win32Thread 2020-10-27 17:04:40 +01:00
Robbert van der Helm ca2b95e7aa Handle dispatch() directly during event handling
When the message loop is active and we get an incoming dispatch() event,
we'll just handle it directly. In practice this would only be needed
when the event is a response to an `audioMaster()` call made during the
event loop, but we can't know that. This allows the `getProgram()`
during `audioMasterUpdateDisplay()` in REAPER and Renoise to work
correctly. Hopefully this doesn't cause random rare breakage.
2020-10-26 20:03:54 +01:00
Robbert van der Helm 61cde0bd43 Use std::jthread 2020-06-20 16:16:12 +02:00
Robbert van der Helm 4dcc8fd97f Better clarify the use cases for Win32Thread 2020-05-29 11:19:38 +02:00
Robbert van der Helm 00bcdf8fca Add a RAII wrapper around SetTimer() 2020-05-28 15:27:45 +02:00
Robbert van der Helm d0c8d8a2e7 Clean up Win32 thread API usage using RAII 2020-04-24 15:40:44 +02:00