عن المشروع

EffectsHost هو مضيف تأثيرات صوتية VST3 يعتمد على .NET ويستفيد من NPlug ونظام ktsu البيئي. يقوم بتبسيط عملية إنشاء تأثيرات DSP من خلال السماح للمطورين بتنفيذ فئة C# واحدة عبر واجهة `IAudioEffect` ، بينما يتولى غلاف المضيف تلقائياً إدارة المعلمات، والأتمتة، واستمرارية الحالة، وواجهة المستخدم. تشمل المكونات الرئيسية ما يلي: - EffectsHost.Core: يوفر تجريد التأثير، بما في ذلك `IAudioEffect` و `EffectParameter` و `EffectBlock`. - EffectsHost.Effects: يحتوي على تنفيذات ملموسة للتأثيرات مثل `GainEffect` و `DelayEffect`. - EffectsHost.Plugin: يدير غلاف NPlug، ومحرك الصوت `AudioEngine` في الوقت الفعلي، ومحرر Dear ImGui المدمج، وعمليات الإدخال والإخراج لملفات `.vstpreset`. - EffectsHost.Test: يتضمن اختبارات وحدة DSP واختبارات نقع (soak tests) خالية من التخصيص لمسار استدعاء الصوت. يركز المشروع على السلامة في الوقت الفعلي، مما يضمن تجنب خيط الصوت (audio thread) لعمليات التخصيص، أو الأقفال، أو الحظر، أو الإدخال والإخراج. ويستخدم `ktsu.Invoker` لتغييرات المعلمات غير الحاظرة من واجهة المستخدم إلى الصوت، ومخازن حلقية SPSC خالية من الأقفال من `ktsu.Containers` للقياس عن بُعد من الصوت إلى واجهة المستخدم. بالإضافة إلى ذلك، يستخدم `DelayLine` مدركاً للقيم غير الطبيعية (denormal-aware) لمنع ارتفاعات استهلاك وحدة المعالجة المركزية أثناء ذيول التغذية الراجعة. تم بناء المحرر باستخدام Dear ImGui، ويتميز بلوحات ذات سمات، ومقابض تحكم دقيقة (taper-correct)، ومقاييس dB لليسار واليمين مع خاصية تثبيت الذروة (peak hold). كما يدعم الإرساء المدمج (embedded docking) على Windows والنوافذ العائمة على macOS و Linux.