Jules,
The following code appears in the Linux version of juce_setThreadPriority:
int pri = ((maxp - minp) / 2) * (priority - 1) / 9;
if (param.sched_priority >= (minp + (maxp - minp) / 2))
param.sched_priority = minp + ((maxp - minp) / 2) + pri; // (realtime)
else
param.sched_priority = minp + pri; // (high)
param.sched_priority = jlimit (1, 127, 1 + (priority * 126) / 11);
The last assignment to ‘param.sched_priority’ nullifies the assigment done in the previous if statement. I’m not sure what your intention was, but I thought I would point it out to you… 
-cpr
