The framework that forms the Contextual or "Soft Selection' enabled Interface is provided by:
ViewPort, ContextItem, ContextPointer, Command, InputEngine and the Qt Undo Framework.
The Qt Undo Framework and the Command class account for the 'History' framework in Traverso.
The ViewPort, ContextPointer, InputEngine and Command classes together also make it possible to create 'analog' type of actions.
The actual implementation for analog actions is done by reimplementing the virtual Command::jog() function.
The traversoengine library provides a driver abstraction
for the audio hardware, currently ALSA, PortAudio and Jack are supported as drivers.
The Tsar class (singleton) is the key behind lockless, thus non blocking removing and adding of audio processing objects in the audio processing chain.
The AddRemove Command class has to be used for adding/removing items to/from ContextItem objects.
This class detects if the add/remove function can be called directly, or in a thread save way, and uses therefore the Tsar class, and the Sheet object in case it was given as a parameter.
See for more information the AddRemove, AudioDevice and Tsar class documentation.
1.5.3