CSL  6.0
csl::Window Class Reference

Window; The superclass of all other window function classes in CSL. Subclasses need only to implement the fillWindow(); and the Constructors. More...

#include <Window.h>

+ Inheritance diagram for csl::Window:

Public Member Functions

 Window ()
 Creates a window using the default Gestalt size and a gain of 1; < Creates a window (hann) with the specified size and gain (gain is optional). More...
 
 Window (unsigned windowSize, float gain=1)
 
 ~Window ()
 clean-up . . . free the allocated buffer that held the window data. More...
 
void setSize (unsigned windowSize)
 Set the number of samples the window spans. More...
 
void setGain (float gain)
 Set the gain to which the window should be normalized. More...
 
SampleBuffer window ()
 
void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)
 Returns a pointer to the window data. More...
 
void dump ()
 Print some info about the window. More...
 
unsigned frameRate ()
 
void setFrameRate (unsigned rate)
 get/set the receiver's frame rate More...
 
virtual unsigned numChannels ()
 
void setNumChannels (unsigned ch)
 get/set the receiver's number of outputs More...
 
BufferCopyPolicy copyPolicy ()
 
void setCopyPolicy (BufferCopyPolicy ch)
 get/set the receiver's buffer copy policy More...
 
virtual void nextBuffer (Buffer &outputBuffer) throw (CException)
 get a buffer of Frames – this is the core CSL "pull" function; the given buffer can be written into, and a changed() message is sent. More...
 
virtual bool isFixed ()
 query whether I'm fixed (StaticVariable overrides this) More...
 
virtual bool isActive ()
 query whether I'm currently active (Envelopes can go inactive) More...
 
void addOutput (UnitGenerator *ugen)
 add to or return the UGen vector of outputs More...
 
void removeOutput (UnitGenerator *ugen)
 
UGenVector outputs ()
 
virtual unsigned numOutputs ()
 
bool checkFanOut (Buffer &outputBuffer) throw (CException)
 check for fan-out and copy previous buffer; return true if fanning out More...
 
void handleFanOut (Buffer &outputBuffer) throw (CException)
 
virtual void setValue (sample theValue)
 set/get the value (not allowed in the abstract, useful for static values) More...
 
virtual sample value ()
 
virtual void trigger ()
 
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)
 

Protected Member Functions

virtual void fillWindow ()
 subclasses override this to fill the buffer with corresponding function. More...
 
void zeroBuffer (Buffer &outputBuffer, unsigned outBufNum)
 utility method to zero out an outputBuffer More...
 

Protected Attributes

Buffer mWindowBuffer
 used to store the window More...
 
unsigned mWindowBufferPos
 where am I in the window buffer More...
 
unsigned mWindowSize
 length in samples of the window More...
 
float mGain
 gain for the window More...
 
unsigned mFrameRate
 trigger ignored here More...
 
unsigned mNumChannels
 my "expected" number of output channels More...
 
BufferCopyPolicy mCopyPolicy
 the policy I use if asked for more or fewer channels More...
 
UGenVector mOutputs
 the vector of my output UGens More...
 
unsigned mNumOutputs
 the number of outputs More...
 
BuffermOutputCache
 my past output ring buffer (only used in case of fan-out) More...
 
unsigned mSequence
 the highest-seen buffer seq number More...
 

Detailed Description

Window; The superclass of all other window function classes in CSL. Subclasses need only to implement the fillWindow(); and the Constructors.

Definition at line 30 of file Window.h.

Constructor & Destructor Documentation

Window::Window ( )

Creates a window using the default Gestalt size and a gain of 1; < Creates a window (hann) with the specified size and gain (gain is optional).

Definition at line 11 of file Window.cpp.

References csl::CGestalt::blockSize(), and setSize().

Window::Window ( unsigned  windowSize,
float  gain = 1 
)

Definition at line 17 of file Window.cpp.

References setSize().

Window::~Window ( )

clean-up . . . free the allocated buffer that held the window data.

Definition at line 21 of file Window.cpp.

References csl::Buffer::freeBuffers(), and mWindowBuffer.

Member Function Documentation

void Window::setSize ( unsigned  windowSize)

Set the number of samples the window spans.

Definition at line 30 of file Window.cpp.

References csl::Buffer::allocateBuffers(), fillWindow(), csl::Buffer::freeBuffers(), mWindowBuffer, mWindowBufferPos, mWindowSize, and csl::Buffer::setSize().

Referenced by Window().

void Window::setGain ( float  gain)

Set the gain to which the window should be normalized.

Definition at line 25 of file Window.cpp.

References fillWindow(), and mGain.

SampleBuffer csl::Window::window ( )
inline

Definition at line 39 of file Window.h.

References csl::Buffer::buffer(), and mWindowBuffer.

Referenced by csl::FFT::FFT().

void Window::nextBuffer ( Buffer outputBuffer,
unsigned  outBufNum 
)
throw (CException
)
virtual

Returns a pointer to the window data.

get everything into registers

Reimplemented from csl::UnitGenerator.

Definition at line 40 of file Window.cpp.

References csl::logMsg().

void Window::dump ( void  )
virtual

Print some info about the window.

Reimplemented from csl::UnitGenerator.

Definition at line 130 of file Window.cpp.

References csl::logMsg(), and mWindowSize.

void Window::fillWindow ( )
protectedvirtual

subclasses override this to fill the buffer with corresponding function.

Reimplemented in csl::WelchWindow, csl::BlackmanHarrisWindow, csl::BlackmanWindow, csl::HannWindow, csl::HammingWindow, csl::TriangularWindow, and csl::RectangularWindow.

Definition at line 58 of file Window.cpp.

References csl::Buffer::buffer(), CSL_TWOPI, mWindowBuffer, and mWindowSize.

Referenced by setGain(), and setSize().

unsigned csl::UnitGenerator::frameRate ( )
inlineinherited
void csl::UnitGenerator::setFrameRate ( unsigned  rate)
inlineinherited

get/set the receiver's frame rate

Definition at line 250 of file CSL_Core.h.

References csl::UnitGenerator::mFrameRate.

void csl::UnitGenerator::setNumChannels ( unsigned  ch)
inlineinherited

get/set the receiver's number of outputs

Definition at line 253 of file CSL_Core.h.

References csl::UnitGenerator::mNumChannels.

Referenced by csl::BinauralPanner::BinauralPanner(), csl::Spatializer::Spatializer(), csl::VBAP::speakerLayoutChanged(), and csl::VBAP::VBAP().

BufferCopyPolicy csl::UnitGenerator::copyPolicy ( )
inlineinherited

Definition at line 255 of file CSL_Core.h.

References csl::UnitGenerator::mCopyPolicy.

void csl::UnitGenerator::setCopyPolicy ( BufferCopyPolicy  ch)
inlineinherited
virtual bool csl::UnitGenerator::isFixed ( )
inlinevirtualinherited

query whether I'm fixed (StaticVariable overrides this)

Reimplemented in csl::StaticVariable, and csl::BinaryOp.

Definition at line 271 of file CSL_Core.h.

virtual bool csl::UnitGenerator::isActive ( )
inlinevirtualinherited
UGenVector csl::UnitGenerator::outputs ( )
inlineinherited

Definition at line 277 of file CSL_Core.h.

References csl::UnitGenerator::mOutputs.

virtual unsigned csl::UnitGenerator::numOutputs ( )
inlinevirtualinherited

Definition at line 278 of file CSL_Core.h.

References csl::UnitGenerator::mNumOutputs.

bool UnitGenerator::checkFanOut ( Buffer outputBuffer)
throw (CException
)
inherited

check for fan-out and copy previous buffer; return true if fanning out

Definition at line 699 of file CSL_Core.cpp.

void UnitGenerator::handleFanOut ( Buffer outputBuffer)
throw (CException
)
inherited

Definition at line 713 of file CSL_Core.cpp.

References csl_max.

virtual void csl::UnitGenerator::setValue ( sample  theValue)
inlinevirtualinherited

set/get the value (not allowed in the abstract, useful for static values)

Reimplemented in csl::DynamicVariable, and csl::StaticVariable.

Definition at line 284 of file CSL_Core.h.

virtual sample csl::UnitGenerator::value ( )
inlinevirtualinherited

Reimplemented in csl::StaticVariable.

Definition at line 285 of file CSL_Core.h.

virtual void csl::UnitGenerator::trigger ( void  )
inlinevirtualinherited
void UnitGenerator::zeroBuffer ( Buffer outputBuffer,
unsigned  outBufNum 
)
protectedinherited

utility method to zero out an outputBuffer

Definition at line 663 of file CSL_Core.cpp.

References csl::Buffer::buffer(), and csl::Buffer::mMonoBufferByteSize.

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

unsigned csl::Window::mWindowBufferPos
protected

where am I in the window buffer

Definition at line 46 of file Window.h.

Referenced by setSize().

BufferCopyPolicy csl::UnitGenerator::mCopyPolicy
protectedinherited

the policy I use if asked for more or fewer channels

Definition at line 293 of file CSL_Core.h.

Referenced by csl::UnitGenerator::copyPolicy(), and csl::UnitGenerator::setCopyPolicy().

UGenVector csl::UnitGenerator::mOutputs
protectedinherited
unsigned csl::UnitGenerator::mNumOutputs
protectedinherited

the number of outputs

Definition at line 295 of file CSL_Core.h.

Referenced by csl::UnitGenerator::addOutput(), csl::UnitGenerator::numOutputs(), and csl::UnitGenerator::removeOutput().

Buffer* csl::UnitGenerator::mOutputCache
protectedinherited

my past output ring buffer (only used in case of fan-out)

Definition at line 296 of file CSL_Core.h.

Referenced by csl::UnitGenerator::addOutput().

unsigned csl::UnitGenerator::mSequence
protectedinherited

the highest-seen buffer seq number

Definition at line 297 of file CSL_Core.h.


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