Kamaelia 0.6.0 Release NotesCommon changes, due to Axon changes:* Components now get default configuration via class attributes. * Allows for a more declarative approach of specialising entire systems without code duplication or over use of inheritance. (localisation of change) DELETED FILESKamaelia/Util/passThrough.py - Was deprecated in 0.5.0 in favour of Kamaelia.Util.PassThrough Kamaelia/UI/Pygame/BasicSprite.py - Removed since wasn't very "kamaelia-like". A better experimental replacement exists in Kamaelia.Apps.Games4Kids Kamaelia/UI/Pygame/SpriteScheduler.py - Removed since wasn't very "kamaelia-like". A better experimental replacement exists in Kamaelia.Apps.Games4Kids New Files:Index: Test/Device/DVB/test_SoftDemux.py - tests for soft demux DVB component. Tools/DocGen/Nodes.py - support code for new documentation generation tools Tools/DocGen/TestSuiteRun.py - support for running the test suites and including output in docs Tools/DocGen/DocExtractor.py - A command line tool for generating Axon and Kamaelia documentation Tools/DocGen/renderHTML.py - Renderer for converting docutils document trees to HTML output with Kamaelia website specific directives, and automatic links for certain text patterns. Tools/DocGen/README - Readme describing docs framework Tools/VideoShotChangeDetector/ShotChangeDetector.py - This is a simple command line tool to analyse a video file and output a list of (probable) locations of cuts (shot-changes) in the video. Tools/VideoShotChangeDetector/DetectedShotChanges.xsd - An schema for defining lists of detected cuts in a video sequence. Tools/VideoShotChangeDetector/StopSelector.py - StopSelector asks the Selector service to shutdown; either immediately, or when triggered by anything being sent to any of its inboxes. Tools/VideoReframer/VideoReframer.py - This is a command line tool that decodes a video clip; applies edit decisisions (cutting, cropping and scaling); and re-encodes it. The idea is to cut and crop video to make it suitable for playback on a small screen mobile device by zooming in onto just the important bit - such as the face of the interviewee. Tools/VideoReframer/MobileReframe.xsd - An schema for defining Edit Decision Lists for mobile reframing. - Adds author: + Author : Steve Jolly, British Broadcasting Corporation Tools/VideoReframer/EDL.py - Components supporting the VideoReframer Tools/VideoReframer/StopSelector.py - StopSelector asks the Selector service to shutdown; either immediately, or when triggered by anything being sent to any of its inboxes. Tools/VideoPlayer.py - Command line tool that plays video clips - both the sound and pictures. Kamaelia/File/MaxSpeedFileReader.py - MaxSpeedFileReader reads a file in bytes mode as fast as it can; limited only by any size limit on the inbox it is sending the data to. This component is therefore useful for building systems that are self rate limiting - systems that are just trying to process data as fast as they can and are limited by the speed of the slowest part of the chain. Kamaelia/File/UnixProcess2.py - UnixProcess, but with different buffer limiting semantics UnixProcess2 allows you to start a separate process and send data to it and receive data from it using the standard input/output/error pipes and optional additional named pipes. Kamaelia/Internet/UDP_ng.py - Experimental new UDP components that use the selector to awaken them (ie reduce CPU usage). - Note, if useful, the contents of this file will replace the standard UDP.py file. - Adds UDPSender, UDPReceiver Kamaelia/Internet/TimeOutCSA.py - Designed for use with the improved TCPServer, designed for use to monkey patch a timeout into the basic server. Useful for setting inactivity timeouts onto socket connections. Kamaelia/Experimental/ERParsing.py - To support the ER Topology visualiser. - Parses a database model described in terms of entities and relations. - Adds components: - ERParser - basic parser - ERModel2Visualiser - converts parsed info to messages the visualiser understands. Kamaelia/Experimental/Chassis.py - Extended, experimental versions of Kamaelia.Chassis.Pipeline, Kamaelia.Chassis.Graphline and Kamaelia.Chassis.Carousel that add the ability to specify size limits for inboxes of components. Kamaelia/Chassis/Seq.py - A Seq component runs components one after the other in sequence, waiting until one terminates before starting the next. Kamaelia/XML/SimpleXMLParser.py - Simple/Basic parsing of XML using SAX XMLParser parses XML data sent to its "inbox" inbox using SAX, and sends out "document", "element" and "character" events out of its "outbox" outbox. Kamaelia/Support/Protocol/IRC.py - This provides support for Kamaelia.Protocol.IRC.* Kamaelia/Support/DVB/DateTime.py - Date and time parsing for DVB PSI tables Kamaelia/Support/OscarUtil.py Kamaelia/Support/OscarUtil2.py - OSCAR Support courtesy of GSOC '07, and twisted. - GSOC student decided to snapshot the twisted support and merge that. Kamaelia/Util/SequentialTransformer.py - This component applies all the functions supplied to incoming messages. If the output from the final function is None, no message is sent. (Think of it as a serialised version of PureTransformer) Kamaelia/Util/PromptedTurnstile.py - Buffering of data items until requested one at a time PromptedTurnstile buffers items received, then sends them out one at a time in response to requests, first-in first-out style. Kamaelia/Util/RateChunker.py - Breaks data into chunks matching a required chunk rate. Send data, such as binary strings to this component and it will break it down to roughly constant sized chunks, to match a required 'rate' of chunk emission. Kamaelia/Util/OneShot.py - One-shot sending data OneShot and TriggeredOneShot send a single specified item to their "outbox" outbox and immediately terminate. Kamaelia/Util/Tokenisation/Simple.py - Provides very simple tokenisation support Kamaelia/Util/TwoWaySplitter.py - Send stuff to two places Splits a data source sending it to two destinations. Forwards both things sent to its "inbox" inbox and "control" inboxes, so shutdown messages propogate through this splitter. Fully supports delivery to size limited inboxes. Kamaelia/Util/Max.py - Find the maximum of a set of values Send a list of values to Max and it will send out the maximum value in the list. Kamaelia/Util/FirstOnly.py - Pass on the first item only The first item sent to FirstOnly will be passed on. All other items are ignored. Kamaelia/Util/RangeFilter.py - Filter items out that are not in range - RangeFilter passes through items received on its "inbox" inbox where item[0] lies within one or more of a specfied set of ranges of value. Items that don't match this are discarded. Kamaelia/Util/TagWithSequenceNumber.py - Tags items with an incrementing sequence number - It takes in items on its "inbox" inbox and outputs (seqnum, item) tuples on its "outbox" outbox. Kamaelia/Util/Sync.py - Wait for 'n' items before sending one of them on For every 'n' items received, one is sent out (the first one received in the latest batch). Kamaelia/Util/Collate.py - Collate everything received into a single message Buffers all data sent to it. When shut down, sends all data it has received as collated as a list in a single message. Kamaelia/Codec/WAV.py - Reading and writing simple WAV audio files Read and write WAV file format audio data using the WAVParser and WAVWriter components, respectively. Kamaelia/Codec/YUV4MPEG.py - Parsing and Creation of YUV4MPEG format files - YUV4MPEGToFrame parses YUV4MPEG format data sent to its "inbox" inbox and sends video fram data structures to its "outbox" outbox. - FrameToYUV4MPEG does the reverse - taking frame data structures sent to its "inbox" inbox and outputting YUV4MPEG format data to its "outbox" outbox." - The YUV4MPEG file format is supported by many tools, such as mjpegtools, mplayer/mencoder, and ffmpeg. Kamaelia/Visualisation/ER/PRelation.py - Particle added for visualising relations in EER diagrams Kamaelia/Visualisation/ER/PEntity.py - Particle added for visualising entities in EER diagrams Kamaelia/Visualisation/ER/PAttribute.py - Particle added for visualising attributes in EER diagrams Kamaelia/Visualisation/ER/PISA.py - Particle added for visualising ISA relationships in EER diagrams Kamaelia/Visualisation/ER/ERLaws.py - Laws governing positioning of EER particles Kamaelia/Visualisation/ER/ExtraWindowFurniture.py - "furniture" for the EER diagrams. Kamaelia/Visualisation/ER/ERVisualiserServer.py - Server/viewer for (E)ER models - __kamaelia_prefabs__ = ( ERVisualiserServer, ERVisualiser) Kamaelia/Device/DVB/Parse/ParseTimeOffsetTable.py - Parsing Time Offset Tables in DVB streams ParseTimeOffsetTable parses a reconstructed PSI table from a DVB MPEG Transport Stream, and outputs the current time and date in UTC (GMT) aswell as the current time offset, and when the next change will be (due to daylight saving). Kamaelia/Device/DVB/Parse/ParseTimeAndDateTable.py - Parsing Time And Date Tables in DVB streams ParseTimeAndDateTable parses a reconstructed PSI table from a DVB MPEG Transport Stream, and outputs the current time and date in UTC (GMT). Kamaelia/Protocol/HTTP/HTTPRequestHandler.py - Split out from Kamaelia/Protocol/HTTP/HTTPServer.py - Metadata fixes - Documentation fixes Kamaelia/Protocol/RecoverOrder.py - Recover Order of Sequence Numbered Items Recovers the order of data tagged with sequence numbers. Designed to cope with sequence numbers that have to eventually wrap. Kamaelia/Protocol/RTP/RTP.py - RTP Packet Framing and Deframing Send a dict specifying what needs to go into the RTP packet and RTPFramer will output it as a RTP frame. Kamaelia/Protocol/AIM/AIMHarness.py - AIM Harness Provides a high-level Kamaelia interface to AIM. Kamaelia/Protocol/AIM/ChatManager.py - AIM Client Deals with post-login messages from the AIM server, mostly by parsing them and sending them out to its "heard" outbox in a slightly more useable form. Also sends messages to the server based on commands coming through its "talk" inbox. Kamaelia/Protocol/AIM/LoginHandler.py - AIM Login This component logs into to AIM with the given screenname and password. It then sends its logged-in OSCAR connection out of its "signal" outbox, followed by a list of any non-login-related messages it has received. Kamaelia/Protocol/AIM/OSCARClient.py - Kamaelia OSCAR interface NOTE: These components implement the OSCAR protocol at the lowest level and require a fairly good knowledge of OSCAR to use them. For a high-level interface, see AIMHarness.py. Kamaelia/Protocol/SDP.py - Session Description Protocol (SDP) Support The SDPParser component parses Session Description Protocol (see `RFC 4566`_) data sent to it as individual lines of text (not multiline strings) and outputs a dictionary containing the parsed session description. Kamaelia/Protocol/IRC/IRCClient.py - Kamaelia IRC Interface IRC_Client provides an IRC interface for Kamaelia components. Kamaelia/Apps/Show/GraphSlides.py Kamaelia/Apps/Compose/GUI/TextOutputGUI.py Kamaelia/Apps/Compose/GUI/BuilderControlsGUI.py Kamaelia/Apps/Compose/GUI/ArgumentsPanel.py Kamaelia/Apps/Compose/PipeBuild.py Kamaelia/Apps/Compose/BuildViewer.py Kamaelia/Apps/Compose/PipelineWriter.py Kamaelia/Apps/Compose/CodeGen.py Kamaelia/Apps/Compose/GUI.py Kamaelia/Apps/Whiteboard/Options.py Kamaelia/Apps/Whiteboard/Palette.py Kamaelia/Apps/Whiteboard/CommandConsole.py Kamaelia/Apps/Whiteboard/Audio.py Kamaelia/Apps/Whiteboard/Painter.py Kamaelia/Apps/Whiteboard/CheckpointSequencer.py Kamaelia/Apps/Whiteboard/Routers.py Kamaelia/Apps/Whiteboard/Tokenisation.py Kamaelia/Apps/Whiteboard/Canvas.py Kamaelia/Apps/Whiteboard/Entuple.py Kamaelia/Apps/Whiteboard/UI.py Kamaelia/Apps/Whiteboard/TagFiltering.py Kamaelia/Apps/Whiteboard/SingleShot.py Kamaelia/Apps/Whiteboard/Router.py Kamaelia/Apps/Whiteboard/TwoWaySplitter.py - Extracted out from Tools into Kamaelia.Apps.* (allows reuse) Kamaelia/Apps/Games4Kids/BasicSprite.py Kamaelia/Apps/Games4Kids/SpriteScheduler.py - Extracted out from Examples (in fact) into Kamaelia.Apps.* (allows reuse) Kamaelia/Apps/IRCLogger/Support.py - Supporting Functions for IRC Logger Kamaelia/Apps/Games4Kids/MyGamesEventsComponent.py - App specific logic component at present. Kamaelia/Apps/Grey/PeriodicWakeup.py - Simple Periodic Sender Component Simply sends a message every X seconds. Kamaelia/Apps/Grey/Support.py - Collection of support functions from the greylister. Kamaelia/Apps/Grey/GreyListingPolicy.py - Greylisting Policy For/Subclass Of Concrete Mail Handler This component implements a greylisting SMTP proxy protocol, by subclassing ConcreteMailHandler and overriding the appropriate methods (primarily the shouldWeAcceptMail method). Kamaelia/Apps/Grey/MailHandler.py - Abstract SMTP Mailer Core This component effectively forms the skeleton of an SMTP server. It expects an SMTP client to connect and send various SMTP requests to it. This basic SMTP Mailer Core however, does not actually do anything in response to any of the SMTP commands it expects. Kamaelia/Apps/Grey/ConcreteMailHandler.py - Concrete Mail Core This code enforces the basic statemachine that SMTP expects, switching between the various commands and finally results in forwarding on the SMTP command to the appropriate SMTP server. By itself, this can be used as a simple SMTP Proxy server. Kamaelia/Apps/Grey/WakeableIntrospector.py - On Demand/Wakeable Introspector This component grabs a list of all running/runnable components whenever it receives a message on its inbox "inbox". This list is then sorted, and noted to a logfile. Kamaelia/Video/CropAndScale.py - Video frame cropping and scaling This component applies a crop and/or scaling operation to frames of RGB video. Requires PIL - the python imaging library. http://www.pythonware.com/products/pil/ Kamaelia/Video/DetectShotChanges.py - Detecting cuts/shot changes in video DetectShotChanges takes in (framenumber, videoframe) tuples on its "inbox" inbox and attempts to detect where shot changes have probably occurred in the sequence. When it thinks one has ocurred, a (framenumber, confidencevalue) tuple is sent out of the "outbox" outbox. Kamaelia/Video/PixFormatConversion.py - Converting the pixel format of video frames These components convert the pixel format of video frames, for example, from interleaved RGB to planar YUV 420. Kamaelia/Video/__init__.py - Contains documentation/overview of the Kamaelia.Video components Kamaelia/UI/Pygame/VideoSurface.py - Pygame Video Surface Displays uncompressed RGB video data on a pygame surface using the Pygame Display service. Provides an alternative to video overlays. (also means it can be put onto an OpenGL texture) Kamaelia/UI/Pygame/Text.py - Pygame components for text input and display - TextDisplayer displays any data it receives on a Pygame surface. Every new piece of data is displayed on its own line, and lines wrap automatically. - Textbox displays user input while the user types, and sends its string buffer to its 'outbox' when it receives a '\n'. Examples/UsingChassis/WhatIsTheCarouselFor/PlayMP3s.py - Example showing how to use the Carousel to play several MP3s using a configured MP3 reader Examples/UsingChassis/WhatIsTheCarouselFor/PlayMP3.py - Example showing how to use the Carousel to play a configured MP3 reader Examples/UsingChassis/WhatIsTheCarouselFor/README - Simple readme for above 2 examples. Examples/SimpleGraphicalApps/TextBox/Textbox_ConsoleEchoer_Demo.py Examples/SimpleGraphicalApps/TextBox/ConsoleReader_TextDisplayer_Demo.py Examples/SimpleGraphicalApps/TextBox/Textbox_TextDisplayer_Demo.py Examples/SimpleGraphicalApps/TextBox/Source_TextDisplayer_Demo.py - Simple examples using Kamaelia.UI.Pygame.Text.* Examples/SoC2006/THF/MiniExamples/SimpleCube.py Examples/SoC2006/THF/MiniExamples/ProgressBar.py Examples/SoC2006/THF/MiniExamples/Movement.py Examples/SoC2006/THF/MiniExamples/Intersect.py Examples/SoC2006/THF/MiniExamples/SimpleTranslationInteractor.py Examples/SoC2006/THF/MiniExamples/SimpleRotationInteractor.py Examples/SoC2006/THF/MiniExamples/SkyGrassBackground.py Examples/SoC2006/THF/MiniExamples/OpenGLComponent.py Examples/SoC2006/THF/MiniExamples/LiftTranslationInteractor.py Examples/SoC2006/THF/MiniExamples/Button.py Examples/SoC2006/THF/MiniExamples/MatchedTranslationInteractor.py Examples/SoC2006/THF/MiniExamples/Label.py Examples/SoC2006/THF/MiniExamples/TexPlane.py Examples/SoC2006/THF/MiniExamples/Container.py Examples/SoC2006/THF/MiniExamples/PygameWrapper.py Examples/SoC2006/THF/MiniExamples/SimpleButton.py Examples/SoC2006/THF/MiniExamples/ArrowButton.py - Simple examples using Kamaelia.UI.OpenGL.* Examples/TCP_Systems/HTTP/ConsoleDownloader.py - Demo of HTTP code Examples/TCP_Systems/SSL/https.py - Shows how to hook up the TCPClient such that you can use it to manually talk to an HTTPS server. Examples/TCP_Systems/AIM/ConsoleOneBuddyMessenger.py - One-buddy AIM Client Allows users to instant-message one of their buddies. A command-line program with the syntax: ./OneBuddyMessenger [-s screeenname password] [-b buddy] Examples/TCP_Systems/IRC/BasicDemo.py - Simple IRC demo Examples/Handles/simplehttpclient.py - How to use the Kamaelia.Protocol.HTTP.HTTPClient code in a non-kamaelia program - ie how to use the new "Handle" facility. Examples/Handles/simpleoggdecoder.py - Another example on using Handles to put Kamaelia code into a background thread. Examples/Handles/simpletcpclient.py - Another example on using Handles to put Kamaelia code into a background this time it's essentially about doing IRC related things in the background. Examples/Handles/simpleoggradioplayer.py - Another example on using Handles to put Kamaelia code into a background thread. Examples/Handles/LikeTicker.py - Another example on using Handles to put Kamaelia code into a background thread. Examples/Handles/mediumtcpclient.py - Another example on using Handles to put Kamaelia code into a background thread. ChangedTest/test_Selector.py - to handle component name change Test/Util/test_Marshalling.py - namespace changes Tools/Show.py - namespace changes: Kamaelia.Chassis Kamaelia.Apps Tools/Whiteboard/Whiteboard.py import os - namespace changes: Kamaelia.Chassis Kamaelia.Apps - Will now work even if certain parts of audio don't - eg non-availability of pymedia, speex. - now supports the concept of notepads as a command line argument - defaults still to "Scribbles" - General code clean up and better componentisation into Kamaelia.Apps Tools/Whiteboard/WhiteboardRecorder.py Tools/Whiteboard/WhiteboardPlayer.py Tools/Whiteboard/MP3Player.py - namespace changes: Kamaelia.Apps (Enables reuse of Whiteboard code in other apps potentially within limits) Tools/Compose.py - Largely disabled by changes since 0.5.0, but with good reason. - lots of code cleanup, and uses a new introspection method regarding the repository based on parsing the component definitions rather than imports. Kamaelia/File/Reading.py - Documentation and introspection fixes Kamaelia/File/BetterReading.py - namespace change: Kamaelia.KamaeliaIPC -> Kamaelia.IPC - bugfix Kamaelia/Internet/SingleServer.py - Better shutdown support via .stop() (from scheduler) - Better passon/shutdown support Kamaelia/Internet/UDP.py - Documentation & examples added - SimplePeer implementation simplified - TargettedPeer output form is now (data,(host, port)) - PostboxPeer now expects data of form: (host,port,data) Kamaelia/Internet/ConnectedSocketAdapter.py - Changes to support removeReader, removeWriter - Now supports SSL connections, via SSLSocket - ConnectedSocketAdapter: new inbox: "makessl": "Notify this CSA that the socket should be wrapped into SSL", new outbox: "sslready": "Notifies components that the socket is now wrapped into SSL", - Various internal improvements - Much improved shutdown handling - self.scheduler.stop() can now shutdown a server cleanly, including attempting to close all open sockets, and pass shutdown info to protocol handlers etc - Data send queue no longer has an internal buffer unless absolutely necessary. - Adds author sylvain hellagouache Kamaelia/Internet/TCPServer.py - Changes primarily to improve shutdown handling. - See cookbook for examples. - Change to use (self.CSA) (for example) rather than use ConnectedSocketAdapter directly - allowing for override of the specific CSA by users of this class. Kamaelia/Internet/Selector.py - Improved shutdown handling. (No sockets being managed for 5 seconds == shutdown) - select timeout changed from 5 seconds to 0.05 seconds. This makes the system more responsive to shutdown requests Kamaelia/Internet/TCPClient.py - Changed to support the SSL support in the CSA - Better shutdown handling. - New inbox: makessl : Notifications to the ConnectedSocketAdapter that we want to negotiate SSL - New outbox: sslready : SSL negotiated successfully - More correct support for errors on windows Kamaelia/BaseIPC.py - Documentation improvements. NOTE: Many components do not use this, and it's use is limited to the HTTP code primarily. It may or may not be useful to you. Kamaelia/Experimental/Services.py - Metadata added Kamaelia/Chassis/ConnectedServer.py - Documentation changes - Shutdown improvements - Change from just SimpleServer to ServerCore and SimpleServer - ServerCore protocols gets 4 named arguments by default: peer, peerport, localip, localport - New inbox: _socketactivity : Messages about new and closing connections here - ServerCore configuration changed to allow TCPServer to be easily overridden by a user. Kamaelia/Chassis/Carousel.py Kamaelia/Chassis/Prefab.py Kamaelia/Chassis/Pipeline.py Kamaelia/Exceptions.py Kamaelia/Support/Deprecate.py - Documentation improvements Kamaelia/Support/Data/Repository.py - Documentation improvement & complete overhaul of approach Kamaelia/Support/DVB/Descriptors.py - Documentation fixes - Extended to include content type genres - level 1, level 2 - Better error handling in the absence of missing bindings - descriptor parses extended to allow parser_sets - parser_content_Descriptor & results extended - Better support for ETSI TS 102 323 defined descriptors - lookup tables for descriptors to something understandable. Kamaelia/Util/ConsoleEcho.py - deprecated in favour of Kamaelia/Util/Console.py Kamaelia/Chassis/Carousel.py Kamaelia/Util/PureTransformer.py Kamaelia/Support/Data/Experimental.py Kamaelia/Support/DVB/CRC.py Kamaelia/Util/Chooser.py Kamaelia/Util/Filter.py - Minor bugfixes Kamaelia/Util/MarshallComponent.py Kamaelia/Util/Backplane.py Kamaelia/Codec/Speex.py Kamaelia/Visualisation/Axon/AxonVisualiserServer.py - Metadata fixes Kamaelia/Internet/Selector.py Kamaelia/Util/PureTransformer.py Kamaelia/Util/Chooser.py Kamaelia/File/UnixProcess.py Kamaelia/File/ReadFileAdaptor.py Kamaelia/Community/__init__.py Kamaelia/Chassis/Graphline.py Kamaelia/Support/Particles/SpatialIndexer.py Kamaelia/Support/Data/bitfieldrec.py Kamaelia/Util/DataSource.py Kamaelia/Util/Fanout.py Kamaelia/Util/Console.py Kamaelia/Util/Splitter.py Kamaelia/Util/Comparator.py Kamaelia/Util/Chunkifier.py Kamaelia/Util/ChunkNamer.py Kamaelia/Util/Introspector.py Kamaelia/Util/UnseenOnly.py Kamaelia/Util/NullSink.py Kamaelia/Util/Marshalling.py Kamaelia/Util/RateFilter.py Kamaelia/Util/Stringify.py Kamaelia/Codec/RawYUVFramer.py Kamaelia/Visualisation/PhysicsGraph/lines_to_tokenlists.py Kamaelia/Visualisation/PhysicsGraph/GridRenderer.py Kamaelia/Visualisation/PhysicsGraph/ParticleDragger.py Kamaelia/Visualisation/PhysicsGraph/TopologyViewerServer.py Kamaelia/Visualisation/PhysicsGraph/chunks_to_lines.py Kamaelia/Visualisation/Axon/ExtraWindowFurniture.py - Documentation fixes Kamaelia/Util/PassThrough.py Kamaelia/Util/Clock.py Kamaelia/Util/Backplane.py Kamaelia/Visualisation/PhysicsGraph/TopologyViewer.py - Documentation improvement Kamaelia/Util/RateFilter.py Kamaelia/Util/Backplane.py Kamaelia/Visualisation/Axon/ExtraWindowFurniture.py Kamaelia/Device/DVB/EIT.py - Minor bugfixes Kamaelia/Codec/Dirac.py - Doc fixes - Better support for Dirac 0.6.0 vs 0.5.4 - better support of more encoding parameters Kamaelia/Visualisation/Axon/PComponent.py - Support for abbreviating node names - collection of default colours - colours selected and mixed based on the letters in the node name. - Switch from circles to hexagons Kamaelia/Device/DVB/Core.py - Documentation improvements - Use fixed DVB bindings - Locking of DVB device handled correctly now - Metadata fixes Kamaelia/Device/DVB/DemuxerService.py - Documentation improvements - Metadata fixes Kamaelia/Device/DVB/Tuner.py - Documentation improvements - Metadata fixes - Use fixed DVB bindings - Locking of DVB device handled correctly now Kamaelia/Device/DVB/SoftDemux.py - Minor bugfixes Kamaelia/Device/DVB/__init__.py - Documentation improvements Kamaelia/Device/DVB/NowNext.py - Documentation improvements Kamaelia/Device/DVB/Parse/ParseProgramMapTable.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings Kamaelia/Device/DVB/Parse/ReassemblePSITables.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings Kamaelia/Device/DVB/Parse/ParseEventInformationTable.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings Kamaelia/Device/DVB/Parse/__init__.py - Documentation improvements Kamaelia/Device/DVB/Parse/PrettifyTables.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Device/DVB/Parse/ParseNetworkInformationTable.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Device/DVB/Parse/ParseServiceDescriptionTable.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Device/DVB/Parse/ParseProgramAssociationTable.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Device/DVB/Receiver.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Device/DVB/PSITables.py - Documentation improvements - Minor bugfixes - Use fixed DVB bindings - Metadata fixes Kamaelia/Protocol/HTTP/ErrorPages.py - return bundles: "type" -> "content-type" Kamaelia/Protocol/HTTP/Handlers/SessionExample.py - return bundles: "type" -> "content-type" Kamaelia/Protocol/HTTP/Handlers/UploadTorrents.py - return bundles: "type" -> "content-type" Kamaelia/Protocol/HTTP/Handlers/Minimal.py - return bundles: "type" -> "content-type" - Documentation fixes - added debug info Kamaelia/Protocol/HTTP/IcecastClient.py - Documentation improvements Kamaelia/Protocol/HTTP/HTTPParser.py - Documentation improvements - Logic changed to use WaitComplete to improve clarity - Now supports the extended form of protocol creation - ie supports peer, peerport, localip, localport - Minor improvements - Much better shutdown support - Better support for alternate HTTP methods (eg PUT) - Code refactored for clarity/improved maintainability - Code made more robust - Buffer handling made more accurate - More explicit about half close issues - Errors in the state machine clearer regarding 100 continue messages Kamaelia/Protocol/HTTP/HTTPClient.py - Documentation improvements - better support for alternate HTTP methods and extra headers (ie changed initialiser) - partial code cleanup - Metadata fixes Kamaelia/Protocol/HTTP/HTTPHelpers.py - Metadata fixes Kamaelia/Protocol/HTTP/HTTPServer.py - Split out code from here into HTTPRequestHandler - Added HTTPShutdownLogicHandling component - assists with shutting down the various parts. - HTTPServer is a prefab, configuring the various parts, specifically including. PARSER - Likely to be renamed HTTP_ServerSide - Metadata fixes Kamaelia/Protocol/FortuneCookieProtocol.py - Documentation improvements - Likely candidate for disappearance at some point (largely a demo protocol) Kamaelia/Protocol/EchoProtocol.py - Documentation improvements Kamaelia/Protocol/Torrent/TorrentClient.py - Documentation improvements - Metadata fixes Kamaelia/Protocol/Torrent/TorrentMaker.py - Metadata fixes Kamaelia/Protocol/Torrent/TorrentPatron.py Kamaelia/Protocol/Torrent/TorrentService.py Kamaelia/Protocol/RTP/NullPayloadRTP.py - Documentation improvements Kamaelia/Protocol/RTP/RtpPacker.py - Documentation fixes Kamaelia/Protocol/RTP/__init__.py - Documentation improvements Kamaelia/Protocol/RTP/RTCPHeader.py - Documentation fixes Kamaelia/Protocol/SimpleReliableMulticast.py - Documentation fixes - Metadata fixes Kamaelia/Audio/RawAudioMixer.py - Documentation improvements - Metadata fixes Kamaelia/Audio/PyMedia/Resample.py - Documentation improvements - Requires PyMedia - Metadata fixes Kamaelia/Audio/PyMedia/Input.py - Documentation improvements - Requires PyMedia - Metadata fixes Kamaelia/Audio/PyMedia/Output.py - Documentation improvements - Requires PyMedia - Metadata fixes Kamaelia/Audio/Filtering.py - Metadata fixes Kamaelia/Audio/Codec/PyMedia/Encoder.py - Documentation improvements - Requires PyMedia - Metadata fixes Kamaelia/Audio/Codec/PyMedia/Decoder.py - Documentation improvements - Requires PyMedia - Metadata fixes Index: Kamaelia/IPC.py - Added serverShutdown message. - newCSA message also supports passing through the socket now. Kamaelia/UI/Pygame/VideoOverlay.py - Minor documentation fixes Kamaelia/UI/Pygame/KeyEvent.py - Minor documentation fixes - Support for keyup events as well as key down. Key down is still the default. (backwards compatible) Kamaelia/UI/Pygame/Button.py - Minor documentation fixes Kamaelia/UI/Pygame/Multiclick.py - Minor bugfix (fix does not affect user of component aside from making this component work better) Kamaelia/UI/Pygame/Ticker.py - Minor bugfix (fix does not affect user of component aside from making this component work better) Kamaelia/UI/Pygame/Image.py - Now able to accept image data (eg in a string read from a file or via the network, and able to display that directly, via the magic of StringIO) Described as "file_strings" Kamaelia/UI/Pygame/Display.py - Documentation improvements - Better windows support due to change to _PygameEventSource (use pygame.event.peek not pygame.event.get) - Support for passing events to the surface ONLY if the mouse is inside the surface, rather than outside. - Added support for an "fullscreen" message to toggle fullscreen cleanly - better handle of events in general - now defaults to always closing the mixer before trying to set the display mode. - Ensures that the pipewidth between the event source and display is only wide enough for a single message - to avoid memory explosion. Kamaelia/UI/OpenGL/Movement.py Kamaelia/UI/OpenGL/SimpleTranslationInteractor.py - Metadata fixes Kamaelia/UI/OpenGL/OpenGLComponent.py - Minor bugfix Kamaelia/UI/OpenGL/Button.py - Documentation improvements - Metadata fixes Kamaelia/UI/GraphicDisplay.py setup.py - Lots of packages added. - version bumped Examples/Introspection/IntrospectingSimpleStreamingSystem.py Examples/Multicast/SimpleReliableMulticast/MulticastStreamingSystem_SRM.py Examples/Multicast/BasicSystems/MulticastStreamingSystem.py Examples/Multicast/BasicSystems/MulticastStreamingServer.py Examples/VideoCodecs/Dirac/SimpleDiracPlayer.py Examples/TCP_Systems/SimpleStreamingPieces/SimpleStreamer.py - Examples changed to used media files we can share Examples/DVB_Systems/PersonalVideoRecorder.py Examples/DVB_Systems/RecordNamedChannel.py Examples/DVB_Systems/TransportStreamCapture.py Examples/DVB_Systems/SingleChannelTransportStreamCapture.py - To match changes to the DVB bindings - Minor bugfixes Examples/SimpleGraphicalApps/BouncingCatGame/Sprites/BasicSprite.py Examples/SimpleGraphicalApps/BouncingCatGame/Simplegame.py - minor bugfixes Examples/SoC2006/RJL/ |
Kamaelia
is an open source project originated from and guided by BBC
Research. For more information browse the site or get in
contact.
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved