Skip to content

Releases: Clownacy/clownaudio

v0.3.1

08 Apr 00:11
Compare
Choose a tag to compare

The old CLI example Makefile was broken and the Arch Linux package had an incorrect dependency. These have both been fixed.

The big change in this release is that clownaudio can now be compiled as either C99 or C++98: this can be controlled with the CMake script's CLOWNAUDIO_CPP option. This way, clownaudio can be compiled by both Visual C++ 6.0 (which only supports C89 and C++98) and the Tiny C Compiler (which only supports a subset of C99) without modification.

Please keep in mind that some built-in decoder backends do not support this: namely, PxTone and SNES_SPC can only be compiled as C++, while libxmp-lite can only be compiled as C.

v0.3.0.1

23 Mar 21:51
Compare
Choose a tag to compare

Hotfix: freeing sound data created with ClownAudio_LoadSoundDataFromMemory or ClownAudio_Mixer_LoadSoundDataFromMemory caused uninitialised pointers to be dereferenced.

I've also improved the documentation in the header files a bit.

v0.3

15 Mar 22:22
Compare
Choose a tag to compare

This project's been dormant for a while and the codebase seems stable enough, so I figure I should make a release.

Internally clownaudio now operates in S16 instead of F32. This should hopefully lead to performance improvements as sample-conversion between the decoder backends and the mixer will be bypassed. Likewise, S16 uses less memory and may even be faster depending on integer vs. float performance differences.

Additionally, miniaudio, stb_vorbis, dr_flac, dr_mp3, and dr_wav have been updated, and a buffer overflow in PxTone has been corrected.

v0.2

28 May 16:09
Compare
Choose a tag to compare

Development has finally slowed-down, after months of brutal reworking. The library is much better now, I think.

Highlights include...

  • Being an actual installable library (supporting both pkg-config and CMake)
  • Providing a stripped-down 'mixer-only' mode that enables the library to run on exotic platforms such as the Wii U (32-bit big-endian PowerPC CPU, running devkitPro's newlib C library, and sporting its own sound API called "AX"), thus giving the library both a user-friendly 'high-level' API, and a power-user-oriented 'low-level' API, which grants the user complete control over audio playback, mutexes, and other platform-dependent tasks
  • Embedding a copy of libxmp-lite directly into the library's source, removing the dependency on a package seldom found in distros (Arch Linux and MSYS2 in particular)
  • Converting the majority of code from C99 to C++98, enabling the library to be built with vintage compilers such as Visual C++ 6
  • Actual documentation of the API

Unfortunately, the API is likely far away from stabilising, so this isn't a "real" library yet. If that ever happens, the version number will probably be bumped to v1.0. Until then, I'm sticking with v0.x.

v0.1

03 Nov 21:37
Compare
Choose a tag to compare

I'm planning to rewrite a lot of clownaudio, so I figure I should make a release now to preserve a snapshot of it in its original state.