This version of Tremolo is derived from Tremolo library version 0.07. It has been patched against publicly known vulnerabilities with sample files available here: http://static.dataspill.org/releases/ogg/examples/ When syncing with svn, please ensure that these defects are not reintroduced. --------------------------------------------------------------------------- This README covers the Tremolo library, version 0.07. Tremolo is a modified version of the Ogg Vorbis 'Tremor' integer playback codec, branching from 1.0.2 of the low memory branch of that source from svn. Tremolo is released under different licenses to Tremor. Tremor is released under a BSD like license (see the original README included below, and other documentation for an exact statement of its licensing terms). Tremolo is released under twin licenses. Firstly it is released under the GPL (v2) - this is so that fully GPLd software such as ScummVM may use it with no problems. Secondly it is released under a homebrew license of my own. If you want to use Tremolo in free(*) software, you may do so without charge. If you want to use Tremolo in non-free(*) software then you must contact me and come to an agreement first. * Free software, for the purposes of this definition is defined to be software that is given away for free to anyone, with no more than a nominal charge for media permitted. Software that comes bundled with hardware, or is tied to specific hardware is NOT free. Software given away only on magazine discs, or only to subscribers for another service is NOT free (though software which is given away to everyone clearly may be included on magazine discs or given to subscribers). Shareware is NOT free, but reasonably priced shareware will generally get permission to use it as it it was free by contacting me first. If in doubt about whether your software counts as 'free' or not, contact me. (In fact, contact me if you use the software in anything, it'd be nice to know!) I am not looking to make my fortune with this, but if (say) Apple wanted to put it in the firmware for an iPod, it'd be nice to get something for my efforts. I Am Not A Lawyer, so all this is probably horribly unclear. If anyone wants to hire me a lawyer for the afternoon, we can formalise it. Robin Watts tremolo@wss.co.uk ---------------------------------------------------------------------- This README covers the Ogg Vorbis 'Tremor' integer playback codec source as of date 2002 09 02, version 1.0.0. ****** The C source in this package will build on any ANSI C compiler and function completely and properly on any platform. The included build system assumes GNU build system and make tools (m4, automake, autoconf, libtool and gmake). GCC is not required, although GCC is the most tested compiler. To build using GNU tools, type in the source directory: ./autogen.sh make Currently, the source implements playback in pure C on all platforms except ARM, where a [currently] small amount of assembly (see asm_arm.h) is used to implement 64 bit math operations and fast LSP computation. If building on ARM without the benefit of GNU build system tools, be sure that '_ARM_ASSEM_' is #defined by the build system if this assembly is desired, else the resulting library will use whatever 64 bit math builtins the compiler implements. No math library is required by this source. No floating point operations are used at any point in either setup or decode. This decoder library will properly decode any past, current or future Vorbis I file or stream. ******** The build system produces a static and [when supported by the OS] dynamic library named 'libvorbisidec'. This library exposes an API nearly identical to the BSD reference library's 'libvorbisfile', including all the features familiar to users of vorbisfile. This API is similar enough that the proper header file to include is named 'ivorbisfile.h' [included in the source build directory]. Lower level libvorbis-style headers and structures are in 'ivorbiscodec.h' [included in the source build directory]. A simple example program, ivorbisfile_example.c, can be built with 'make example'. ******** Detailed Tremor API Documentation begins at doc/index.html Monty xiph.org