aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md77
1 files changed, 77 insertions, 0 deletions
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..41ca58c
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,77 @@
+
+## PortAudio Binding for the Ada Programming Language
+
+This is a thick binding of [PortAudio](https://www.portaudio.com/). So effort
+has been made to get rid of all C-isms and C-specific types wherever possible.
+In particular:
+
+<ul>
+ <li>Pa_Initialize and Pa_Terminate are now automatic</li>
+ <li>All error codes have been converted to exceptions</li>
+ <li>Void pointers are completely absent</li>
+ <li>Standard error is suppressed in C during init, so no unexpected text
+ output</li>
+</ul>
+
+The package hierarchy is as follows:
+
+<ul>
+ <li>Portaudio (Version information, exceptions, and a few common minor types)
+ <ul>
+ <li>Portaudio.Devices (Host_API and device related things)</li>
+ <li>Portaudio.Streams (Streams, sample buffers, and callbacks)</li>
+ </ul>
+ </li>
+</ul>
+
+A few short example programs are available in the `example` subdirectory.
+
+
+
+#### Dependencies
+
+Build time:
+<ul>
+ <li>gcc</li>
+ <li>GNAT</li>
+ <li>GPRbuild</li>
+ <li>PortAudio</li>
+</ul>
+
+Run time:
+<ul>
+ <li>PortAudio</li>
+</ul>
+
+
+
+#### Building and Installation
+
+This repository is written to use the GNAT Project Manager build tools. To
+build, use the following command
+
+`gprbuild portaudio.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 portaudio.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.
+
+