This namespace contains all major threads used by HISE and can be used with a TaskAfterSuspension object. More...
Variables | |
constexpr int | Audio = MainController::KillStateHandler::AudioThread |
The audio thread. More... | |
constexpr int | Loading = MainController::KillStateHandler::SampleLoadingThread |
This is the background worker thread that is used for all tasks that take a bit longer. More... | |
constexpr int | Message = MainController::KillStateHandler::MessageThread |
The main message thread. More... | |
constexpr int | Script = MainController::KillStateHandler::ScriptingThread |
The thread which executes all calls to the scripting engine - compilation, callback execution (with the exception of MIDI callbacks, which are happening directly in the audio thread), and even quasi-UI related functions like panel repaints / timer callbacks. More... | |
This namespace contains all major threads used by HISE and can be used with a TaskAfterSuspension object.
constexpr int Audio = MainController::KillStateHandler::AudioThread |
The audio thread.
This might actually be more than one thread, but it is guaranteed to be a realtime thread.
constexpr int Loading = MainController::KillStateHandler::SampleLoadingThread |
This is the background worker thread that is used for all tasks that take a bit longer.
It is also used by the streaming engine to fetch new samples, so it has a almost real time priority.
Normally you will offload all tasks to this thread, it has a lock free queue that will be processed regularly.
constexpr int Message = MainController::KillStateHandler::MessageThread |
The main message thread.
constexpr int Script = MainController::KillStateHandler::ScriptingThread |
The thread which executes all calls to the scripting engine - compilation, callback execution (with the exception of MIDI callbacks, which are happening directly in the audio thread), and even quasi-UI related functions like panel repaints / timer callbacks.
It has an internal prioritisation (compilation > callbacks > UI tasks), so it makes sure that eg. multiple UI calls do not clog more important tasks.