I'm glad to announce that Syrinx v0.2 is out!
- Sound Instance: Improved performance for native MP3 sounds
- Sound Instance: Added safe channel acquisition option
- Sound Manager: Added max channel capacity capability
- Sound Manager: Added getter for playing sound instances count
- Sound Manager: Added optional automatic trimming durations detection at track registration
- Demo: Fixed WAV file loading cancellation
- Demo: Updated to show actually playing sound instances over registered sound instances
This version greatly improves performance for native sounds which don't require custom sound data sampling (MP3 without trimming neither pitching). The new safe channel acquisition option (active by default) now prevents exception to be raised when the system failed to acquire a free channel. The max channel capacity capability allows limiting the number of playing sounds for a Sound Manager. It's now also easier to request trimming duration detection at track registration by passing a negative value.
The library still requires testing but I didn't notice any issue so far except that performance is a bit lower when using custom sampling so that's why I recommend to not use trimming and/or pitching capability for all sounds (in your game).
That's it! Thanks in advance for your feedback 😃