Git Product home page Git Product logo

bingada's Introduction

Ada (GNAT) Alire Download Gitter chat

BingAda

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
  • 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 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)

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:

bingada's People

Contributors

jfuica avatar mgrojo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

mgrojo

bingada's Issues

Foreground colors ignored

Using some Ubuntu styles the foreground is not taken into account. I don't know if this is an issue of the application, Ubuntu or Gtk.

image

Sound is not supported in Windows

Canberra does not support playing sounds in Windows. Moreover, it cannot currently build for Windows because the library is not available for Windows.

  • Disable dependence on libcanberra for Windows for fixing the build
  • Find a portable alternative to play sound or a different library for playing in Windows

Memleak when the bingo image changes

The bingada app resident mem size is continuously increasing. Around 1mb each 3 or two complete bingos.

In my opinión it is related with the bombo image "movement".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.