diff options
author | Jedidiah Barber <contact@jedbarber.id.au> | 2025-05-09 13:33:20 +1200 |
---|---|---|
committer | Jedidiah Barber <contact@jedbarber.id.au> | 2025-05-09 13:33:20 +1200 |
commit | 2137c52ef2de16fb1a15c0b8245e293ea0adb147 (patch) | |
tree | cbf3834dd577eb1ecdf92628b52c8dc91c865ebc /readme.md | |
parent | b506d60f37c7bb5a870ca838072afe816fc7aa61 (diff) |
Diffstat (limited to 'readme.md')
-rw-r--r-- | readme.md | 77 |
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. + + |