RAVET 0.1.0: Rust'ta Audio Eklentileri Geliştirme Çerçevesi
Rust ekosisteminde yeni bir ses işleme framework'ü yayınlandı: RAVET 0.1.0. Amaç basit ama güçlü, bir kez kod yaz, birden fazla formatda çalışan audio eklentisi elde et.
Framework'ün en ilgi çekici yanı, VST3, CLAP, LV2, Audio Unit (AU) ve AAX gibi endüstri standartlarını tek bir kod tabanından desteklemesi. Processor ve editor'ü bir kez yazıyorsun, RAVET bunları tüm formatlara derliyor. Aynı kod standalone uygulama olarak da çalışabiliyor, ses girdisi, çıkışı ve MIDI ayarları otomatik hale geliyor.
Performans tarafında ciddi çalışmalar yapılmış. Audio thread hiçbir yerde bellek ayırmıyor, lock almıyor veya bloke olmuyor. Core audio, event ve parameter crate'leri `no_std` ve allocator olmadan derlenebiliyor. Bu, STM32 ve Raspberry Pi Compute Module gibi gömülü sistemlere taşınabilir olduğu anlamına geliyor, geliştirici sonraki adımları buraya yönlendirmiş.
Parametreler kalıcı anahtarlar kullanıyor, yani host ID'leri kararlı kalıyor ve parametreleri yeniden sıralasan bile kaydedilmiş ayarlar bozulmuyor. Versiyonlama ve migration hook'ları sayesinde eski state'ler yeni versiyonlara uyarlanabiliyor.
Editor'ler web view'ler (WebKit, WebView2, WebKitGTK) olarak ana uygulamaya gömülüyor ve küçük bir JavaScript API üzerinden eklentiyle iletişim kuruyor. Her özelliğin katalog girişi var, limitler, kaynak kodu ve testler dokumente edilmiş. Host desteği ancak gerçek ortamda çalışma doğrulandıktan sonra listeleniyor.
0 yorum