libsndfile Binding for the Ada Programming Language =================================================== Overview -------- This is a thick binding, so effort has been made to get rid of all C-isms and C-specific types wherever possible. In particular, the command API has been converted to a more ordinary collection of subprograms rather than the single function call with an enum that it is in C. Please note that at the moment this binding is incomplete. The RIFF chunk API is not bound, nor are the Cart_Info commands, the Loop_Info command, the Instrument commands, or the Get/Set Cue commands. If anyone has a pressing need for them, let me know. Finally, there appears to be a subtle bug in the virtual IO that causes the frame count to be one lower than it should be. I am currently unsure of the exact cause. For all I know I may have just written the virtual functions in the example program slightly incorrectly. Dependencies ------------ GNAT (build) gprbuild (build) libsndfile (run) Build Instructions ------------------ Ensure that all dependencies are installed, including any developer or header packages for libsndfile. Then the following commands will build and install the binding: gprbuild libsndfile.gpr gprinstall -p -m libsndfile.gpr The other gpr file, example.gpr, can be used to build the few short example and test programs provided. Further Information ------------------- API of libsndfile: https://libsndfile.github.io/libsndfile/api.html Credits and Legal ----------------- This binding and the Ada test/example programs were written by Jedidiah Barber. All code is released into the public domain.