Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jfuica/bingada
Bingo application in GTKAda
https://github.com/jfuica/bingada
ada gnat gtkada
Last synced: 14 days ago
JSON representation
Bingo application in GTKAda
- Host: GitHub
- URL: https://github.com/jfuica/bingada
- Owner: jfuica
- License: mit
- Created: 2020-04-18T16:46:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-15T14:16:37.000Z (over 1 year ago)
- Last Synced: 2024-07-31T20:31:54.917Z (3 months ago)
- Topics: ada, gnat, gtkada
- Language: Ada
- Size: 3.51 MB
- Stars: 8
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ada - bingada - Bingo application in [gtkada]. (Games / Continuous Integration)
README
![Ada (GNAT)](https://github.com/jfuica/bingada/workflows/Ada%20(GNAT)/badge.svg)
[![Alire](https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/bingada.json)](https://alire.ada.dev/crates/bingada.html)
[![Download][download-img]][download]
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/ada-lang/Lobby)![BingAda](https://raw.githubusercontent.com/jfuica/bingada/master/bombo.png "BingAda icon")
# bingada
Bingo application in GtkAda
This is a simple bingo application called BingAda (Bingo + Ada), to play bingo at home with your family during this COVID19 "stay at home" time.
The Bingo is fully functional, you can:
- Start a new game.
- Play bingo manually, clicking in the bingo image button.
- Play bingo automatically, using "Game > Autospin".
- Stop/Start the bingo.
- Check Cards. They are read from a file called bingo_cards.csv.
- Playback of the numbers (better recordings are needed)
- Translations: English, Spanish, German.
- Colors configurable using `bingada.css`. Two styles provided: light and dark.
# Building with Alire
- Install [Alire](https://alire.ada.dev/)
- Build using `alr build`. All the dependencies are installed and managed by Alire.
- Run directly from `bin/bingada`The library used for sound in this case is [ASFML](https://github.com/mgrojo/ASFML) available under Linux and Windows.
# Building without Alire
Clone the repository in this way so you get all the dependent submodules:
```
git clone --recursive https://github.com/jfuica/bingada
```- GtkAda: independently installed
- Sound: three alternative libraries are supported.You can choose the sound alternative in this way:
`gprbuild -XSOUND_LIB="sfml" -P bingada_custom.gpr`where the possible values for SOUND_LIB are "asfml" (default), "canberra", "sfml" and "none".
You may need to edit `bingada_custom.gpr` to remove
the sound dependency options ("with" statetements) which won't build in your system.## Sound: option "asfml"
This option uses the complete Ada binding to SFML provided in
https://github.com/mgrojo/ASFML`asfml` can be used as a git submodule.
## Sound: option "canberra"
canberra_ada can be used as a git submodule. In order to build it (only for Linux):
```
cd libs/canberra-ada
make
```
Required packages are listed in https://github.com/onox/canberra-ada# Sound: option "sfml"
SfmlAudio is a minimal binding to the C++ SFML Audio library and it is
included as part of the project (copied into this repository from
[RufasSock](https://github.com/fastrgv/RufasSok))sfmlAudio works in both Windows and Linux.
See instructions in libs/sfmlAudio/README.md
## Linux/Windows Install using GNAT Community Edition
- Install the GNAT Community Edition for your Operating System version.
- Install GtkAda Community Edition and set the default path where you installed
GNAT.- You might need to adjust `bingada_custom.gpr`, like setting the path to your `gtkada.gpr` file or removing the line importing the canberra-ada project, since it is not supported in Windows (see issue #11).
- You can open the `bingada_custom.gpr` file using GPS, or compile with `gprbuild -p bingada_custom`
- Windows: You need to copy GtkAda DLL files to your execution directory to run bingada.
# Installation under Ubuntu using FSF GNAT
- Install the following packages (Ubuntu 16.04):
```
sudo apt install gprbuild gnat libgtkada16.1.0-dev
```
- Install the following packages (Ubuntu 20.04):
```
sudo apt install gprbuild gnat libgtkada19-dev
```
- Build with:
```
gprbuild -p -P bingada_custom
```
- Run directly like this:
```
./bin/bingada
```
- Or you can install using `make install DESTDIR=destination` and run from there.# Wishes / TODO
The interface is really simple, and it could be improved, but, I think the main goals could be:
- Cards shown in a table.
- Get better recording of numbers for each language.
- Include status message (Stop/start..)
- Configure other options.
# Attribution
Audio recordings of numbers have been obtained from:
- [English by NumberOne from Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:English_pronunciation_of_numbers)
- [German from Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:German_pronunciation_of_numbers)
- [Spanish by Sergeeo from freesound.org](https://freesound.org/people/sergeeo/sounds/177270/)[download-img]: https://img.shields.io/github/downloads/jfuica/bingada/total.svg
[download]: https://github.com/jfuica/bingada/releases