JUCE 1.21 review

Download
by rbytes.net on

JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform applications.

License: GPL
OS: Mac OS X
File size: 0K
Developer: Raw Material Software Ltd
Price: $0.00
Updated: 12 Dec 2005
0 stars award from rbytes.net


JUCE (Jules' Utility Class Extensions) is an all-encompassing C++ class library for developing cross-platform applications.

JUCE is particularly good for creating highly-specialised user interfaces and for handling graphics and sound.

The intended users are developers like me, who are writing large, complex applications in C++ and who would like to use just one clean, high-level API rather than a bunch of different libraries for different purposes or platforms.

Here are some key features of "JUCE":
Basics - World's best string class; arrays; stream and file handling; time and date; maths functions, random numbers, reference counting, super-fast XML parser and well-stocked XML manipulation classes; abstractions for threads, processes, critical sections etc; built-in GZIP compression/decompression streams and ZIP file readling; undo/redo support; logging; messaging layer with timers, event listeners; etc. etc.
User Interface - Cross-platform windowing capability with extremely powerful lightweight component architecture. Ready-made components include buttons, lists, menus, textboxes, treeviews, scrollbars, etc. Components are customisable either at a low-level by creating your own (or by subclassing existing ones), or at an application-wide level by creating custom look-and-feel styles for them.
Vector Graphics - Fast, high-quality anti-aliased rendering of shapes with transpaency, gradient fills, etc; path stroking with different line styles, dashed-lines; affine transformations and geometry classes; manipulation of typefaces as paths and custom font engine to provide sub-pixel accurate text in a platform-independent manner; typefaces can be serialised for easy embedding of fonts in an executable.
Image manipulation - High-quality rendering of images, allowing affine transformations and transparency; support for cross-platform OpenGL windows within Juce windows; built-in parser for loading JPEG, PNG and GIF image formats; image caching; easy embedding of images in an executable without having to use platform-specific resources.
Audio - Low-latency audio engine supporting DirectSound, ASIO and CoreAudio devices; audio buffer classes for mixing and manipulating samples; Parsers for WAV and AIFF formats, as well as reading audio streams from audio CD devices (easy on the Mac, but tricky on Windows!); powerful MIDI message classes; MIDI file load/save; connectable audio-processing nodes including sample-rate conversion.
Networking - URL handling; http and ftp reader streams; launching default browsers, etc.
Easy to integrate - JUCE is a static library so your application can run as a stand-alone executable - no extra dlls to install, nothing for users to mess up! In your application, you'll just need to include one header file: "juce.h" and that's it - no platform-specific code or any other headers needed.

JUCE 1.21 keywords