## 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:
- Pa_Initialize and Pa_Terminate are now automatic
- All error codes have been converted to exceptions
- Void pointers are completely absent
- Standard error is suppressed in C during init, so no unexpected text
output
The package hierarchy is as follows:
- Portaudio (Version information, exceptions, and a few common minor types)
- Portaudio.Devices (Host_API and device related things)
- Portaudio.Streams (Streams, sample buffers, and callbacks)
A few short example programs are available in the `example` subdirectory.
#### Dependencies
Build time:
- gcc
- GNAT
- GPRbuild
- PortAudio
Run time:
#### 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.