Bunu Neden İnşa Ettim?
"Tarayıcılar ve Electron tabanlı müzik çalarlar, basit bir ses akışı için dahi devasa RAM ve CPU tüketirler. Bu aracı, arayüz şişkinliğini (GUI bloat) tamamen aradan çıkarıp, ses akışlarını doğrudan yüksek düzeyde optimize edilmiş `mpv` daemon'una yönlendirmek (pipe) amacıyla yazdım. Geliştirme ortamlarında arka planda çalışırken sistem ayak izini (footprint) neredeyse sıfıra indirir."
Mimari & Kararlar
PowerShell host'u üzerinde çalışan senkron bir REPL döngüsü olarak yapılandırılmıştır. İstasyon metadataları ve ağ endpoint'leri bellek içi (in-memory) bir hashtable dizisinde tutulur. Akış yönlendirmesi, video render kancaları (hooks) açıkça devre dışı bırakılarak (`--no-video`), `&` çağrı operatörü (call operator) üzerinden `mpv` motoruna delege edilir. Kullanıcının `SIGINT` (Ctrl+C) sinyali ile alt süreci (subprocess) kesmesi durumu, `PipelineStoppedException` yakalanarak güvenli bir şekilde (graceful teardown) sonlandırılır.
Temel Özellikler
- 01.Alt süreç (subprocess) delegasyonu ile `mpv` motoru üzerinden tamamen headless (arayüzsüz) ses akışı
- 02.Menü indeksi seçimlerinde bellek erişim ihlallerini önlemek için `[int]::TryParse` kullanılarak uygulanan katı tip doğrulaması (strict type validation)
- 03.Alt sürecin zombi process bırakmadan temiz bir şekilde sonlandırılmasını sağlayan kararlı `SIGINT` interrupt yönetimi