mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-08 04:20:13 +02:00
Don't override existing host thread priorities
If the thread that's hosting yabridge's plugin is already using realtime scheduling.
This commit is contained in:
@@ -75,6 +75,8 @@ TODO: Add an updated screenshot with some fancy VST3-only plugins to the readme
|
||||
priority. This should get rid of any latency spikes during those operations,
|
||||
as this could otherwise steal resources away from the threads that are
|
||||
processing audio.
|
||||
- Yabridge no longer overrides the host's scheduling priorities if the thread
|
||||
yabridge is being hosted from is already using realtime scheduling.
|
||||
- When `YABRIDGE_DEBUG_LEVEL` is set to 2 or higher and a plugin asks the host
|
||||
for the current position in the song, yabridge will now also print the current
|
||||
tempo to help debugging host bugs.
|
||||
|
||||
@@ -32,6 +32,16 @@ fs::path get_temporary_directory() {
|
||||
}
|
||||
|
||||
bool set_realtime_priority(bool sched_fifo) {
|
||||
// If we're already using SCHED_FIFO then this is likely set by the host,
|
||||
// and we should not make any additional changes
|
||||
if (sched_fifo) {
|
||||
sched_param current_params{};
|
||||
if (sched_getparam(0, ¤t_params) == 0 &&
|
||||
current_params.sched_priority > 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
sched_param params{.sched_priority = 5};
|
||||
return sched_setscheduler(0, sched_fifo ? SCHED_FIFO : SCHED_OTHER,
|
||||
¶ms) == 0;
|
||||
|
||||
Reference in New Issue
Block a user