From df06f9d05ab2338a17f5062b15bf59af7b8d6117 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Fri, 9 May 2025 09:01:28 +1200 Subject: Updated readme --- readme.md | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 readme.md (limited to 'readme.md') diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..174280c --- /dev/null +++ b/readme.md @@ -0,0 +1,84 @@ + +## libsndfile Binding for the Ada Programming Language + +This is a thick binding of [libsndfile](https://libsndfile.github.io/libsndfile/) +so effort has been made to get rid of all C-isms and C-specific types wherever +possible. In particular: + + + +The package hierarchy is as follows: + + + +A few short example programs are available in the `example` subdirectory. + +Please note that at the moment this binding is incomplete, as the RIFF chunk +API is not bound. If anyone has a pressing need for it 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. Since the behaviour is the same regardless of whether using the +virtual IO in C or in Ada, the likely culprit is in the library itself. + + + +#### Dependencies + +Build time: + + +Run time: + + + + +#### Building and Installation + +This repository is written to use the GNAT Project Manager build tools. To +build, use the following command + +`gprbuild asndfile.gpr` + +There is a single build switch of `-Xbuild` which can have a value of `release` +(the default) or `debug`. + +To install the binding, use + +`gprinstall -p -m asndfile.gpr` + +The other gpr file `example.gpr` can be used to build the short example +programs provided. + +For further information on the build tools, consult the +[GPRbuild docs](https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html). + + + +#### Credits and Licensing + +This binding and the Ada test/example programs were written by Jedidiah Barber. + +All code of this binding and example programs is released into the public +domain. Consult `unlicense.txt` for further information. + + -- cgit