Old map making tool

The on-bike software runs on Beagleboards with an adapted version of the Ångström linux distribution.

The software is written in Lua and periodically polls the GPS device for location, looks up where it is on the map and triggers samples to play based on it's previous state. The map is stored in JSON format, as exported from the map tool and contains zones, which consist of names, polygons and sample parameters.

The code is available here under the GPL licence.

Sample Parameters

The normal action when a bike enters a zone is to start playing the sample associated with it. The sample is stopped when it either a) runs out or b) the cyclist leaves the zone. On leaving the zone, the sample is faded out gradually. There are also a number of parameters that change this behaviour:


This parameter causes the sample to loop, until the cyclist leaves the zone.

One shot

This causes the sound to play all the way through, regardless of where the cyclist is. This is also useful for areas where GPS signal is noisy.


A ghost zone contains two polygons which are slowly blended between over time. This has the effect of sounds moving around the space. Ghost zones can also be looped or one shot.


Updating the map tool for a new map requires fiddling about with the php - this is so we filter out zones and can keep all globally stored on the one map, needs GUI foo:

  1. Get the id of the new parent zone for the current performance from here (ask dave for an account!): http://sonicmapper.borrowed-scenery.com/phpmyadmin
  2. Add the title of the parent zone to the list here, in order to tell it where to pick up the colours from: application/helpers/map.php Search for "dave hack":
  3. Filter only current map zones by replacing existing id here: application/helpers/reports.php Search for "dave hack":