Chattering Pixels announces launch of three new middleware components

MIDDLESBROUGH, UK. – February 1st 2006 – Chattering pixels have announced the launch of three exciting new middleware components in their rapidly expanding range alongside announcing that their CP_CORE module now comes bundled for free with all of their solutions.

The company’s new CP_FIO library provides developers with a platform independent file system API featuring synchronous and asynchronous reading and writing and full support for file streaming. This powerful module gives developers the power to read their data when and how they want from many different kinds of media.

The second new module is the CP_TIMER library and it provides developers with stopwatch, profiling and hierarchical timer functionality for fast, efficient and flexible control over all aspects of game timings. The library can be used to create complex relationships between different timers and to apply local or global timing adjustments that simplify the creation of effects such as slow motion, bullet time and localized time distortions.

The third new module announced today is the CP_SORT library. This provides users with fast, highly optimized 32 bit, 64 bit, floating point and machine word sized implementations of the quick, insertion and radix sort methods. The quick and insertion sort methods also allow for the sorting of strings. The module promises to empower developers of all sizes with the fastest and most efficient sorting methods available.

All three modules build on the functionality of Chattering Pixels previously released CP_CORE and CP_MEMORY_MANAGER modules and both of these have seen new point releases today that add new features, enhanced documentation and streamlined installation.

Commercial Director Neil Holmes said “We really wanted to demonstrate our commitment to rapidly expanding our range by announcing these new modules today. By taking the decision to bundle our CP_CORE module with all of our components we can also offer even better value for money while making it easier for developers to hit the ground running with a complete package”.

All of Chattering Pixels middleware components are available as free downloads for non-commercial or trial use, under a reduced commercial license for indie developers and as per-product, per-platform licenses for commercial developers.

Full details for all of the company’s modules are available at


Additional information

About Chattering Pixels CP_FIO Module

Chattering pixels CP_FIO module has been created to provide developers with a platform independent solution to all their file access requirements. It features the following key functionality:

• Platform independent wrappers for common file system functionality • Asynchronous file reading and writing • Strong error handling / reporting • Volume System • Disk System • Path System • Directory System • File System • Synchronous file operations • Asynchronous file operations • Streaming system • Log System • String System

About Chattering Pixels CP_SORT Module

The Chattering Pixels CP_SORT library provides developers with highly optimised implementations of three common sort algorithms to improve sorting in any application:

• Quick sort • Insertion sort • Radix sort • 32 bit, 64 bit and machine word sizes • Signed, unsigned and floating point data types (Yes including radix!) • Smallest to largest or largest to smallest • String sorting with quick and insertion sort methods

About Chattering Pixels CP_TIMER Module

The chattering pixels timer module provides exhaustive stopwatch, profiling and hierarchical timer functionality to allow a developer to control all aspects of timing in their application. The module provides:

• Platform independent API • Timer back end per platform that uses the best available high resolution timer • Stop watch functionality • Any number of timer hierarchies • Per hierarchical timer node callback lists • Local and global modification of timers

About Chattering Pixels CP_CORE module

The CP_CORE module is the company’s enabling middleware component. It forms the basic interface to, and provides common functionality for, all of Chattering Pixels other middleware components. It provides:

• Basic Types providing standardized platform independent type abstractions • Stack and FIFO implementations • Static and dynamic table functionality • One way and two way linked list implementations • Database system • Bit Array implementation • Memory manager • Memory utility functionality • Error handling and Debug functionality • Elementary math library • Thread handling • Platform independent string library • Message Pump • Finite state machine implementation • Hierarchical node implementation • Binary search implementation • Cyclic redundancy code calculation • SHA1-160 hashing • Random number generation • Main loop with user update callbacks • Helper functions and abstractions

About Chattering Pixels CP_MEMORY_MANAGER Module

The company’s CP_MEMORY_MANAGER module provides developers of all sizes with an extremely powerful platform and compiler independent memory management solution. The memory manager is supplied with the CP_CORE module and has the following key features:

• Non heaped or heaped allocations • Memory reallocation • Multiple heaps • Strong error handling / reporting • Underflow / overflow testing • Extensive debug information (what was allocated, what line of code / function allocated it) • User ID associated with each allocation • Complete debug out of heaped and non heaped allocations • Usage statistics for each allocation location • User breakpoints on specified allocation events • Protection of memory headers from memory stomping / corruption • Extremely fast allocation and free from heaps • Allocate from top, bottom or best fit in heap • Allocation to arbitrary alignment • Minimization and transparent recovery of memory lost to alignment • Extremely low memory overhead per allocation in release • Delayed frees for memory which may be referenced by another thread / a display list • Time stamping system to find memory leaks • Memory setting of free memory in debug builds to quickly discover dangling pointers

For more detailed information on our products and details about how to place an order or use our support system please visit our website at or email us at


Commenting will be coming soon. In the meantime, feel free to create a discussion topic on the forums.