April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Getting Started

How to set up your environment for Kamaelia

Feedback sought!

Assumption:

Quickstart Instructions

Download the files you need (you might need less than this link gives you)

Install the core packages (Axon & Kamaelia)

Start playingwith the examples, which are also in the cookbook.

Detailed Instructions

1. Download the files you need

Preferably as a bundle with everything in:

Or as individual files:

Core files you need:

Optional files:

Note:If you just want to play and get started, just get the two core files, install the core system and work from there. A number of the examples, which you'll find in the cookbook use the libraries above, but you should be able to get the gist of how to do things without needing the optional files.

For convenience in the below I assume you've downloaded all the above files into the same directory, or downloaded a bundle and unpacked it.

2. Install the Core

Install Axon

Unpack.…

Install.…

Install Kamaelia

Unpack.…

Install.…

2.1 Install Optional C libraries

You might notice a pattern with all of these ... :-) If you want dirac support, you only need to install Dirac. If you want vorbis support, you need to have libogg, libvorbis and libao installed. With a modern linux distribution these are probably already included. If they're not, they're simple to build - see below. You might want to skip to the next section before deciding whether to install these. Personally though, I'd recommend installing them because these are what we're currently developing with.

Installing Dirac

Unpack.…

Build.…

Install.…

Homepage for Dirac: http://dirac.sourceforge.net/

Installing libogg

Unpack.…

Build.…

Install.…

Homepage for Ogg: http://www.xiph.org/

Installing libvorbis

Unpack...

Build.…

Install.…

Homepage for Vorbis: http://www.xiph.org/

Installing libao

Unpack.…

Build.…

Install.…

Homepage for libao: http://www.xiph.org/

2.2 Installing Optional Python Bindings

Note that for some of these you will need to have installed the appropriate C libraries described in 3.

Installing pygame(If you don't have pygame already installed!)

Unpack.…

Install.…

Homepage for pygame: http://www.pygame.org/

Installing pyao

If you want to use the vorbis examples, then you need something to output the audio. PyAO wraps libao which is an audio output library. This is generally included in most linux distributions, but PyAO generally isn't. Installation:

Unpack.…

Configure.…

Install.…

Homepage for pyao: http://www.andrewchatham.com/pyogg/

Installing Pyrex(important)

Many of the other python bindings described here are built using a great python tool called pyrex. As a result you need to install this if you want to use the vorbis, dirac or DVB bindings. Installation:

Unpack.…

Install.…

Hompage: http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/

Installing Python support for VorbisSimple

This is a simple wrapper around libvorbis to make it easier to work with. This also includes python bindings for this wrapper. As a result you installed the simple wrapper first, then install the python bindings. If you're interested, it also includes a document called "BytesToBeeps" which describes how libvorbis and libogg are used by this library. Installation:

Unpack.…

Build & Install the C library wrapper.…

Install the python bindings.…

Installing Python support for Dirac

Unpack.…

Install.…

Installing Python support for DVB (Digital TV, for timeshifting components)

Unpack.…

Install.…

These bindings have only been tested against a freecom DVB-T USB stick, but should work with other DVB cards quite happily.

3. Play with the examples!

At this point, you've got everything installed. Depending on whether you installed various bindings, you will be able to play with different examples. These are all in the cookbook as well.

Have fun!


Michael, March 2006, minor updates November 2006