CSL  6.0
csl::VSTIO Class Reference

VSTIO is an IO that answers the VST processReplacing() call by calling its CSL graph. More...

#include <VSTIO.h>

+ Inheritance diagram for csl::VSTIO:

Public Member Functions

 VSTIO ()
 Constructor. More...
 
 VSTIO (audioMasterCallback audioMaster, unsigned s_rate=44100, unsigned b_size=512, unsigned in_chans=2, unsigned out_chans=2)
 
virtual ~VSTIO ()
 
void open () throw (CException)
 open/close start/stop methods More...
 
void close () throw (CException)
 open/close start/stop methods More...
 
void start () throw (CException)
 start my timer thread More...
 
void stop () throw (CException)
 stop the timer thread More...
 
virtual void processReplacing (float **inputs, float **outputs, VstInt32 sampleFrames)
 
virtual void processDoubleReplacing (double **inputs, double **outputs, VstInt32 sampleFrames)
 
virtual void setProgramName (char *name)
 
virtual void getProgramName (char *name)
 
virtual void setParameter (VstInt32 index, float value)
 
virtual float getParameter (VstInt32 index)
 
virtual void getParameterLabel (VstInt32 index, char *label)
 
virtual void getParameterDisplay (VstInt32 index, char *text)
 
virtual void getParameterName (VstInt32 index, char *text)
 
virtual bool getEffectName (char *name)
 
virtual bool getVendorString (char *text)
 
virtual bool getProductString (char *text)
 
virtual VstInt32 getVendorVersion ()
 
virtual void test () throw (CException)
 
virtual void capture_on (float dur)
 test the IO's graph More...
 
virtual void capture_off ()
 end output capture More...
 
virtual Bufferget_capture ()
 answer the capture buffer More...
 
void setRoot (UnitGenerator &root)
 set/clear my graph root generator More...
 
void clearRoot ()
 
void pullInput (Buffer &outBuffer, SampleBuffer out=0) throw (CException)
 get a buffer from the CSL graph More...
 
virtual BuffergetInput () throw (CException)
 Get the current input from the sound card. More...
 
virtual BuffergetInput (unsigned numFrames, unsigned numChannels) throw (CException)
 
unsigned getAndIncrementSequence ()
 increment and answer my seq # More...
 
void printTimeStatistics (struct timeval *tthen, struct timeval *tnow, long *tsecond, long *ttimeSum, long *ttimeVals)
 
void attachObserver (Observer *)
 (possibly notify obersvers on my death) More...
 
void detachObserver (Observer *)
 
void changed (void *argument)
 this is what I send to myself to notify my observers; It's not overridden in general. It results in the observers receiving update() calls < override evaluate to filter updates to the observer map More...
 
virtual int evaluate (void *argument)
 

Public Attributes

UnitGeneratormGraph
 the root of my client DSP graph, often a mixer or panner More...
 
Buffer mInputBuffer
 the most recent input buffer (if it's turned on) More...
 
Buffer mOutputBuffer
 the output buffer I use (passed to nextBuffer calls) More...
 
Buffer mCaptureBuffer
 the output buffer I use for capturing output (for testing) More...
 
SampleBuffer mInputPointer
 the buffer for holding the sound card input (if open) More...
 
unsigned * mChannelMap
 the output channel remapping array More...
 
unsigned mNumFramesPlayed
 counter of frames I've played More...
 
unsigned mSequence
 sequence counter More...
 
unsigned mLoggingPeriod
 logging period in seconds More...
 
unsigned mNumInChannels
 

inputs

More...
 
unsigned mNumOutChannels
 

outputs

More...
 
unsigned mNumRealInChannels
 

physical inputs

More...
 
unsigned mNumRealOutChannels
 

physical outputs

More...
 
IO_Status mStatus
 status flag More...
 
bool mInterleaved
 flag if IO is interleaved More...
 
unsigned mOffset
 used for capture offset More...
 
struct timeval mThen mNow
 used for getting the real time More...
 
long mTimeVals
 
long mThisSec
 
long mTimeSum
 for printing run-time statistics More...
 
float mUsage
 cpu usage % print the CPU usage message More...
 

Protected Member Functions

virtual void initialize (unsigned sr, unsigned bs, int is, int os, unsigned ic, unsigned oc)
 initialize overridden in subclasses More...
 

Protected Attributes

InOutmInOut
 the in-out object More...
 
FiltermFilter
 BPF filter. More...
 
float mFreq
 Example: filter center freq. More...
 
float maxSampEver
 

Detailed Description

VSTIO is an IO that answers the VST processReplacing() call by calling its CSL graph.

Definition at line 21 of file VSTIO.h.

Constructor & Destructor Documentation

VSTIO::VSTIO ( )

Constructor.

Definition at line 17 of file VSTIO.cpp.

VSTIO::VSTIO ( audioMasterCallback  audioMaster,
unsigned  s_rate = 44100,
unsigned  b_size = 512,
unsigned  in_chans = 2,
unsigned  out_chans = 2 
)

Definition at line 19 of file VSTIO.cpp.

References BW_BAND_PASS, kNoProc, mFilter, mInOut, csl::IO::mInterleaved, and csl::IO::setRoot().

VSTIO::~VSTIO ( )
virtual

Definition at line 42 of file VSTIO.cpp.

Member Function Documentation

void VSTIO::open ( )
throw (CException
)
virtual

open/close start/stop methods

Reimplemented from csl::IO.

Definition at line 46 of file VSTIO.cpp.

void VSTIO::close ( )
throw (CException
)
virtual

open/close start/stop methods

Reimplemented from csl::IO.

Definition at line 48 of file VSTIO.cpp.

void VSTIO::start ( )
throw (CException
)
virtual

start my timer thread

Reimplemented from csl::IO.

Definition at line 50 of file VSTIO.cpp.

void VSTIO::stop ( )
throw (CException
)
virtual

stop the timer thread

Reimplemented from csl::IO.

Definition at line 52 of file VSTIO.cpp.

void VSTIO::processReplacing ( float **  inputs,
float **  outputs,
VstInt32  sampleFrames 
)
virtual
virtual void csl::VSTIO::processDoubleReplacing ( double **  inputs,
double **  outputs,
VstInt32  sampleFrames 
)
inlinevirtual

Definition at line 36 of file VSTIO.h.

void VSTIO::setProgramName ( char *  name)
virtual

Definition at line 56 of file VSTIO.cpp.

References csl::IO::mGraph.

void VSTIO::getProgramName ( char *  name)
virtual

Definition at line 60 of file VSTIO.cpp.

void VSTIO::setParameter ( VstInt32  index,
float  value 
)
virtual

Definition at line 67 of file VSTIO.cpp.

References mFilter, and csl::FrequencyAmount::setFrequency().

float VSTIO::getParameter ( VstInt32  index)
virtual
void VSTIO::getParameterLabel ( VstInt32  index,
char *  label 
)
virtual

Definition at line 81 of file VSTIO.cpp.

void VSTIO::getParameterDisplay ( VstInt32  index,
char *  text 
)
virtual

Definition at line 85 of file VSTIO.cpp.

References mFreq.

void VSTIO::getParameterName ( VstInt32  index,
char *  text 
)
virtual

Definition at line 89 of file VSTIO.cpp.

bool VSTIO::getEffectName ( char *  name)
virtual

Definition at line 93 of file VSTIO.cpp.

bool VSTIO::getVendorString ( char *  text)
virtual

Definition at line 98 of file VSTIO.cpp.

bool VSTIO::getProductString ( char *  text)
virtual

Definition at line 103 of file VSTIO.cpp.

VstInt32 VSTIO::getVendorVersion ( )
virtual

Definition at line 108 of file VSTIO.cpp.

virtual void csl::IO::test ( )
throw (CException
)
inlinevirtualinherited

Reimplemented in csl::FileIO, and csl::PAIO.

Definition at line 763 of file CSL_Core.h.

void IO::capture_on ( float  dur)
virtualinherited
void IO::capture_off ( )
virtualinherited

end output capture

Definition at line 1544 of file CSL_Core.cpp.

References csl::IO::mCaptureBuffer, and csl::Buffer::setSize().

Referenced by test_convolution_file().

Buffer * IO::get_capture ( )
virtualinherited

answer the capture buffer

Definition at line 1550 of file CSL_Core.cpp.

References csl::IO::mCaptureBuffer.

Referenced by test_convolution_file().

Buffer & IO::getInput ( )
throw (CException
)
virtualinherited

Get the current input from the sound card.

Reimplemented in csl::FileIO, csl::AUIO, csl::AUIO, and csl::NullIO.

Definition at line 1517 of file CSL_Core.cpp.

References csl::IO::mInputBuffer, csl::Buffer::mNumChannels, and csl::Buffer::mNumFrames.

Buffer & IO::getInput ( unsigned  numFrames,
unsigned  numChannels 
)
throw (CException
)
virtualinherited

Reimplemented in csl::FileIO, csl::AUIO, csl::AUIO, and csl::NullIO.

Definition at line 1523 of file CSL_Core.cpp.

References csl::Interleaver::deinterleave(), and mNumInChannels.

unsigned IO::getAndIncrementSequence ( )
inherited

increment and answer my seq #

Definition at line 1418 of file CSL_Core.cpp.

References csl::IO::mSequence.

void IO::printTimeStatistics ( struct timeval *  tthen,
struct timeval *  tnow,
long *  tsecond,
long *  ttimeSum,
long *  ttimeVals 
)
inherited
virtual void csl::IO::initialize ( unsigned  sr,
unsigned  bs,
int  is,
int  os,
unsigned  ic,
unsigned  oc 
)
inlineprotectedvirtualinherited

initialize overridden in subclasses

Reimplemented in csl::PAIO.

Definition at line 805 of file CSL_Core.h.

void Model::attachObserver ( Observer o)
inherited

(possibly notify obersvers on my death)

register/remove observers

Definition at line 502 of file CGestalt.cpp.

References csl::logMsg(), csl::Observer::mKey, and csl::Observer::mPeriod.

Referenced by CSLMIDIComponent::CSLMIDIComponent(), and csl::SpatialPanner::setSpeakerLayout().

void Model::detachObserver ( Observer o)
inherited
void Model::changed ( void *  argument)
inherited

this is what I send to myself to notify my observers; It's not overridden in general. It results in the observers receiving update() calls < override evaluate to filter updates to the observer map

Definition at line 540 of file CGestalt.cpp.

References csl::logMsg().

Referenced by csl::SpeakerLayout::addSpeaker(), csl::MIDIIn::handleIncomingMidiMessage(), and csl::SpeakerLayout::setDefaultSpeakerLayout().

virtual int csl::Model::evaluate ( void *  argument)
inlinevirtualinherited

Reimplemented in csl::MIDIIn.

Definition at line 270 of file CGestalt.h.

Member Data Documentation

InOut* csl::VSTIO::mInOut
protected

the in-out object

Definition at line 55 of file VSTIO.h.

Referenced by VSTIO().

Filter* csl::VSTIO::mFilter
protected

BPF filter.

Definition at line 56 of file VSTIO.h.

Referenced by getParameter(), setParameter(), and VSTIO().

float csl::VSTIO::mFreq
protected

Example: filter center freq.

Definition at line 57 of file VSTIO.h.

Referenced by getParameterDisplay().

Buffer csl::IO::mOutputBuffer
inherited
Buffer csl::IO::mCaptureBuffer
inherited

the output buffer I use for capturing output (for testing)

Definition at line 780 of file CSL_Core.h.

Referenced by csl::IO::capture_off(), csl::IO::capture_on(), and csl::IO::get_capture().

SampleBuffer csl::IO::mInputPointer
inherited

the buffer for holding the sound card input (if open)

Definition at line 781 of file CSL_Core.h.

Referenced by pa_callback().

unsigned* csl::IO::mChannelMap
inherited

the output channel remapping array

Definition at line 782 of file CSL_Core.h.

Referenced by csl::PAIO::initialize().

unsigned csl::IO::mNumFramesPlayed
inherited

counter of frames I've played

Definition at line 784 of file CSL_Core.h.

Referenced by csl::JUCEIO::audioDeviceIOCallback(), pa_callback(), RenderCallback(), csl::AUIO::start(), and csl::FileIO::writeNextBuffer().

unsigned csl::IO::mSequence
inherited

sequence counter

Definition at line 785 of file CSL_Core.h.

Referenced by csl::IO::getAndIncrementSequence().

unsigned csl::IO::mLoggingPeriod
inherited

logging period in seconds

Definition at line 786 of file CSL_Core.h.

Referenced by csl::IO::printTimeStatistics().

unsigned csl::IO::mNumInChannels
inherited

inputs

Definition at line 787 of file CSL_Core.h.

Referenced by csl::JUCEIO::audioDeviceIOCallback(), csl::PAIO::initialize(), and pa_callback().

unsigned csl::IO::mNumOutChannels
inherited
unsigned csl::IO::mNumRealInChannels
inherited

physical inputs

Definition at line 789 of file CSL_Core.h.

Referenced by csl::PAIO::initialize().

unsigned csl::IO::mNumRealOutChannels
inherited

physical outputs

Definition at line 790 of file CSL_Core.h.

Referenced by csl::PAIO::initialize().

bool csl::IO::mInterleaved
inherited

flag if IO is interleaved

Definition at line 792 of file CSL_Core.h.

Referenced by csl::InOut::InOut(), and VSTIO().

unsigned csl::IO::mOffset
inherited

used for capture offset

Definition at line 793 of file CSL_Core.h.

Referenced by csl::IO::capture_on(), and test_convolution_file().

struct timeval mThen csl::IO::mNow
inherited

used for getting the real time

Definition at line 796 of file CSL_Core.h.

Referenced by csl::FileIO::threadFunction().

long csl::IO::mTimeVals
inherited
long csl::IO::mThisSec
inherited
long csl::IO::mTimeSum
inherited

for printing run-time statistics

Definition at line 797 of file CSL_Core.h.

Referenced by csl::AUIO::open(), csl::FileIO::open(), csl::PAIO::open(), and csl::FileIO::threadFunction().

float csl::IO::mUsage
inherited

cpu usage % print the CPU usage message

Definition at line 798 of file CSL_Core.h.

Referenced by csl::IO::printTimeStatistics().

float csl::IO::maxSampEver
protectedinherited

Definition at line 805 of file CSL_Core.h.

Referenced by csl::IO::printTimeStatistics().


The documentation for this class was generated from the following files: