OMNi
Dokumentacja/Wtyczki i Zaawansowane

Wtyczki VST3 / CLAP / LV2 i Tryby Hostowania

Przewodnik po uruchamianiu wtyczek w Omni DAW: Tryb In-Process z zabezpieczeniem Circuit Breaker oraz Pełny Sandbox IPC w procesie potomnym.

~3 min czytania
Oficjalny Podręcznik OMNI
Precyzja 960 PPQ

🔌 Wtyczki VST3 / CLAP / LV2 i Tryby Hostowania

Omni DAW umożliwia używanie zewnętrznych wtyczek efektowych i syntezatorów w standardach VST3, CLAP oraz LV2. Aby zagwarantować zarówno optymalne opóźnienia, jak i 100% stabilności bez ryzyka zamknięcia aplikacji przez wadliwą wtyczkę, Omni DAW oferuje dwa niezależne tryby hostowania:


1. Dwa Tryby Hostowania Wtyczek (Hosting Modes)

W oknie ustawień wtyczek możesz wybrać odpowiedni tryb pracy dla każdego wczytywanego instrumentu lub efektu:

code
                  ┌───────────────────────────────────────────────┐
                  │          Omni DAW Audio Engine                │
                  └───────┬───────────────────────────────┬───────┘
                          │                               │
       [ Tryb 1: IN-PROCESS ]            [ Tryb 2: OUT-OF-PROCESS SANDBOX ]
                          │                               │
    ┌─────────────────────▼────────────────┐    ┌─────────▼──────────────────┐
    │  Wątek Audio + Circuit Breaker       │    │ Shared Memory IPC + Futex  │
    │  (Bezpośrednia pamięć, 0 latency)    │    │ (Wyizolowany Sandbox)      │
    └──────────────────────────────────────┘    └────────────────────────────┘

Tryb 1: In-Process z Ochroną Circuit-Breaker

  • Zasada działania: Wtyczka wykonuje przetwrzanie dźwięku bezpośrednio wewnątrz głównego procesu audio DAW na szybkich wątkach roboczych.
  • Zalety: Najniższe możliwe opóźnienia (Zero Inter-Process Overhead), brak konieczności kopiowania buforów przez magistralę IPC.
  • System Zabezpieczeń Circuit-Breaker:
    • Każde wywołanie przetwarzania zapisuje bezblokujący wskaźnik czasowy.
    • Dedykowany wątek Watchdog co 25ms sprawdza, czy wtyczka nie tkwi w pętli dłużej niż 100ms.
    • W przypadku zawieszenia wtyczki, Circuit-Breaker natychmiast ją zatrzaskuje, zastępując zawieszony sygnał ciszą i chroniąc resztę projektu oraz silnik audio przed wstrzymaniem odtwarzania!

Tryb 2: Out-of-Process Sandbox IPC

  • Zasada działania: Wtyczka zostaje załadowana w osobnym, całkowicie wyizolowanym procesie potomnym.
  • Zalety (100% Izolacja Awarionosna): Nawet jeśli wtyczka zewnętrzna wywoła błąd pamięci (Segmentation Fault / Access Violation), ulega awarii wyłącznie wyizolowany proces potomny. Główna aplikacja Omni DAW, Twój projekt i nagrane ścieżki pozostają w 100% bezpieczne i gotowe do kontynuacji pracy!
  • Szybka Pamięć Współdzielona (Shared Memory): Przekazywanie ramek audio pomiędzy procesami odbywa się bez opóźnień poprzez pamięć współdzieloną O/S z synchronizacją Futex.

2. Bezpieczne Skanowanie i Walidacja Ścieżek (Plugin Path Validation)

Podczas skanowania folderów wtyczek, Omni DAW stosuje bezpieczną procedurę sondowania:

  1. Sondowanie w Sandboxie: Nowa wtyczka jest otwierana w krótkotrwałym procesie testowym.
  2. Kwarantanna i Czarna Lista (Blocklist): Jeśli wtyczka ulegnie awarii lub przekroczy limit czasu odpowiedzi (timeout), zostaje automatycznie dodana do czarnej listy (Blocklist).
  3. Statusy Zaufania Wtyczek:
    • Safe / Trusted: Wtyczka zweryfikowana i bezpieczna.
    • Blocklisted: Wtyczka niestabilna, zablokowana.
    • Unknown: Nowo wykryta wtyczka – przy wczytywaniu projektu Omni wyświetli okno zapytania z opcjami: Trust (Zaufaj), Block (Zablokuj) lub Skip (Pomiń).

3. Zarządzanie Ścieżkami Wtyczek

  • W oknie ustawień programu (Settings -> Plugin Manager) możesz zdefiniować własne ścieżki poszukiwań dla wtyczek VST3, CLAP i LV2 (np. C:\Program Files\Common Files\VST3 na Windows lub /usr/lib/clap na Linux).
  • Kliknięcie przycisku Rescan Plugins uruchamia automatyczne skanowanie tła.
  • Załadowane wtyczki pojawiają się w przeglądarce urządzeń (Device Browser) i mogą być przeciągane na dowolną ścieżkę w mikserze lub aranżacji.