My favorites | Sign in
Project Logo
             
Search
for
Updated Dec 13, 2008 by t...@electrotap.com
Labels: Featured, Phase-Deploy
ChangeLog  
Log of changes for each release of TTBlue.

Version 0.5.4

13 December 2008 -- Rev 925

This release includes lots of housekeeping, cleaning-up, etc. throughout TTBlue, and also includes a number of changes that were desirable to support for the Jamoma Multicore project.

The way all audio processing methods are implemented has changed, and all audio objects have been modified. All audio objects now implement their process methods as taking an array of input audio signals and an array of output audio signals. Sidechains and sidechain process methods have been eliminated. This change is required for allowing the creation of objects that can operate on any number of multichannel signals, for example to create an audio-mixing matrix object.

Additionally, new thread-safety measures have been taken which require that all objects deriving from TTObject be created and destroyed using the factory methods TTObjectInstantiate() and TTObjectRelease(). Using the new and delete C++ operators is unsupported for these objects and will carry the potential for causing trouble.

Core

  • Now using PortAudio to interface with audio drivers on the host system.
  • New TTAudioEngine class can manage the processing of dsp graphs by wrapping audio drivers etc for the entire environment.
  • Implemented the registration (and unregistration) of object observers. A notification is sent to observers when freeing objects.
  • All audio processing methods now operate on TTAudioSignalArrayPtr params rather than TTAudioSignalPtr params.
  • Ensuring that on Windows there are no dependencies on the MSVCR DLL.
  • TTObject locks can now function in recursive situations.
  • Fix for major source of memory leaks where all objects created would be leaked because the reference count was being checked on the environment object, not on the actual object whose reference count had reached zero.
  • New TTInfWrap() and TTFold() functions to wrap and fold numbers within a specific range.
  • TTList: new method for sending a message to every object in the list.
  • TTList: new appendUnique method for ensuring added items are unique.
  • TTList: findEquals method now works correctly
  • TTAudioSignal: when copying a signal with more outputs than inputs, the extra outputs are now set to zeros.
  • TTAudioSignal: now has a += operator for mixing a signal vector with another signal vector.
  • TTAudioSignal: bitdepth field is now properly set when a signal is allocated.
  • Log messages now properly make it to the console
  • TTAudioObject::setMaxNumChannels is now publicly accessible.

Units

  • TTOperator: fixed bug where initial operand and operator values were reversed.
  • TTDelay: fixed a variety of major bugs
  • TTLimiter: fixed crash due to improper number of channels being initialized for contained objects.

Version 0.5.3

16 October 2008 -- Rev 784

Core

Extensions

Units

Examples

Version 0.5.2

12 July 2008 -- Rev 560

Core

Units

Examples

Version 0.5.1

25 May 2008 -- Rev 468

Version 0.5

22 May 2008 -- Rev 450

Complete re-write. This version merges ideas from the version 0.3 and 0.4 branches, but is overhauled from the ground up in C++.

Version 0.4

Unreleased

This version featured an entire library re-written in Objective-C. All attribute and value systems were thus handled by Objective-C's Foundation classes. Clearer implementation of multichannel audio input/output than in 0.3.x. Also generating real documentation of the entire library for the first time. Work on this line of development has been abandoned.

Version 0.3

Unreleased

This version used a new tt_value class for passing values, and the new tt_audio_bundle class for bundles of audio signals instead of individual audio signals. Work on this line of development has halted.

Version 0.2.5

25 February 2007

Version 0.2.1

21 June 2005

Version 0.2

Version 0.1.1

Version 0.1


Sign in to add a comment
Hosted by Google Code