CSL
6.0
|
Here's the abstract sound file reader/writer class, a sample player UGen. The concrete subclasses represent sound file APIs, not individual formats. More...
#include <SoundFile.h>
Public Member Functions | |
Abst_SoundFile (string path, int start=-1, int stop=-1) | |
Constructor. Values not passed default to null. More... | |
Abst_SoundFile (Abst_SoundFile &otherSndFile) | |
Copy constructor – shares sample buffer. More... | |
~Abst_SoundFile () | |
virtual void | openForRead (bool load=true)=0 throw (CException) |
virtual void | openForWrite (SoundFileFormat format=kSoundFileFormatAIFF, unsigned channels=1, unsigned rate=44100, unsigned bitDepth=16)=0 throw (CException) |
Open a file for writing. Default values are some common format. More... | |
virtual unsigned | seekTo (int position, SeekPosition whence)=0 throw (CException) |
seek to some position relative to "whence" More... | |
unsigned | seekTo (int position) throw (CException) |
read a buffer from the file (possibly all of it) More... | |
virtual void | readBufferFromFile (unsigned numFr)=0 |
virtual void | nextBuffer (Buffer &outB) throw (CException) |
UGen operations are implemented here copy next buffer from file cache. More... | |
virtual void | writeBuffer (Buffer &inB)=0 throw (CException) |
write a buffer of data into the file More... | |
virtual void | writeBuffer (Buffer &inB, unsigned fromFrame, unsigned toFrame)=0 throw (CException) |
virtual SampleBuffer | buffer (unsigned bufNum) |
unsigned | channels () const |
accessors More... | |
unsigned | duration () |
float | durationInSecs () |
number of frames in the sound file More... | |
unsigned | sampleSize () |
get the bytes-per-sample More... | |
SoundFileMode | mode () |
r/w mode More... | |
unsigned | cacheSize () |
size in frames of cached portion More... | |
void | mergeToMono () |
average all the channels to mono More... | |
virtual void | setToEnd () |
set to end position More... | |
virtual void | trigger () |
reset to start More... | |
virtual void | close ()=0 |
close file More... | |
virtual void | freeBuffer () |
free the file cache More... | |
void | convertRate (int fromRate, int toRate) |
perform sample-rate conversion More... | |
bool | isValid () |
answer if a valid file/buffer More... | |
bool | isActive () |
answer if currently active More... | |
virtual bool | isCached () |
answer if file is loaded into RAM More... | |
virtual bool | isCached (unsigned samps) |
answer if file has X samples in RAM More... | |
virtual void | setPath (string path) |
set file name path string More... | |
string | path () |
file name More... | |
virtual void | dump () |
log snd file props More... | |
int | startFrame () |
get/set start frame More... | |
void | setStart (int val) |
void | setStartSec (float val) |
void | setStartRatio (float val) |
int | stopFrame () |
get/set stop frame More... | |
void | setStop (int val) |
void | setStopSec (float val) |
void | setStopRatio (float val) |
void | setBase (int val) |
unsigned int | base () |
double | playbackRate () |
playback rate (pitch ratio) More... | |
void | setRate (UnitGenerator &frequency) |
set the receiver's playback rate (pitch ratio) More... | |
void | setRate (float frequency) |
bool | isLooping () |
get/set looping state More... | |
void | setIsLooping (bool tLooping) |
void | setWaveform (Buffer &wave, bool freeBufs=true) |
plug in waveforms set the interpolation flag More... | |
void | setInterpolate (InterpolationPolicy whether) |
virtual void | nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException) |
really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times 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 bool | isFixed () |
query whether I'm fixed (StaticVariable overrides this) 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 () |
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) |
void | setFrequency (UnitGenerator &frequency) |
Setter accessors. More... | |
void | setFrequency (float frequency) |
set frequency More... | |
void | setPhase (float phase) |
Port * | getPort (CSL_MAP_KEY name) |
void | setScale (UnitGenerator &scale) |
set the receiver's scale member to a UGen or a float More... | |
void | setScale (float scale) |
void | setOffset (UnitGenerator &offset) |
set the receiver's offset member to a UGen or a float More... | |
void | setOffset (float offset) |
void | isScaled () |
answer whether scale = 1 & offset = 0 More... | |
virtual void | reset () throw (CException) |
reset-to-zero More... | |
Static Public Member Functions | |
static bool | isSndfileName (const char *path) |
Answer whether the given name looks like a snd file. More... | |
static SoundFileFormat | sndfileNameType (const char *path) |
Answer the snd file type. More... | |
static const char * | mimeType (const char *path) |
Answer the MIME type based on the file name. More... | |
Public Attributes | |
SoundFileMetadata * | mProperties |
the ID3 tags properties More... | |
InterpolationPolicy | mInterpolate |
whether/how I should interpolate between samples More... | |
Buffer | mWavetable |
the stored wave form More... | |
unsigned | mCurrentFrame |
where I currently am in the buffer More... | |
double | mActualFrame |
where I actually am in the buffer More... | |
Protected Member Functions | |
virtual void | initFromSndfile ()=0 |
read SF header More... | |
void | checkBuffer (unsigned numFrames) |
allocate buffer lazily More... | |
void | checkBuffer (unsigned numChans, unsigned numFrames) |
bool | readTags () throw (CException) |
read the ID3 or other tags. Returns true if able to read them. More... | |
void | fillSine () |
fill the shared wavetable with 1 cycle of a sine wave More... | |
void | zeroBuffer (Buffer &outputBuffer, unsigned outBufNum) |
utility method to zero out an outputBuffer More... | |
void | addInput (CSL_MAP_KEY name, UnitGenerator &ugen) |
Plug in a unit generator to the named input slot. More... | |
void | addInput (CSL_MAP_KEY name, float value) |
Plug in a float to the named input slot. More... | |
void | pullInput (Port *thePort, unsigned numFrames) throw (CException) |
method to read the control values (in case they're dynamic). this sends nextBuffer() to the input. More... | |
void | pullInput (Port *thePort, Buffer &theBuffer) throw (CException) |
virtual void | writeBuffer (Buffer &inputBuffer, unsigned bufNum) throw (CException) |
write to the receiver More... | |
Protected Attributes | |
string | mPath |
file name More... | |
SoundFileMode | mMode |
r/w mode More... | |
SoundFileFormat | mFormat |
sf format More... | |
bool | mIsValid |
is my file valid? More... | |
bool | mIsLooping |
am i looping start-stop? More... | |
int | mStart |
int | mStop |
starting/ending frames (or -1 if not used) More... | |
double | mRate |
sample rate ratio More... | |
unsigned | mNumFrames |
sample framesMore... | |
unsigned | mBytesPerSample |
the # of bytes per sample More... | |
unsigned | mBase |
starting frame in file of buffer 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... | |
Buffer * | mOutputCache |
my past output ring buffer (only used in case of fan-out) More... | |
unsigned | mSequence |
the highest-seen buffer seq number More... | |
sample | mPhase |
set phase More... | |
PortMap | mInputs |
the map of my inputs or controls (used by the mix-in classes) More... | |
Here's the abstract sound file reader/writer class, a sample player UGen. The concrete subclasses represent sound file APIs, not individual formats.
The sound file player is actually a powerful sampler, supporting arbitrary transposition using wavetable interpolation or a sample rate convertor; Sound files are seekable and also writeable.
Definition at line 101 of file SoundFile.h.
Abst_SoundFile::Abst_SoundFile | ( | string | path, |
int | start = -1 , |
||
int | stop = -1 |
||
) |
Constructor. Values not passed default to null.
Copy constructor – shares sample buffer.
Definition at line 111 of file SoundFile.cpp.
Abst_SoundFile::Abst_SoundFile | ( | Abst_SoundFile & | otherSndFile | ) |
Copy constructor – shares sample buffer.
Definition at line 128 of file SoundFile.cpp.
References isCached(), csl::kLogError, csl::logMsg(), csl::Seekable::mCurrentFrame, mPath, csl::WavetableOscillator::mWavetable, path(), setPath(), and csl::WavetableOscillator::setWaveform().
Abst_SoundFile::~Abst_SoundFile | ( | ) |
Definition at line 147 of file SoundFile.cpp.
References mProperties.
|
static |
Answer whether the given name looks like a snd file.
Answer the snd file type.
Definition at line 44 of file SoundFile.cpp.
References gSndFileExts.
|
static |
Answer the snd file type.
Definition at line 60 of file SoundFile.cpp.
References kSoundFileFormatAIFF, kSoundFileFormatOther, kSoundFileFormatSND, and kSoundFileFormatWAV.
Referenced by mimeType().
|
static |
Answer the MIME type based on the file name.
open file and get stats; read it if "load"
Definition at line 98 of file SoundFile.cpp.
References kSoundFileFormatAIFF, kSoundFileFormatWAV, and sndfileNameType().
|
pure virtual |
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
pure virtual |
Open a file for writing. Default values are some common format.
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
pure virtual |
seek to some position relative to "whence"
Implements csl::Seekable.
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
Referenced by setStart(), and trigger().
|
inline |
read a buffer from the file (possibly all of it)
Definition at line 122 of file SoundFile.h.
References csl::kPositionStart, and seekTo().
Referenced by seekTo().
|
pure virtual |
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
virtual |
UGen operations are implemented here copy next buffer from file cache.
Reimplemented from csl::UnitGenerator.
Reimplemented in csl::LSoundFile.
Definition at line 382 of file SoundFile.cpp.
References csl_min, DECLARE_SCALABLE_CONTROLS, LOAD_SCALABLE_CONTROLS, csl::WavetableOscillator::nextBuffer(), and UPDATE_SCALABLE_CONTROLS.
|
pure virtual |
write a buffer of data into the file
Reimplemented from csl::Writeable.
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
pure virtual |
Implemented in csl::LSoundFile, and csl::JSoundFile.
|
inlinevirtual |
Definition at line 134 of file SoundFile.h.
References csl::Buffer::buffer(), and csl::WavetableOscillator::mWavetable.
Referenced by load_filter_data(), csl::Convolver2::setIRFile(), and csl::Convolver::setIRFile().
unsigned Abst_SoundFile::channels | ( | ) | const |
accessors
Definition at line 157 of file SoundFile.cpp.
References mIsValid, and csl::UnitGenerator::mNumChannels.
Referenced by csl::SoundCue::channels(), csl::CASoundFile::dump(), dump(), and csl::SoundCue::dump().
|
inlinevirtual |
Reimplemented from csl::Seekable.
Definition at line 138 of file SoundFile.h.
References mNumFrames.
Referenced by isCached(), setStart(), setStartRatio(), setStop(), and setStopRatio().
float Abst_SoundFile::durationInSecs | ( | ) |
number of frames in the sound file
actual duration of the selected portion in sec
Definition at line 161 of file SoundFile.cpp.
References csl::UnitGenerator::mFrameRate, mIsValid, mStart, and mStop.
Referenced by csl::CASoundFile::dump(), and dump().
|
inline |
|
inline |
|
inline |
size in frames of cached portion
Definition at line 143 of file SoundFile.h.
References csl::Buffer::mNumAlloc, and csl::WavetableOscillator::mWavetable.
void Abst_SoundFile::mergeToMono | ( | ) |
average all the channels to mono
Definition at line 208 of file SoundFile.cpp.
References csl::Buffer::allocateBuffers(), csl::Buffer::buffer(), csl::Buffer::copyFrom(), csl::logMsg(), csl::Buffer::mAreBuffersAllocated, csl::Buffer::mDidIAllocateBuffers, csl::UnitGenerator::mNumChannels, csl::Buffer::mNumFrames, csl::WavetableOscillator::mWavetable, and csl::Buffer::setBuffer().
|
virtual |
set to end position
Definition at line 334 of file SoundFile.cpp.
References csl::Seekable::mCurrentFrame, and mStop.
Referenced by csl::CASoundFile::CASoundFile(), and csl::JSoundFile::JSoundFile().
|
virtual |
reset to start
Reimplemented from csl::UnitGenerator.
Definition at line 322 of file SoundFile.cpp.
References csl::Seekable::mCurrentFrame, mStart, and seekTo().
Referenced by test_convolution().
|
pure virtual |
close file
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
virtual |
free the file cache
Definition at line 165 of file SoundFile.cpp.
References csl::Buffer::freeBuffers(), csl::Buffer::mAreBuffersAllocated, and csl::WavetableOscillator::mWavetable.
Referenced by csl::CASoundFile::close(), csl::JSoundFile::close(), csl::LSoundFile::close(), and csl::LSoundFile::~LSoundFile().
void Abst_SoundFile::convertRate | ( | int | fromRate, |
int | toRate | ||
) |
perform sample-rate conversion
Definition at line 236 of file SoundFile.cpp.
References csl::Buffer::convertRate(), csl::UnitGenerator::mFrameRate, csl::Buffer::mNumFrames, mNumFrames, and csl::WavetableOscillator::mWavetable.
|
inline |
|
virtual |
answer if currently active
Reimplemented from csl::UnitGenerator.
Definition at line 303 of file SoundFile.cpp.
References csl::Seekable::mCurrentFrame, mIsValid, and mStop.
|
virtual |
answer if file is loaded into RAM
answer if file has X samples in RAM
Reimplemented in csl::LSoundFile.
Definition at line 309 of file SoundFile.cpp.
References duration(), csl::Buffer::mNumFrames, and csl::WavetableOscillator::mWavetable.
Referenced by Abst_SoundFile().
|
virtual |
answer if file has X samples in RAM
Reimplemented in csl::LSoundFile.
Definition at line 315 of file SoundFile.cpp.
References csl::Seekable::mCurrentFrame, csl::Buffer::mNumFrames, and csl::WavetableOscillator::mWavetable.
|
virtual |
set file name path string
Definition at line 153 of file SoundFile.cpp.
References mPath.
Referenced by Abst_SoundFile().
|
inline |
file name
Definition at line 158 of file SoundFile.h.
References mPath.
Referenced by Abst_SoundFile(), csl::CASoundFile::dump(), and dump().
|
virtual |
log snd file props
Reimplemented from csl::UnitGenerator.
Reimplemented in csl::CASoundFile.
Definition at line 370 of file SoundFile.cpp.
References channels(), durationInSecs(), csl::UnitGenerator::frameRate(), csl::logMsg(), and path().
|
inline |
void Abst_SoundFile::setStart | ( | int | val | ) |
Definition at line 248 of file SoundFile.cpp.
References duration(), mIsValid, mStart, and seekTo().
Referenced by setStartRatio(), and setStartSec().
void Abst_SoundFile::setStartSec | ( | float | val | ) |
Definition at line 258 of file SoundFile.cpp.
References csl::UnitGenerator::mFrameRate, and setStart().
void Abst_SoundFile::setStartRatio | ( | float | val | ) |
Definition at line 262 of file SoundFile.cpp.
References duration(), and setStart().
|
inline |
void Abst_SoundFile::setStop | ( | int | val | ) |
Definition at line 266 of file SoundFile.cpp.
References duration(), and mStop.
Referenced by setStopRatio(), and setStopSec().
void Abst_SoundFile::setStopSec | ( | float | val | ) |
Definition at line 275 of file SoundFile.cpp.
References csl::UnitGenerator::mFrameRate, and setStop().
void Abst_SoundFile::setStopRatio | ( | float | val | ) |
Definition at line 279 of file SoundFile.cpp.
References duration(), and setStop().
void Abst_SoundFile::setBase | ( | int | val | ) |
Definition at line 283 of file SoundFile.cpp.
References mBase.
|
inline |
Definition at line 170 of file SoundFile.h.
References mBase.
|
inline |
void Abst_SoundFile::setRate | ( | UnitGenerator & | frequency | ) |
set the receiver's playback rate (pitch ratio)
Definition at line 289 of file SoundFile.cpp.
References csl::Controllable::addInput(), CSL_RATE, and csl::Controllable::mInputs.
void Abst_SoundFile::setRate | ( | float | frequency | ) |
Definition at line 296 of file SoundFile.cpp.
References csl::logMsg(), and mRate.
|
inline |
|
inline |
Definition at line 177 of file SoundFile.h.
References mIsLooping.
|
protectedpure virtual |
read SF header
Implemented in csl::LSoundFile, csl::JSoundFile, and csl::CASoundFile.
|
protected |
allocate buffer lazily
Definition at line 172 of file SoundFile.cpp.
References csl::Buffer::allocateBuffers(), csl::Buffer::freeBuffers(), csl::logMsg(), csl::Buffer::mAreBuffersAllocated, csl::UnitGenerator::mNumChannels, csl::Buffer::mNumFrames, csl::WavetableOscillator::mWavetable, and csl::Buffer::setSize().
Referenced by csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), and csl::LSoundFile::readBufferFromFile().
|
protected |
Definition at line 191 of file SoundFile.cpp.
References csl::Buffer::allocateBuffers(), csl::Buffer::freeBuffers(), csl::logMsg(), csl::Buffer::mAreBuffersAllocated, csl::UnitGenerator::mNumChannels, csl::Buffer::mNumFrames, csl::WavetableOscillator::mWavetable, and csl::Buffer::setSize().
|
protected |
read the ID3 or other tags. Returns true if able to read them.
Definition at line 340 of file SoundFile.cpp.
References csl::SoundFileMetadata::mAlbum, csl::SoundFileMetadata::mArtist, csl::SoundFileMetadata::mBitRate, csl::SoundFileMetadata::mChannels, csl::SoundFileMetadata::mComment, csl::SoundFileMetadata::mGenre, csl::SoundFileMetadata::mLength, mPath, mProperties, csl::SoundFileMetadata::mSampleRate, csl::SoundFileMetadata::mTitle, csl::SoundFileMetadata::mTrack, and csl::SoundFileMetadata::mYear.
|
inherited |
plug in waveforms set the interpolation flag
Definition at line 76 of file Oscillator.cpp.
References csl::Buffer::buffer(), csl::Buffer::buffers(), csl::Buffer::freeBuffers(), csl::Buffer::mAreBuffersAllocated, csl::Buffer::mAreBuffersZero, csl::Buffer::mDidIAllocateBuffers, csl::Buffer::mIsPopulated, csl::Buffer::mMonoBufferByteSize, csl::Buffer::mNumAlloc, csl::Buffer::mNumChannels, csl::UnitGenerator::mNumChannels, csl::Buffer::mNumFrames, csl::WavetableOscillator::mWavetable, csl::Buffer::setBuffer(), and csl::Buffer::setBuffers().
Referenced by Abst_SoundFile(), and csl::WavetableOscillator::WavetableOscillator().
|
inlineinherited |
Definition at line 79 of file Oscillator.h.
References csl::WavetableOscillator::mInterpolate.
|
virtualinherited |
really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times
Reimplemented from csl::UnitGenerator.
Reimplemented in csl::CompOrCacheOscillator.
Definition at line 132 of file Oscillator.cpp.
References DECLARE_PHASED_CONTROLS, DECLARE_SCALABLE_CONTROLS, csl::kLinear, csl::kTruncate, LOAD_PHASED_CONTROLS, LOAD_SCALABLE_CONTROLS, csl::logMsg(), mFrameRate, UPDATE_PHASED_CONTROLS, and UPDATE_SCALABLE_CONTROLS.
Referenced by csl::LSoundFile::nextBuffer(), csl::CompOrCacheOscillator::nextBuffer(), and nextBuffer().
|
protectedinherited |
fill the shared wavetable with 1 cycle of a sine wave
Definition at line 112 of file Oscillator.cpp.
References csl::Buffer::allocateBuffers(), csl::Buffer::buffer(), CSL_TWOPI, DEFAULT_WTABLE_SIZE, csl::Buffer::mAreBuffersAllocated, csl::Buffer::mDidIAllocateBuffers, csl::WavetableOscillator::mWavetable, csl::Buffer::setBuffer(), and csl::Buffer::setSize().
|
inlineinherited |
Definition at line 249 of file CSL_Core.h.
References csl::UnitGenerator::mFrameRate.
Referenced by csl::CASoundFile::dump(), dump(), and csl::SoundCue::dump().
|
inlineinherited |
get/set the receiver's frame rate
Definition at line 250 of file CSL_Core.h.
References csl::UnitGenerator::mFrameRate.
|
inlinevirtualinherited |
Reimplemented in csl::Splitter, and csl::Stereoverb.
Definition at line 252 of file CSL_Core.h.
References csl::UnitGenerator::mNumChannels.
Referenced by csl::AmbisonicMixer::addInput(), csl::BlockResizer::BlockResizer(), csl::Port::checkBuffer(), csl::Effect::Effect(), csl::AmbisonicRotator::initialize(), csl::AmbisonicDecoder::initialize(), csl::Mixer::nextBuffer(), csl::Convolver2::setIRFile(), csl::Convolver::setIRFile(), and csl::SpatialSource::SpatialSource().
|
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().
|
inlineinherited |
Definition at line 255 of file CSL_Core.h.
References csl::UnitGenerator::mCopyPolicy.
|
inlineinherited |
get/set the receiver's buffer copy policy
Definition at line 256 of file CSL_Core.h.
References csl::UnitGenerator::mCopyPolicy.
Referenced by csl::AmbisonicPanner::AmbisonicPanner(), csl::BinauralPanner::BinauralPanner(), csl::AmbisonicUnitGenerator::initOrder(), csl::Noise::Noise(), csl::PinkNoise::PinkNoise(), csl::Spatializer::Spatializer(), and csl::VBAP::VBAP().
|
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.
|
inherited |
add to or return the UGen vector of outputs
Definition at line 670 of file CSL_Core.cpp.
References csl::Buffer::allocateBuffers(), csl::CGestalt::blockSize(), csl::UnitGenerator::mNumOutputs, csl::UnitGenerator::mOutputCache, and csl::UnitGenerator::mOutputs.
Referenced by csl::Mixer::addInput(), csl::Controllable::addInput(), csl::AmbisonicRotator::initialize(), csl::AmbisonicDecoder::initialize(), csl::AmbisonicEncoder::setInput(), and csl::IO::setRoot().
|
inherited |
Definition at line 680 of file CSL_Core.cpp.
References csl::UnitGenerator::mNumOutputs, and csl::UnitGenerator::mOutputs.
Referenced by csl::IO::clearRoot(), csl::AmbisonicEncoder::setInput(), csl::AmbisonicDecoder::~AmbisonicDecoder(), and csl::AmbisonicRotator::~AmbisonicRotator().
|
inlineinherited |
Definition at line 277 of file CSL_Core.h.
References csl::UnitGenerator::mOutputs.
|
inlinevirtualinherited |
Definition at line 278 of file CSL_Core.h.
References csl::UnitGenerator::mNumOutputs.
|
inherited |
check for fan-out and copy previous buffer; return true if fanning out
Definition at line 699 of file CSL_Core.cpp.
|
inherited |
Definition at line 713 of file CSL_Core.cpp.
References csl_max.
|
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.
|
inlinevirtualinherited |
Reimplemented in csl::StaticVariable.
Definition at line 285 of file CSL_Core.h.
|
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.
|
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().
|
inherited |
Definition at line 518 of file CGestalt.cpp.
References csl::logMsg().
Referenced by csl::SpatialPanner::setSpeakerLayout(), and csl::SpatialPanner::~SpatialPanner().
|
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().
|
inlinevirtualinherited |
Reimplemented in csl::MIDIIn.
Definition at line 270 of file CGestalt.h.
|
inherited |
Setter accessors.
set frequency
Definition at line 981 of file CSL_Core.cpp.
References csl::Controllable::addInput(), and CSL_FREQUENCY.
Referenced by csl::AdditiveInstrument::playMIDI(), csl::AdditiveInstrument::playNote(), csl::AdditiveInstrument::playOSC(), csl::KarplusString::setFrequency(), csl::AdditiveInstrument::setParameter(), csl::SquareBL::SquareBL(), test_SHARC(), test_SHARC2(), testRandFreqEnv(), testSplitJoin1(), testSplitJoin2(), testSumOfSines1F(), testSumOfSinesCached(), testSumOfSinesNonCached(), and testSumOfSinesSteps().
|
inherited |
set frequency
Definition at line 985 of file CSL_Core.cpp.
References csl::Controllable::addInput(), and CSL_FREQUENCY.
|
inlineinherited |
Definition at line 507 of file CSL_Core.h.
References csl::Phased::mPhase.
|
inherited |
Definition at line 920 of file CSL_Core.cpp.
References csl::Controllable::mInputs.
Referenced by csl::FrequencyAmount::getFrequency(), and csl::VSTIO::getParameter().
|
protectedinherited |
Plug in a unit generator to the named input slot.
Definition at line 894 of file CSL_Core.cpp.
References csl::UnitGenerator::addOutput(), csl::logMsg(), and csl::Controllable::mInputs.
Referenced by csl::Joiner::addInput(), csl::BinaryOp::BinaryOp(), csl::DistanceSimulator::DistanceSimulator(), csl::Effect::Effect(), csl::InOut::InOut(), csl::Joiner::Joiner(), csl::NtoMPanner::NtoMPanner(), csl::Panner::Panner(), csl::Phased::Phased(), csl::Scalable::Scalable(), csl::FrequencyAmount::setAmount(), csl::FrequencyAmount::setFrequency(), csl::Phased::setFrequency(), csl::Effect::setInput(), csl::Scalable::setOffset(), csl::Panner::setPosition(), setRate(), csl::Scalable::setScale(), csl::NtoMPanner::setX(), csl::NtoMPanner::setY(), and csl::SpatialSource::SpatialSource().
|
protectedinherited |
Plug in a float to the named input slot.
Definition at line 906 of file CSL_Core.cpp.
References csl::logMsg(), csl::Controllable::mInputs, and csl::Port::mValue.
|
protectedinherited |
method to read the control values (in case they're dynamic). this sends nextBuffer() to the input.
Definition at line 847 of file CSL_Core.cpp.
References csl::kSamples, csl::logMsg(), csl::Buffer::mIsPopulated, csl::Buffer::mNumFrames, csl::Buffer::mType, csl::UnitGenerator::nextBuffer(), and csl::Buffer::zeroBuffers().
Referenced by csl::Panner::nextBuffer(), csl::NtoMPanner::nextBuffer(), and csl::Effect::pullInput().
|
protectedinherited |
Definition at line 879 of file CSL_Core.cpp.
References csl::UnitGenerator::nextBuffer().
|
inherited |
set the receiver's scale member to a UGen or a float
Definition at line 1039 of file CSL_Core.cpp.
References csl::Controllable::addInput(), CSL_SCALE, and csl::logMsg().
Referenced by createRandFreqEnvPatch(), csl::FancyFMInstrument::FancyFMInstrument(), csl::AdditiveInstrument::init(), csl::SndFileInstrument::initialize(), main(), csl::FMInstrument::parseArgs(), csl::SndFileInstrument::playNote(), csl::SndFileInstrument::playOSC(), csl::AdditiveInstrument::setParameter(), csl::SndFileInstrument::setParameter(), csl::FancyFMInstrument::setParameter(), sosNote(), test_SHARC(), test_SHARC2(), testADSR_FM(), testARSin2(), testComplexEnvelope(), testEnvScale(), testFancy_FM(), testFanMix1(), testFanMix2(), testMultiTap(), testRandFreqEnv(), testReverb(), testSplitJoin1(), testSplitJoin2(), testStereoverb(), testString(), testStringChorus(), testSumOfSines1F(), testSumOfSinesCached(), testSumOfSinesNonCached(), testSumOfSinesSteps(), and testWaveShaper().
|
inherited |
Definition at line 1046 of file CSL_Core.cpp.
References csl::Controllable::addInput(), CSL_SCALE, and csl::logMsg().
|
inherited |
set the receiver's offset member to a UGen or a float
Definition at line 1053 of file CSL_Core.cpp.
References csl::Controllable::addInput(), CSL_OFFSET, and csl::logMsg().
|
inherited |
Definition at line 1060 of file CSL_Core.cpp.
References csl::Controllable::addInput(), CSL_OFFSET, and csl::logMsg().
|
inherited |
answer whether scale = 1 & offset = 0
|
protectedvirtualinherited |
write to the receiver
Reimplemented in csl::BufferStream, and csl::RingBuffer.
Definition at line 1265 of file CSL_Core.cpp.
|
virtualinherited |
reset-to-zero
Definition at line 1277 of file CSL_Core.cpp.
References csl::kPositionStart, and csl::Seekable::seekTo().
SoundFileMetadata* csl::Abst_SoundFile::mProperties |
the ID3 tags properties
Definition at line 179 of file SoundFile.h.
Referenced by readTags(), and ~Abst_SoundFile().
|
protected |
file name
Definition at line 182 of file SoundFile.h.
Referenced by Abst_SoundFile(), csl::CASoundFile::CASoundFile(), csl::LSoundFile::LSoundFile(), csl::LSoundFile::openForReadWrite(), path(), csl::CASoundFile::readBufferFromFile(), readTags(), and setPath().
|
protected |
r/w mode
Definition at line 183 of file SoundFile.h.
Referenced by csl::JSoundFile::close(), csl::LSoundFile::initFromSndfile(), mode(), and csl::LSoundFile::openForReadWrite().
|
protected |
sf format
Definition at line 184 of file SoundFile.h.
|
protected |
is my file valid?
Definition at line 185 of file SoundFile.h.
Referenced by channels(), durationInSecs(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), isActive(), isValid(), and setStart().
|
protected |
am i looping start-stop?
Definition at line 186 of file SoundFile.h.
Referenced by isLooping(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), and setIsLooping().
|
protected |
Definition at line 187 of file SoundFile.h.
Referenced by csl::SoundCue::duration(), durationInSecs(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::LSoundFile::readBufferFromFile(), setStart(), startFrame(), and trigger().
|
protected |
starting/ending frames (or -1 if not used)
Definition at line 187 of file SoundFile.h.
Referenced by durationInSecs(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), isActive(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), setStop(), setToEnd(), and stopFrame().
|
protected |
sample rate ratio
Definition at line 188 of file SoundFile.h.
Referenced by playbackRate(), and setRate().
|
protected |
Definition at line 189 of file SoundFile.h.
Referenced by convertRate(), duration(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), and csl::LSoundFile::isCached().
|
protected |
the # of bytes per sample
Definition at line 190 of file SoundFile.h.
Referenced by csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::CASoundFile::readBufferFromFile(), and sampleSize().
|
protected |
starting frame in file of buffer
Definition at line 191 of file SoundFile.h.
Referenced by base(), csl::LSoundFile::initFromSndfile(), csl::LSoundFile::readBufferFromFile(), and setBase().
|
inherited |
whether/how I should interpolate between samples
Definition at line 83 of file Oscillator.h.
Referenced by csl::WavetableOscillator::setInterpolate(), and csl::WavetableOscillator::WavetableOscillator().
|
inherited |
the stored wave form
Definition at line 84 of file Oscillator.h.
Referenced by Abst_SoundFile(), buffer(), cacheSize(), checkBuffer(), convertRate(), csl::CompOrCacheOscillator::createCache(), csl::WavetableOscillator::fillSine(), freeBuffer(), csl::LSoundFile::isCached(), isCached(), load_filter_data(), mergeToMono(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), csl::WavetableOscillator::setWaveform(), csl::WavetableOscillator::WavetableOscillator(), and csl::WavetableOscillator::~WavetableOscillator().
|
protectedinherited |
trigger ignored here
the frame rate – initialized to be the default by the constructor
Definition at line 288 of file CSL_Core.h.
Referenced by convertRate(), csl::Lorenz::dump(), durationInSecs(), csl::UnitGenerator::frameRate(), csl::Filter::init(), csl::CASoundFile::initFromSndfile(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::RandEnvelope::nextSegment(), csl::SquareBL::nextWaveInto(), csl::SumOfSines::nextWaveInto(), csl::DelayLine::setDelayTime(), csl::UnitGenerator::setFrameRate(), setStartSec(), setStopSec(), csl::Butter::setupCoeffs(), csl::Formant::setupCoeffs(), csl::Notch::setupCoeffs(), and csl::Moog::setupCoeffs().
|
protectedinherited |
my "expected" number of output channels
Definition at line 292 of file CSL_Core.h.
Referenced by csl::AmbisonicMixer::addInput(), csl::Mixer::allocateOpBuffer(), csl::AmbisonicDecoder::asProjection(), csl::AmbisonicDecoder::asPseudoInverse(), csl::BlockResizer::BlockResizer(), channels(), checkBuffer(), csl::FMInstrument::FMInstrument(), csl::GrainPlayer::GrainPlayer(), csl::AdditiveInstrument::init(), csl::JSoundFile::initFromSndfile(), csl::LSoundFile::initFromSndfile(), csl::AmbisonicMixer::initialize(), csl::SndFileInstrument::initialize(), csl::AmbisonicRotator::initialize(), csl::AmbisonicEncoder::initialize(), csl::AmbisonicDecoder::initialize(), csl::AmbisonicUnitGenerator::initOrder(), csl::RemoteStream::initPacket(), csl::Joiner::isActive(), csl::Joiner::Joiner(), csl::AmbisonicDecoder::makeInPhase(), csl::AmbisonicDecoder::makeMaxRE(), mergeToMono(), csl::Mixer::Mixer(), csl::UnitGenerator::numChannels(), csl::Panner::Panner(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), csl::RemoteStream::RemoteStream(), csl::UnitGenerator::setNumChannels(), csl::WavetableOscillator::setWaveform(), csl::Joiner::trigger(), and csl::AmbisonicRotator::~AmbisonicRotator().
|
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().
|
protectedinherited |
the vector of my output UGens
Definition at line 294 of file CSL_Core.h.
Referenced by csl::UnitGenerator::addOutput(), csl::UnitGenerator::dump(), csl::UnitGenerator::outputs(), and csl::UnitGenerator::removeOutput().
|
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().
|
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().
|
protectedinherited |
the highest-seen buffer seq number
Definition at line 297 of file CSL_Core.h.
|
protectedinherited |
set phase
the actual phase accumulator
Definition at line 507 of file CSL_Core.h.
Referenced by csl::Phased::setPhase().
|
protectedinherited |
the map of my inputs or controls (used by the mix-in classes)
Definition at line 378 of file CSL_Core.h.
Referenced by csl::Controllable::addInput(), csl::BinaryOp::dump(), csl::Controllable::dump(), csl::Controllable::getPort(), csl::Biquad::incrBoost(), csl::Biquad::incrFrq(), csl::Effect::isActive(), csl::Joiner::isActive(), csl::SquareBL::nextWaveInto(), csl::BinaryOp::operandIsFixed(), csl::Phased::Phased(), csl::DistanceSimulator::positionChanged(), csl::Scalable::Scalable(), csl::Biquad::setBoost(), csl::Biquad::setFrq(), csl::BinaryOp::setOperand(), setRate(), csl::Butter::setupCoeffs(), csl::Formant::setupCoeffs(), csl::Notch::setupCoeffs(), csl::Allpass::setupCoeffs(), csl::Moog::setupCoeffs(), csl::Scalable::trigger(), csl::Effect::trigger(), csl::Joiner::trigger(), and csl::Controllable::~Controllable().
|
inherited |
where I currently am in the buffer
Definition at line 580 of file CSL_Core.h.
Referenced by Abst_SoundFile(), csl::DelayLine::delayLength(), isActive(), csl::LSoundFile::isCached(), isCached(), csl::CASoundFile::readBufferFromFile(), csl::JSoundFile::readBufferFromFile(), csl::LSoundFile::readBufferFromFile(), csl::RingBufferTap::setOffset(), setToEnd(), and trigger().
|
inherited |
where I actually am in the buffer
Definition at line 583 of file CSL_Core.h.