Home

Awesome

screenshot

Here is a link to the latest release, including all source, examples & resources:

https://github.com/fastrgv/Portable-OpenAL-Sound/releases/download/v1.1.6/ao18feb24.7z

Type "7z x filename.7z" to extract the archive.

Note to github downloaders: Please ignore the "Source code" zip & tar.gz files. (They are auto-generated by GitHub). Click on the large 7z file under releases to download all source & binaries (Windows,Mac & Linux). Then, type "7z x filename" to extract the archive.


another link: https://sourceforge.net/projects/portable-openal-sound/


Portable Ada Sound -- using Ada tasking and OpenAL

Sound utility for Window, OSX, & linux.

ver 1.1.6 -- 18feb2024

ver 1.1.4 -- 06oct2023

ver 1.1.3 -- 30sep2022

ver 1.1.2 -- 16sep2022

ver 1.1.1 -- 26nov2021

ver 1.1.0 -- 19oct2021

ver 1.0.1 -- 17feb2021

Brief Description

A partial thick Ada binding to OpenAL; essentially a sound-playing utility for Ada apps.

Full Description

This is a sound-playing utility for Ada that can play WAV files on Windows, OSX, and Linux, using Ada tasking and OpenAL libraries. It includes a partial Ada binding to OpenAL.

It provides sound-playing capabilities for Ada apps to:

Examples for each O.S. are included.


Usage:

The proper command to extract the archive and maintain the directory structure is "7z x filename". On OSX you can use Keka.

See the simple interface description in file snd4ada.ads.

Generally, when you initialize a sound or soundloop, you specify its file name and retrieve an integer "key" that is used to play it sometime later.

Note: an error occurs whenever there is something fishy about the WAV file. I always get good results with WAV files processed through "sox".

========================================================

What is so great about this package?

This package is a non-platform-specific Ada code that compiles & runs on Windows, OSX and Linux. It is now used in my flagship games: RetroArcade, terminal SliderPuzzles, RufasCube, AdaGate and AdaVenture (on GitHub, SourceForge, itch.io, GameJolt, IndieDB).

Open source Ada developers are welcome to help improve or extend this app. Developer or not, send comments, suggestions or questions to: fastrgv@gmail.com

========================================================

Ada Examples:

See ./adaExample/two.adb

The examples come with 3 compilation scripts:

* lcmp.sh (for linux)
* ocmp.sh (for OSX)
* setpath64.bat then wcmp64.bat (for Windows)

Windows users, please read "gnuAdaOnWindows.txt".

C++ Examples

See ./cppExample/two.cpp

This comes with scripts for OSX, linux and Windows. It shows how to use the Ada package from a C++ main.


SoundFiles

mKickCC0 & choirCC3 sounds are from freesound.org, and are covered by the Creative Commons CC0/CC3 Licenses. Attribution of choirCC3.wav is "dobroide".

Getting a free Ada (& g++) compiler

To find a recent Ada compiler; eg. GNU-Ada...try this source: https://github.com/alire-project/GNAT-FSF-builds/releases

License:

This app is covered by the GNU GPL v3 as indicated in the sources:

Copyright (C) 2023 fastrgv@gmail.com

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You may read the full text of the GNU General Public License at http://www.gnu.org/licenses/.