M17: realtime FX mượt — MMCSS Pro Audio + HIGH_PRIORITY_CLASS (JuceFxLoop), GUI tick cadence động 30/200ms (guiBusy), worklet CAP 32->48, track FX gửi input NGAY như master

This commit is contained in:
2026-09-06 20:11:26 +07:00
parent ef521d9981
commit f56d7eb9cf
11 changed files with 63 additions and 38 deletions
+13
View File
@@ -378,6 +378,19 @@ bool JuceFxEngine::isEditorOpen(uint32_t slot) const {
return impl_->editors[slot].open;
}
bool JuceFxEngine::guiBusy() const {
{
std::lock_guard<std::mutex> lk(impl_->queueMutex);
if (!impl_->editorQueue.empty()) return true;
}
{
std::lock_guard<std::mutex> lk(impl_->editorMutex);
for (const auto& se : impl_->editors)
if (se.open) return true;
}
return !impl_->retryOpens.empty(); // GUI-thread-only — chỉ GUI thread gọi
}
std::string JuceFxEngine::takeCapturedState(uint32_t slot) {
std::lock_guard<std::mutex> lk(impl_->editorMutex);
if (slot >= impl_->editors.size()) return {};