Release Notes - SoundFlow v1.4.1
Hotfix: Unblocking custom engines & cleaning up the NuGet package.
Two things prompted this patch:
- Custom audio engines were hitting a wall. If you're building your own backend (like for Android, where MiniAudio can be unstable), you needed to call
SoundComponent.Process(...)and raise engine lifecycle events — but they wereinternal. The workaround? Reflection. Not fun. Not sustainable. STATEMENT.mdwas leaking into consumer projects. My IDE auto-added it to the.csproj, and I pushed the package while rushing to report for duty. That's on me. It's gone now.
This release fixes both. No new features. No breaking changes. Just unblocking the folks who need to go deeper.
🔧 What Changed
API Visibility (Issue #108)
These members are now accessible for custom engine implementations:
| Type | Member | Old | New | Why |
|---|---|---|---|---|
AudioEngine |
RaiseDeviceStarted(AudioDevice) |
internal |
public |
Let custom devices signal startup |
AudioEngine |
RaiseDeviceStopped(AudioDevice) |
internal |
public |
Let custom devices signal shutdown |
AudioEngine |
RaiseAudioFramesRendered(AudioFramesRenderedEventArgs) |
internal |
public |
Zero-allocation event raising in hot paths |
SoundComponent |
Process(Span<float>, int) |
internal |
public |
Manual graph processing for custom backends (see |
AudioPlaybackDevice |
CachedRenderEventArgs |
internal readonly |
protected readonly |
Let derived devices reuse event args without allocation |
⚠️ SoundComponent.Processis not for application code.
This is for custom engine implementations only. If you're using the default MiniAudio backend, keep using the component graph. CallingProcessdirectly outside an engine loop will break mixing, soloing, and modifier chains.
NuGet Package Cleanup (Issue #107)
- Removed
STATEMENT.mdfrom the packed output.
Your project root is yours. My opinions stay in my repo.
If you're building a custom backend and hit another internal wall, open an issue. I'd rather promote an API than have you ship reflection hacks.
— Ahmed Abdallah (SoundFlow's Maintainer)