Share

Kamaelia

File Release Notes and Changelog

Release Name: Kamaelia-0.5.0

Notes:
0.5.0

   Kamaelia 0.5.0 adds a large number of new components, many of which have
   been developed by students participating in Google's Summer Of Code 2006
   Programme. There are many new examples demonstrating these new features.
   Other highlights include a major revamp to the graphical builder
   "Compose" - now supporting graphlines instead of pipelines, and to
   "Whiteboard" - now with audio support, paging, history and session
   recording.

   Additions from SoC 2006:
    * BitTorrent client
    * OpenGL display components
    * Modular http web server and client

   Other additions include:
    * PyMedia Audio IO and codec access
    * Speex audio codec
    * Audio mixing and filtering
    * Improved Digital TV handling

   NEW EXAMPLES:

   HTTP spidering:
    * Examples/SoC2006/RJL/HTTPSpider

   BitTorrent:
    * Examples/SoC2006/RJL/TorrentGUI
    * Examples/SoC2006/RJL/TorrentSeeder

   BitTorrent based peer to peer streaming:
    * Examples/SoC2006/RJL/P2PStreamPeer
    * Examples/SoC2006/RJL/P2PStreamSeed

   OpenGL checkers board:
    * Examples/SoC2006/THF/Checkers

   OpenGL BitTorrent GUI:
    * Examples/SoC2006/THF/TorrentOpenGLGUI

   DVB Digital TV timeshifting tools:
    * Examples/DVB_Systems/RecordNamedChanel.py
    * Examples/DVB_Systems/PersonalVideoRecorder.py

   NEW TOOLS

   Compose - the graphical builder now handles the creation of graphlines
   meaning a richer set of applications may be built graphically - this is
   often useful for sketching out a system, since the generated code is
   clean and what you would normally write.

   Whiteboard - The whiteboard has undergone a revamp, and whilst looking
   identical now features audio as well as the graphical drawing interface.
   It also now supports paging, which can either be "new page", creating a
   fresh blank page, or "checkpoint" saving the page and creating a new one
   with the current contents. The whiteboard is now also accompanied by a
   recorder & player for recording the session - allowing you to playback
   a session (both audio & scribbles). Finally you can also inject the
   contents of a MP3 into the session using another whiteboard tool - this
   is then distributed to all connected whiteboards, who will distribute
   that to other whiteboards. This is expected to be useful for something
   like sending audio instructions to either run a brainstorming session,
   etc.

   HTTP PROTOCOL SERVER AND CLIENT

   New components add a modular HTTP server and client compoents, including
   a Icecast/SHOUTcast client. The HTTP server is modular, and can be
   configured to instantiate different protocol handler components depending
   on the request URL.

   For more details see: ./Examples/SoC2006/RJL/README-HTTP


   BITTORRENT CLIENT INTEGRATION

   These components add a fully fledged BitTorrent peer, capable of both
   downloading and serving to peers.

   These components require the BitTorrent _sources_ to be installed. It has
   been tested with version 4.20.8 - use this version or later only.
   Get the latest sources from: http://download.bittorrent.com/dl/?M=D

   For more details see: ./Examples/SoC2006/RJL/README-BitTorrent

   OPEN GL DISPLAY

   The range of Kamaelia UI capabilities now includes OpenGL. The design is
   similar to the way the existing PyGame display components work: A Display
   component provides a core display service and components wishing to
   render an OpenGL object use the service it provides.

   It includes an ability to 'wrap' existing PyGame components - enabling
   them to be displayed as a rectangle within an OpenGL space and to be
   interacted with (eg. they can receive mouse motion events, mapped back
   from 3d onto the 2d surface)

   An 'interactor' framework provides a way to script and control motion and
   transformation of OpenGL components.

   Components include: button, label, progress bar, and a 'wrapper' for
   bringing existing PyGame components.


   PYMEDIA AUDIO

   A new Kamaelia.Audio namespace has been added. The first components to
   populate this provide PyMedia based audio input, output, coding and
   decoding.

   PyMedia is a cross platform python library providing access to audio and
   video capture, codecs and playback. Get it from: http://www.pymedia.org/

   NOTE: With version 1.3.7.0 of pymedia, Linux users may experience segfaults
         whilst using the audio input component. A patch exists for pymedia
         to fix this. Get the patch here:
             http://kamaelia.sf.net/t/pymedia_patch.tar.gz

   NOTE: If you are using a Kamaelia Bundle, then the pymedia version
         included here already contains this bugfix.

   SPEEX CODING AND DECODING

   A pair of components have been added that use the PySpeex library (version
   0.2) to add Speex encoding and decoding:

   Speex is an open source audio compresion format optimised for compressing
   speech content to very low bitrates (eg. 10kbit/s). Get it from
   http://www.speex.org

   DIGITAL TERRESTRIAL TELEVISION (DVB-T)

   There is now a wider set of Digital TV (DVB-T) support - with a richer
   and more complete set of components for demultiplexing and processing
   metadata within the stream.

   To support this, some experimental code for making public services
   (services registered under a name with the coordinating assistant tracker)
   easier to create and use has been implemented.

   Notable New Components:
    * DVB tuner, demuxer and receiver.
    * DVB data table reassembler
    * Various DVB data table parsers and pretty printers

   New Examples:
    * A channel recorder that works out itself, from the name of the channel
      what streams of data need recording from the broadcast multiplex.

    * A personal video recorder that records programmes specified by
      programme name and channel name.

Changes from Release Candidate:
    * Small bugfixes in various components __kamaelia_components__ lines
    * Issues with BitTorrent localisation worked around
    * Threaded component asynchronous limit increased to 1000 messages
      waiting to be delivered.


Changes: 0.5.0 Kamaelia 0.5.0 adds a large number of new components, many of which have been developed by students participating in Google's Summer Of Code 2006 Programme. There are many new examples demonstrating these new features. Other highlights include a major revamp to the graphical builder "Compose" - now supporting graphlines instead of pipelines, and to "Whiteboard" - now with audio support, paging, history and session recording. Additions from SoC 2006: * BitTorrent client * OpenGL display components * Modular http web server and client Other additions include: * PyMedia Audio IO and codec access * Speex audio codec * Audio mixing and filtering * Improved Digital TV handling NEW EXAMPLES: HTTP spidering: * Examples/SoC2006/RJL/HTTPSpider BitTorrent: * Examples/SoC2006/RJL/TorrentGUI * Examples/SoC2006/RJL/TorrentSeeder BitTorrent based peer to peer streaming: * Examples/SoC2006/RJL/P2PStreamPeer * Examples/SoC2006/RJL/P2PStreamSeed OpenGL checkers board: * Examples/SoC2006/THF/Checkers OpenGL BitTorrent GUI: * Examples/SoC2006/THF/TorrentOpenGLGUI DVB Digital TV timeshifting tools: * Examples/DVB_Systems/RecordNamedChanel.py * Examples/DVB_Systems/PersonalVideoRecorder.py NEW TOOLS Compose - the graphical builder now handles the creation of graphlines meaning a richer set of applications may be built graphically - this is often useful for sketching out a system, since the generated code is clean and what you would normally write. Whiteboard - The whiteboard has undergone a revamp, and whilst looking identical now features audio as well as the graphical drawing interface. It also now supports paging, which can either be "new page", creating a fresh blank page, or "checkpoint" saving the page and creating a new one with the current contents. The whiteboard is now also accompanied by a recorder & player for recording the session - allowing you to playback a session (both audio & scribbles). Finally you can also inject the contents of a MP3 into the session using another whiteboard tool - this is then distributed to all connected whiteboards, who will distribute that to other whiteboards. This is expected to be useful for something like sending audio instructions to either run a brainstorming session, etc. HTTP PROTOCOL SERVER AND CLIENT New components add a modular HTTP server and client compoents, including a Icecast/SHOUTcast client. The HTTP server is modular, and can be configured to instantiate different protocol handler components depending on the request URL. For more details see: ./Examples/SoC2006/RJL/README-HTTP BITTORRENT CLIENT INTEGRATION These components add a fully fledged BitTorrent peer, capable of both downloading and serving to peers. These components require the BitTorrent _sources_ to be installed. It has been tested with version 4.20.8 - use this version or later only. Get the latest sources from: http://download.bittorrent.com/dl/?M=D For more details see: ./Examples/SoC2006/RJL/README-BitTorrent OPEN GL DISPLAY The range of Kamaelia UI capabilities now includes OpenGL. The design is similar to the way the existing PyGame display components work: A Display component provides a core display service and components wishing to render an OpenGL object use the service it provides. It includes an ability to 'wrap' existing PyGame components - enabling them to be displayed as a rectangle within an OpenGL space and to be interacted with (eg. they can receive mouse motion events, mapped back from 3d onto the 2d surface) An 'interactor' framework provides a way to script and control motion and transformation of OpenGL components. Components include: button, label, progress bar, and a 'wrapper' for bringing existing PyGame components. PYMEDIA AUDIO A new Kamaelia.Audio namespace has been added. The first components to populate this provide PyMedia based audio input, output, coding and decoding. PyMedia is a cross platform python library providing access to audio and video capture, codecs and playback. Get it from: http://www.pymedia.org/ NOTE: With version 1.3.7.0 of pymedia, Linux users may experience segfaults whilst using the audio input component. A patch exists for pymedia to fix this. Get the patch here: http://kamaelia.sf.net/t/pymedia_patch.tar.gz NOTE: If you are using a Kamaelia Bundle, then the pymedia version included here already contains this bugfix. SPEEX CODING AND DECODING A pair of components have been added that use the PySpeex library (version 0.2) to add Speex encoding and decoding: Speex is an open source audio compresion format optimised for compressing speech content to very low bitrates (eg. 10kbit/s). Get it from http://www.speex.org DIGITAL TERRESTRIAL TELEVISION (DVB-T) There is now a wider set of Digital TV (DVB-T) support - with a richer and more complete set of components for demultiplexing and processing metadata within the stream. To support this, some experimental code for making public services (services registered under a name with the coordinating assistant tracker) easier to create and use has been implemented. Notable New Components: * DVB tuner, demuxer and receiver. * DVB data table reassembler * Various DVB data table parsers and pretty printers New Examples: * A channel recorder that works out itself, from the name of the channel what streams of data need recording from the broadcast multiplex. * A personal video recorder that records programmes specified by programme name and channel name. Changes from Release Candidate: * Small bugfixes in various components __kamaelia_components__ lines * Issues with BitTorrent localisation worked around * Threaded component asynchronous limit increased to 1000 messages waiting to be delivered.