/bipper

A generic bipper

Primary LanguageGoMIT LicenseMIT

bipper

bipper.png

Bipper (beep is bip in French) is a generic beeper application. Beep cycles are configured using simple yaml files.

Bipper is suitable for any routing training (tabata for instance) or any activities that require simple or advanced beepers (i.e: cooking).

Install

If using any other platform than Windows, please read the Prerequisite section.

To run:

go run main.go

To compile and then run as an executable:

go build -o bipper[.exe on windows] main.go

YAML format

Please have a look at the file example.yaml. It provides a simple example on how to use the app.

For a complete description of the file format, please read on:

---
# loop is true if the following actions must be repeated when finished
loop: true
sections:
  - name: Make coffee
    duration: 1m

  - name: Drink up
    duration: 30s

The golang time format is used to describe time durations - 1d2h3m34s.

Platforms

  • Windows
  • macOS
  • Linux
  • FreeBSD
  • OpenBSD
  • Android
  • iOS
  • Web browsers (GopherJS and WebAssembly)

Prerequisite

Bipper uses oto under the hood, so the following dependencies are required.

macOS

Oto requies AudioToolbox.framework, but this is automatically linked.

iOS

Oto requies these frameworks:

  • AVFoundation.framework
  • AudioToolbox.framework

Add them to "Linked Frameworks and Libraries" on your Xcode project.

Linux

libasound2-dev is required. On Ubuntu or Debian, run this command:

apt install libasound2-dev

In most cases this command must be run by root user or through sudo command.

FreeBSD

OpenAL is required. Install openal-soft:

pkg install openal-soft

OpenBSD

OpenAL is required. Install openal:

pkg_add -r openal