summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2023-07-25 22:48:47 +1200
committerJedidiah Barber <contact@jedbarber.id.au>2023-07-25 22:48:47 +1200
commita0ff8c910377207db64d4c7d5eaa76130f41f5f5 (patch)
tree5d6c3dc7ffab123f5c8670ab91f4154c2a17b26b
parent0a680007293883549c515cedeb5e683caaebf7b5 (diff)
Improved documentation
-rw-r--r--readme.txt35
1 files changed, 23 insertions, 12 deletions
diff --git a/readme.txt b/readme.txt
index 96ed852..92d267d 100644
--- a/readme.txt
+++ b/readme.txt
@@ -8,25 +8,35 @@ 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.
+C-specific types wherever possible. In particular:
-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.
+ * All error codes have been converted to exceptions
+ * Void pointers are completely absent
+ * The command API has been mapped to a more ordinary collection of subprograms
+ instead of the single function it is in C
+
+The package hierarchy is as follows:
+
+ * Libsndfile: Everything that isn't virtual IO or the command API
+ * Libsndfile.Commands: The command API datatypes and subprograms
+ * Libsndfile.Virtual: The virtual IO interface
+
+A few short example programs are available in /example/.
+
+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. For all I know I may have just written the virtual functions in
-the example program slightly incorrectly.
+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
------------
-GNAT (build)
+An Ada 2012 compiler and standard library (build)
+A C compiler and standard library (build)
gprbuild (build)
libsndfile (run)
@@ -48,7 +58,7 @@ test programs provided.
Further Information
-------------------
-API of libsndfile:
+C API of libsndfile:
https://libsndfile.github.io/libsndfile/api.html
@@ -57,6 +67,7 @@ Credits and Legal
This binding and the Ada test/example programs were written by Jedidiah Barber.
-All code is released into the public domain.
+All code of this binding and example programs is released into the public
+domain. Consult unlicense.txt for further information.