Skip to content

SoundFlow v1.4.1

Latest

Choose a tag to compare

@LSXPrime LSXPrime released this 11 May 15:10
· 0 commits to master since this release

Release Notes - SoundFlow v1.4.1

Hotfix: Unblocking custom engines & cleaning up the NuGet package.

Two things prompted this patch:

  1. 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 were internal. The workaround? Reflection. Not fun. Not sustainable.
  2. STATEMENT.md was 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 ⚠️ below)
AudioPlaybackDevice CachedRenderEventArgs internal readonly protected readonly Let derived devices reuse event args without allocation

⚠️ SoundComponent.Process is not for application code.
This is for custom engine implementations only. If you're using the default MiniAudio backend, keep using the component graph. Calling Process directly outside an engine loop will break mixing, soloing, and modifier chains.

NuGet Package Cleanup (Issue #107)

  • Removed STATEMENT.md from 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)