slabwire Reference Manual

logo.gif

Joel D. Miller


This reference manual describes the slabwire architecture and API. The main slabwire classes and how they fit together are shown in the slabwire class diagram below. The classes not shown are primarily for internal support. slabwire has several levels of use (listed high to low):

  1. SRAPI: SRAPI users use the CSSI (Sample Stream In) subclasses to control a sound source's sample stream. This use is demonstrated in the slabcon and SLABScape projects.
  2. slabwire StreamIn-DSP-StreamOut framework: This framework supports the construction of a general-purpose audio signal processing chain. Users typically allocate one or more StreamIns, one or more StreamOuts, and a CDSP. This use is demonstrated in the SLABWireDemo project.
  3. Generator Plugins: Generator plugins (CGPlugIn subclasses) allow for the construction of custom signal generators for use by SRAPI (SrcAllocGen()) and slabwire (CSIGen). The gslab and gstk projects demonstrate construction and the slabcon and SLABScape projects demonstrate use.
  4. Render Plugins: Render plugins (CRPlugIn subclasses) allow for the construction of custom renderers for use by SRAPI (RenderEnum(), etc.) or slabwire (BeginThread(), Function()). Several SRAPI render plugin projects are included in the slab3d release. rmyplugin is the simplest. Note, the built-in render plugins (Spatial, etc.) are in the srapi project. The code is formatted similar to an extension plugin. SLABWireDemo demonstrates the construction and use of a slabwire render plugin. Note: Unlike generator plugins, SRAPI and slabwire render plugins are not interchangable. SRAPI render plugins are in DLLs, slabwire render plugins are objects.
  5. slabwire direct class access: The slabwire classes can be used outside of the framework to support a subset of the framework functionality, such as sample input alone. This use is demonstrated in the slabwcon application.

Note:
The slabwire Reference Manual is a work in progress. Some sections are incomplete. The SLABWireDemo and slabwcon source code is the best alternative.
The documentation generation tool doxygen was used to generate this manual from source code comments.

See also:
SRAPI Reference Manual
slabwire Reference Manual v6.5.0
Copyright (C) 2006-2009 Joel D. Miller. All Rights Reserved.


slabwire_classes.png

slabwire Reference Manual generated Fri Nov 20 18:49:46 2009 by doxygen 1.5.9