August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)
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