Skip to content
bi3mer edited this page Jun 3, 2019 · 14 revisions

Summary

Members Descriptions
namespace BGC::Audio
namespace BGC::Audio::AnalyticStreams
namespace BGC::Audio::Envelopes
namespace BGC::Audio::Extensions
namespace BGC::Audio::Filters
namespace BGC::Audio::Midi
namespace BGC::Audio::Midi::Events
namespace BGC::Audio::Midi::Synth
namespace BGC::Audio::Spatialization
namespace BGC::Audio::Stimuli
namespace BGC::Audio::Synthesis
namespace BGC::Audio::Visualization
namespace BGC::DataStructures
namespace BGC::DataStructures::Generic
namespace BGC::Extensions
namespace BGC::Extensions::Linq
namespace BGC::IO
namespace BGC::IO::Compression
namespace BGC::IO::Extensions
namespace BGC::Mathematics
namespace BGC::MonoUtility
namespace BGC::MonoUtility::Interaction
namespace BGC::MonoUtility::Interpolation
namespace BGC::StateMachine
namespace BGC::Study
namespace BGC::Tests
namespace BGC::UI
namespace BGC::UI::Dialogs
namespace BGC::UI::Panels
namespace BGC::Users
namespace BGC::Utility
namespace BGC::Utility::Compute
namespace BGC::Utility::FileBrowser
namespace BGC::Utility::Inspector
namespace BGC::Utility::Unity
namespace BGC::Web::Utility
namespace LightJson
namespace LightJson::Serialization
class BGC::Mathematics::Bessel::BesselCache
class BGCBar
class BGC::Study::ProtocolManager::DataKeys
class BGC::Mathematics::Bessel::DoubleBesselCache
class Exception
class ICollection
class IEnumerable
class IEnumerable< KeyValuePair< string, JsonValue >>
class IEquatable
class IFormattable
class BGC::Audio::AnalyticStreams::AnalyticStreamFork::InternalStreamFork
class BGC::Audio::Filters::StreamFork::InternalStreamFork
class BGC::Audio::Filters::StreamChannelSplitter::InternalStreamSplit
class IPointerClickHandler
class LightJson::JsonArray::JsonArrayDebugView
class LightJson::JsonObject::JsonObjectDebugView
class LightJson::JsonValue::JsonValueDebugView
class BGC::Audio::Calibration::Keys
class LightJson::JsonObject::JsonObjectDebugView::KeyValuePair
class MonoBehaviour
class PropertyAttribute
class BGC::Study::ProtocolKeys::Protocol
class BGC::Study::ProtocolKeys::Session
class BGC::Study::ProtocolKeys::SessionElement
struct BGC::Audio::Calibration::CalibrationPoint
struct BGC::Audio::Midi::MidiEncoding::HeaderInfo

namespace BGC::Audio

Summary

Members Descriptions
enum AudioChannel
class BGC::Audio::BGCAudioClip
class BGC::Audio::BGCClipPlayer Ability to programmatically play BGCStreams in a Unity scene, with a callback on completion.
class BGC::Audio::BGCStream
class BGC::Audio::BGCStreamExtensions Contains convenience extensions for BGCStreams, to support linear concatenation of filters
class BGC::Audio::Calibration Manages calibration values and processes
class BGC::Audio::CrossFadingRefClip Holds a reference to a large underlying sample buffer. Loops and crossfades with itself. Used for managing extra-large TENoise sample.
class BGC::Audio::FrequencyDomain Collection of common mathematical processes used in the Frequency-Domain.
class BGC::Audio::InterlacingAudioClip Stream that stores the left and right channels as separate arrays
class BGC::Audio::LinearInterpolation Resampling methods
class BGC::Audio::Normalization A collection of some common procedures related to level scaling of Audio
class BGC::Audio::NormalizedMonoClip Stream that stores a mono sample buffer and scaling factors. Plays as a stereo stream.
class BGC::Audio::SimpleAudioClip Simplest implementation of a samplebuffer-based stream.
class BGC::Audio::Spatial A collection of common operations related to Spatialization of Audio
class BGC::Audio::SynthStream
class BGC::Audio::WaveEncoding Operations for Loading and Saving WAV files Some documentation on the WAV format is available here: http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html
class BGC::Audio::Windowing A collection of some common operations related to WindowingAudio.
struct BGC::Audio::CarrierTone Float-based description of a single carrier tone, for tone composition
struct BGC::Audio::ComplexCarrierTone Double, Complex64-based description of a single carrier tone, for tone composition.

Members

Values Descriptions
Left
Right
Both

class BGC::Audio::BGCAudioClip

class BGC::Audio::BGCAudioClip
  : public BGC.Audio.BGCStream

Summary

Members Descriptions
public float Duration
public override float SamplingRate

Members

public float Duration

public override float SamplingRate

class BGC::Audio::BGCClipPlayer

class BGC::Audio::BGCClipPlayer
  : public MonoBehaviour

Ability to programmatically play BGCStreams in a Unity scene, with a callback on completion.

Summary

Members Descriptions
public PlaybackStopped playbackEndedNotifier
public bool IsPlaying
public double Duration
public delegate void PlaybackStopped()
public inline void SetStream(IBGCStream stream)
public inline void PlayStream(IBGCStream stream)
public inline void Stop(bool invoke)
public inline void Play()
public void ResetClip()
public inline void Clear()

Members

public bool IsPlaying

public double Duration

public delegate void PlaybackStopped()

public inline void SetStream(IBGCStream stream)

public inline void PlayStream(IBGCStream stream)

public inline void Stop(bool invoke)

public inline void Play()

public void ResetClip()

public inline void Clear()

class BGC::Audio::BGCStream

class BGC::Audio::BGCStream
  : public BGC.Audio.IBGCStream

Summary

Members Descriptions
public abstract IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline void Initialize() Perform any calculations necessary to prepare the Stream
public abstract int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract void Seek(int position) Seek to the indicated position in the stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public abstract IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

public abstract int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract void Seek(int position)

Seek to the indicated position in the stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::BGCStreamExtensions

Contains convenience extensions for BGCStreams, to support linear concatenation of filters

Summary

Members Descriptions

Members

class BGC::Audio::Calibration

Manages calibration values and processes

Summary

Members Descriptions

Members

class BGC::Audio::CrossFadingRefClip

class BGC::Audio::CrossFadingRefClip
  : public BGC.Audio.BGCAudioClip

Holds a reference to a large underlying sample buffer. Loops and crossfades with itself. Used for managing extra-large TENoise sample.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline CrossFadingRefClip(float [] samples,double leftFactor,double rightFactor,int initialPosition)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline CrossFadingRefClip(float [] samples,double leftFactor,double rightFactor,int initialPosition)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::FrequencyDomain

Collection of common mathematical processes used in the Frequency-Domain.

Summary

Members Descriptions

Members

class BGC::Audio::InterlacingAudioClip

class BGC::Audio::InterlacingAudioClip
  : public BGC.Audio.BGCAudioClip

Stream that stores the left and right channels as separate arrays

Summary

Members Descriptions
public override int ChannelSamples
public override int TotalSamples
public override int Channels
public inline InterlacingAudioClip(float [] leftSamples,float [] rightSamples)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int ChannelSamples

public override int TotalSamples

public override int Channels

public inline InterlacingAudioClip(float [] leftSamples,float [] rightSamples)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::LinearInterpolation

Resampling methods

Summary

Members Descriptions

Members

class BGC::Audio::Normalization

A collection of some common procedures related to level scaling of Audio

Summary

Members Descriptions
public const double dbMax
public const double dbOffset
public const double RMS_TO_PEAK
public const double TARGET_RMS
public const double TARGET_PEAK

Members

public const double dbMax

public const double dbOffset

public const double RMS_TO_PEAK

public const double TARGET_RMS

public const double TARGET_PEAK

class BGC::Audio::NormalizedMonoClip

class BGC::Audio::NormalizedMonoClip
  : public BGC.Audio.BGCAudioClip

Stream that stores a mono sample buffer and scaling factors. Plays as a stereo stream.

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline NormalizedMonoClip(float [] monoSamples,double leftFactor,double rightFactor)
public inline NormalizedMonoClip(float [] monoSamples,double presentationLevel)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline NormalizedMonoClip(float [] monoSamples,double leftFactor,double rightFactor)

public inline NormalizedMonoClip(float [] monoSamples,double presentationLevel)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::SimpleAudioClip

class BGC::Audio::SimpleAudioClip
  : public BGC.Audio.BGCAudioClip

Simplest implementation of a samplebuffer-based stream.

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline SimpleAudioClip(float [] samples,int channels)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline SimpleAudioClip(float [] samples,int channels)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Spatial

A collection of common operations related to Spatialization of Audio

Summary

Members Descriptions

Members

class BGC::Audio::SynthStream

class BGC::Audio::SynthStream
  : public BGC.Audio.IBGCStream

Summary

Members Descriptions
public float SamplingRate
public abstract IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public abstract int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract void Seek(int position) Seek to the indicated position in the stream
public inline void Initialize() Perform any calculations necessary to prepare the Stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public float SamplingRate

public abstract IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public abstract int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract void Seek(int position)

Seek to the indicated position in the stream

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::WaveEncoding

Operations for Loading and Saving WAV files Some documentation on the WAV format is available here: http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html

Summary

Members Descriptions

Members

class BGC::Audio::Windowing

A collection of some common operations related to WindowingAudio.

Summary

Members Descriptions

Members

struct BGC::Audio::CarrierTone

Float-based description of a single carrier tone, for tone composition

Summary

Members Descriptions
public readonly float frequency
public readonly float amplitude
public readonly float phase
public inline CarrierTone(float frequency,float amplitude,float phase)
public CarrierTone WithNewPhase(float newPhase)
public CarrierTone RotatePhase(float rotator)

Members

public readonly float frequency

public readonly float amplitude

public readonly float phase

public inline CarrierTone(float frequency,float amplitude,float phase)

public CarrierTone WithNewPhase(float newPhase)

public CarrierTone RotatePhase(float rotator)

struct BGC::Audio::ComplexCarrierTone

Double, Complex64-based description of a single carrier tone, for tone composition.

Summary

Members Descriptions
public readonly double frequency
public readonly Complex64 amplitude
public inline ComplexCarrierTone(double frequency,Complex64 amplitude)
public inline ComplexCarrierTone(double frequency)
public ComplexCarrierTone WithNewPhase(double newPhase)
public ComplexCarrierTone RotatePhase(double rotator)
public ComplexCarrierTone TimeShift(double deltaT)

Members

public readonly double frequency

public readonly Complex64 amplitude

public inline ComplexCarrierTone(double frequency,Complex64 amplitude)

public inline ComplexCarrierTone(double frequency)

public ComplexCarrierTone WithNewPhase(double newPhase)

public ComplexCarrierTone RotatePhase(double rotator)

public ComplexCarrierTone TimeShift(double deltaT)

namespace BGC::Audio::AnalyticStreams

Summary

Members Descriptions
class BGC::Audio::AnalyticStreams::AnalyticADSREnvelope
class BGC::Audio::AnalyticStreams::AnalyticFilter Filters represent transformations of the AnalyticStream.
class BGC::Audio::AnalyticStreams::AnalyticFrequencyModulationFilter Applies FrequencyModulation to the underlying stream, in the frequency domain. Utilizes the FFT Shift Theorem
class BGC::Audio::AnalyticStreams::AnalyticNoiseStream
class BGC::Audio::AnalyticStreams::AnalyticStreamAdder
class BGC::Audio::AnalyticStreams::AnalyticStreamCenterer A Decorator class for AnalyticStreams that centers the stream, temporally, in a window.
class BGC::Audio::AnalyticStreams::AnalyticStreamConverter Analytic signal generation based on "An Efficient Analytic Signal Generator" by Clay S. Turner http://www.claysturner.com/dsp/asg.pdf
class BGC::Audio::AnalyticStreams::AnalyticStreamEnvelopeConverter Returns the magnitude of the underlying AnalyticStream as a BGCStream
class BGC::Audio::AnalyticStreams::AnalyticStreamExtensions
class BGC::Audio::AnalyticStreams::AnalyticStreamFork
class BGC::Audio::AnalyticStreams::AnalyticStreamFrequencyShifter Applies FrequencyShift to the underlying stream. Utilizes the FFT Shift Theorem
class BGC::Audio::AnalyticStreams::AnalyticStreamWindower A Decorator class for BGCAudioClips that windows and truncates underlying clip
class BGC::Audio::AnalyticStreams::AnalyticWave
class BGC::Audio::AnalyticStreams::BGCStreamConverter
class BGC::Audio::AnalyticStreams::SimpleAnalyticFilter

class BGC::Audio::AnalyticStreams::AnalyticADSREnvelope

class BGC::Audio::AnalyticStreams::AnalyticADSREnvelope
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter
  : public BGC.Audio.Synthesis.IADSR

Summary

Members Descriptions
public override int Samples
public inline AnalyticADSREnvelope(IAnalyticStream stream,double timeToPeak,double timeToSustain,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)
public inline AnalyticADSREnvelope(IAnalyticStream stream,double timeToPeak,double timeToSustain,double timeToRelease,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)
public inline void TriggerRelease(bool immediate)
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public inline AnalyticADSREnvelope(IAnalyticStream stream,double timeToPeak,double timeToSustain,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)

public inline AnalyticADSREnvelope(IAnalyticStream stream,double timeToPeak,double timeToSustain,double timeToRelease,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)

public inline void TriggerRelease(bool immediate)

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticFilter

class BGC::Audio::AnalyticStreams::AnalyticFilter
  : public BGC.Audio.AnalyticStreams.IAnalyticStream

Filters represent transformations of the AnalyticStream.

Summary

Members Descriptions
public abstract int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract void Seek(int position) Seek to the indicated position in the stream
public abstract double GetRMS() The RMS amplitude of the stream (real component)
public inline void Initialize() Perform any calculations necessary to prepare the Stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public abstract int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract void Seek(int position)

Seek to the indicated position in the stream

public abstract double GetRMS()

The RMS amplitude of the stream (real component)

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::AnalyticStreams::AnalyticFrequencyModulationFilter

class BGC::Audio::AnalyticStreams::AnalyticFrequencyModulationFilter
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter

Applies FrequencyModulation to the underlying stream, in the frequency domain. Utilizes the FFT Shift Theorem

Summary

Members Descriptions
public override int Samples
public inline AnalyticFrequencyModulationFilter(IAnalyticStream stream,double modRate,double modDepth)
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public inline AnalyticFrequencyModulationFilter(IAnalyticStream stream,double modRate,double modDepth)

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticNoiseStream

class BGC::Audio::AnalyticStreams::AnalyticNoiseStream
  : public BGC.Audio.AnalyticStreams.IAnalyticStream

Summary

Members Descriptions
public double SamplingRate
public inline AnalyticNoiseStream(double rms,double freqLB,double freqUB,int frequencyCount,AmplitudeDistribution distribution,Random randomizer)
public inline void Initialize() Perform any calculations necessary to prepare the Stream
public inline int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public void Reset() Sets this internal state of this stream to the initial state
public inline void Seek(int position) Seek to the indicated position in the stream
public double GetRMS() The RMS amplitude of the stream (real component)

Members

public double SamplingRate

public inline AnalyticNoiseStream(double rms,double freqLB,double freqUB,int frequencyCount,AmplitudeDistribution distribution,Random randomizer)

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

public inline int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public void Reset()

Sets this internal state of this stream to the initial state

public inline void Seek(int position)

Seek to the indicated position in the stream

public double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamAdder

class BGC::Audio::AnalyticStreams::AnalyticStreamAdder
  : public BGC.Audio.AnalyticStreams.AnalyticFilter

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IAnalyticStream>InternalStreams
public override int Samples
public override double SamplingRate
public inline AnalyticStreamAdder()
public inline AnalyticStreamAdder(params IAnalyticStream [] streams)
public inline AnalyticStreamAdder(IEnumerable](#class_i_enumerable)< [IAnalyticStream > streams)
public inline void AddStream(IAnalyticStream stream)
public inline void AddStreams(IEnumerable](#class_i_enumerable)< [IAnalyticStream > streams)
public inline bool RemoveStream(IAnalyticStream stream)
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public override double SamplingRate

public inline AnalyticStreamAdder()

public inline AnalyticStreamAdder(params IAnalyticStream [] streams)

public inline void AddStream(IAnalyticStream stream)

public inline bool RemoveStream(IAnalyticStream stream)

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamCenterer

class BGC::Audio::AnalyticStreams::AnalyticStreamCenterer
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter

A Decorator class for AnalyticStreams that centers the stream, temporally, in a window.

Summary

Members Descriptions
public override int Samples
public inline AnalyticStreamCenterer(IAnalyticStream stream,double totalDuration)
public inline AnalyticStreamCenterer(IAnalyticStream stream,int preDelaySamples,int postDelaySamples)
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public inline AnalyticStreamCenterer(IAnalyticStream stream,double totalDuration)

public inline AnalyticStreamCenterer(IAnalyticStream stream,int preDelaySamples,int postDelaySamples)

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamConverter

class BGC::Audio::AnalyticStreams::AnalyticStreamConverter
  : public BGC.Audio.AnalyticStreams.IAnalyticStream

Analytic signal generation based on "An Efficient Analytic Signal Generator" by Clay S. Turner http://www.claysturner.com/dsp/asg.pdf

Summary

Members Descriptions
public double SamplingRate
public int Samples
public inline AnalyticStreamConverter(IBGCStream stream)
public inline int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline void Reset() Sets this internal state of this stream to the initial state
public inline void Seek(int position) Seek to the indicated position in the stream
public double GetRMS() The RMS amplitude of the stream (real component)

Members

public double SamplingRate

public int Samples

public inline AnalyticStreamConverter(IBGCStream stream)

public inline int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline void Reset()

Sets this internal state of this stream to the initial state

public inline void Seek(int position)

Seek to the indicated position in the stream

public double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamEnvelopeConverter

class BGC::Audio::AnalyticStreams::AnalyticStreamEnvelopeConverter
  : public BGC.Audio.IBGCStream

Returns the magnitude of the underlying AnalyticStream as a BGCStream

Summary

Members Descriptions
public int Channels
public int TotalSamples
public int ChannelSamples
public float SamplingRate
public IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline AnalyticStreamEnvelopeConverter(IAnalyticStream stream)
public inline int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public void Reset() Sets this internal state of this stream to the initial state
public void Seek(int position) Seek to the indicated position in the stream

Members

public int Channels

public int TotalSamples

public int ChannelSamples

public float SamplingRate

public IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public void Reset()

Sets this internal state of this stream to the initial state

public void Seek(int position)

Seek to the indicated position in the stream

class BGC::Audio::AnalyticStreams::AnalyticStreamExtensions

Summary

Members Descriptions

Members

class BGC::Audio::AnalyticStreams::AnalyticStreamFork

class BGC::Audio::AnalyticStreams::AnalyticStreamFork
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter

Summary

Members Descriptions
public readonly InternalStreamFork forkedStream
public override int Samples
public int position
public int forkPosition
public inline AnalyticStreamFork(IAnalyticStream stream)
public inline AnalyticStreamFork(IAnalyticStreamstream,outIAnalyticStream forkedStream)
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public int position

public int forkPosition

public inline AnalyticStreamFork(IAnalyticStream stream)

public inline AnalyticStreamFork(IAnalyticStreamstream,outIAnalyticStream forkedStream)

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamFrequencyShifter

class BGC::Audio::AnalyticStreams::AnalyticStreamFrequencyShifter
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter

Applies FrequencyShift to the underlying stream. Utilizes the FFT Shift Theorem

Summary

Members Descriptions
public override int Samples
public inline AnalyticStreamFrequencyShifter(IAnalyticStream stream,double frequencyShift)
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public override int Samples

public inline AnalyticStreamFrequencyShifter(IAnalyticStream stream,double frequencyShift)

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticStreamWindower

class BGC::Audio::AnalyticStreams::AnalyticStreamWindower
  : public BGC.Audio.AnalyticStreams.SimpleAnalyticFilter

A Decorator class for BGCAudioClips that windows and truncates underlying clip

Summary

Members Descriptions
public inline AnalyticStreamWindower(IAnalyticStream stream,Windowing.Function function,double totalDuration,int smoothingSamples,int sampleOffset,bool recalculateRMS)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override double GetRMS() The RMS amplitude of the stream (real component)

Members

public inline AnalyticStreamWindower(IAnalyticStream stream,Windowing.Function function,double totalDuration,int smoothingSamples,int sampleOffset,bool recalculateRMS)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::AnalyticWave

class BGC::Audio::AnalyticStreams::AnalyticWave
  : public BGC.Audio.AnalyticStreams.IAnalyticStream

Summary

Members Descriptions
public double SamplingRate
public inline AnalyticWave(double amplitude,double frequency,double phase)
public inline int Read(Complex64 [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline void Reset() Sets this internal state of this stream to the initial state
public inline void Seek(int position) Seek to the indicated position in the stream
public double GetRMS() The RMS amplitude of the stream (real component)

Members

public double SamplingRate

public inline AnalyticWave(double amplitude,double frequency,double phase)

public inline int Read(Complex64 [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline void Reset()

Sets this internal state of this stream to the initial state

public inline void Seek(int position)

Seek to the indicated position in the stream

public double GetRMS()

The RMS amplitude of the stream (real component)

class BGC::Audio::AnalyticStreams::BGCStreamConverter

class BGC::Audio::AnalyticStreams::BGCStreamConverter
  : public BGC.Audio.IBGCStream

Summary

Members Descriptions
public int Channels
public int TotalSamples
public int ChannelSamples
public float SamplingRate
public IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline BGCStreamConverter(IAnalyticStream stream)
public inline int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public void Reset() Sets this internal state of this stream to the initial state
public void Seek(int position) Seek to the indicated position in the stream

Members

public int Channels

public int TotalSamples

public int ChannelSamples

public float SamplingRate

public IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline BGCStreamConverter(IAnalyticStream stream)

public inline int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public void Reset()

Sets this internal state of this stream to the initial state

public void Seek(int position)

Seek to the indicated position in the stream

class BGC::Audio::AnalyticStreams::SimpleAnalyticFilter

class BGC::Audio::AnalyticStreams::SimpleAnalyticFilter
  : public BGC.Audio.AnalyticStreams.AnalyticFilter

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IAnalyticStream>InternalStreams
public override double SamplingRate
public inline SimpleAnalyticFilter(IAnalyticStream stream)
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override void Reset() Sets this internal state of this stream to the initial state
protected readonly IAnalyticStream stream

Members

public override double SamplingRate

public inline SimpleAnalyticFilter(IAnalyticStream stream)

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override void Reset()

Sets this internal state of this stream to the initial state

protected readonly IAnalyticStream stream

namespace BGC::Audio::Envelopes

Summary

Members Descriptions
class BGC::Audio::Envelopes::BGCEnvelopeFilter Filters represent transformations of the BGCAudioStreams. Like Spatialization, windowing, and Carlile-Filtering
class BGC::Audio::Envelopes::BGCEnvelopeStream
class BGC::Audio::Envelopes::ConstantEnvelope
class BGC::Audio::Envelopes::CosineEnvelope
class BGC::Audio::Envelopes::EnvelopeConcatenator
class BGC::Audio::Envelopes::GaussianEnvelope
class BGC::Audio::Envelopes::LinearEnvelope
class BGC::Audio::Envelopes::SigmoidEnvelope

class BGC::Audio::Envelopes::BGCEnvelopeFilter

class BGC::Audio::Envelopes::BGCEnvelopeFilter
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Filters represent transformations of the BGCAudioStreams. Like Spatialization, windowing, and Carlile-Filtering

Summary

Members Descriptions
public abstract bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public abstract int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract float ReadNextSample() Returns the next sample in the BGCEnvelopeStream
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract void Seek(int position) Seek to the indicated position in the stream
public inline virtual void Initialize() Perform any calculations necessary to prepare the Stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public abstract bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public abstract int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract void Seek(int position)

Seek to the indicated position in the stream

public inline virtual void Initialize()

Perform any calculations necessary to prepare the Stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::Envelopes::BGCEnvelopeStream

class BGC::Audio::Envelopes::BGCEnvelopeStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Summary

Members Descriptions
public inline void Initialize() Perform any calculations necessary to prepare the Stream
public abstract int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public abstract float ReadNextSample() Returns the next sample in the BGCEnvelopeStream
public abstract void Seek(int position) Seek to the indicated position in the stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

public abstract int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public abstract float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

public abstract void Seek(int position)

Seek to the indicated position in the stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::Envelopes::ConstantEnvelope

class BGC::Audio::Envelopes::ConstantEnvelope
  : public BGC.Audio.Envelopes.BGCEnvelopeStream

Summary

Members Descriptions
public override float SamplingRate
public inline ConstantEnvelope(double value)
public inline ConstantEnvelope(double value,double duration)
public inline ConstantEnvelope(double value,int samples)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream

Members

public override float SamplingRate

public inline ConstantEnvelope(double value)

public inline ConstantEnvelope(double value,double duration)

public inline ConstantEnvelope(double value,int samples)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

class BGC::Audio::Envelopes::CosineEnvelope

class BGC::Audio::Envelopes::CosineEnvelope
  : public BGC.Audio.Envelopes.BGCEnvelopeStream

Summary

Members Descriptions
public override float SamplingRate
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream

Members

public override float SamplingRate

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

class BGC::Audio::Envelopes::EnvelopeConcatenator

class BGC::Audio::Envelopes::EnvelopeConcatenator
  : public BGC.Audio.Envelopes.BGCEnvelopeFilter

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IBGCEnvelopeStream>InternalStreams
public override int Samples
public override float SamplingRate
public inline EnvelopeConcatenator()
public inline EnvelopeConcatenator(params IBGCEnvelopeStream [] streams)
public inline EnvelopeConcatenator(IEnumerable](#class_i_enumerable)< [IBGCEnvelopeStream > streams)
public inline void AddStream(IBGCEnvelopeStream stream)
public inline void AddStreams(IEnumerable](#class_i_enumerable)< [IBGCEnvelopeStream > streams)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Seek(int position) Seek to the indicated position in the stream

Members

public override int Samples

public override float SamplingRate

public inline EnvelopeConcatenator()

public inline EnvelopeConcatenator(params IBGCEnvelopeStream [] streams)

public inline void AddStream(IBGCEnvelopeStream stream)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

class BGC::Audio::Envelopes::GaussianEnvelope

class BGC::Audio::Envelopes::GaussianEnvelope
  : public BGC.Audio.Envelopes.BGCEnvelopeStream

Summary

Members Descriptions
public override float SamplingRate
public inline GaussianEnvelope(double gaussianWidth,double peakTime,double sigmaFloor)
public inline GaussianEnvelope(double totalDuration,double gaussianWidth,double peakTime,double sigmaFloor)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream

Members

public override float SamplingRate

public inline GaussianEnvelope(double gaussianWidth,double peakTime,double sigmaFloor)

public inline GaussianEnvelope(double totalDuration,double gaussianWidth,double peakTime,double sigmaFloor)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

class BGC::Audio::Envelopes::LinearEnvelope

class BGC::Audio::Envelopes::LinearEnvelope
  : public BGC.Audio.Envelopes.BGCEnvelopeStream

Summary

Members Descriptions
public override float SamplingRate
public inline LinearEnvelope(double duration)
public inline LinearEnvelope(double growthStartTime,double growthEndTime)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream

Members

public override float SamplingRate

public inline LinearEnvelope(double duration)

public inline LinearEnvelope(double growthStartTime,double growthEndTime)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

class BGC::Audio::Envelopes::SigmoidEnvelope

class BGC::Audio::Envelopes::SigmoidEnvelope
  : public BGC.Audio.Envelopes.BGCEnvelopeStream

Summary

Members Descriptions
public override float SamplingRate
public inline SigmoidEnvelope(double duration,double tanhLimit)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override bool HasMoreSamples() Returns if the BGCEnvelopeStream has more samples
public inline virtual override float ReadNextSample() Returns the next sample in the BGCEnvelopeStream

Members

public override float SamplingRate

public inline SigmoidEnvelope(double duration,double tanhLimit)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override bool HasMoreSamples()

Returns if the BGCEnvelopeStream has more samples

public inline virtual override float ReadNextSample()

Returns the next sample in the BGCEnvelopeStream

Returns

The next sample

namespace BGC::Audio::Extensions

Summary

Members Descriptions
class BGC::Audio::Extensions::AudioExtensions

class BGC::Audio::Extensions::AudioExtensions

Summary

Members Descriptions

Members

namespace BGC::Audio::Filters

Summary

Members Descriptions
class BGC::Audio::Filters::AllPassFilter
class BGC::Audio::Filters::BGCFilter Filters represent transformations of the BGCAudioStreams. Like Spatialization, windowing, and Carlile-Filtering
class BGC::Audio::Filters::BiQuadFilter This implementation is based on the one found in CSCore, which in turn was based on http://www.earlevel.com/main/2011/01/02/biquad-formulas/
class BGC::Audio::Filters::CarlileShuffler A Decorator class for BGCAudioClips that applies the Carlile noise-generation technique
class BGC::Audio::Filters::ChannelIsolaterFilter Extracts the channel with the specified index as an independent stream.
class BGC::Audio::Filters::ContinuousFilter This implementation is based on a naive adaptation of the BiQuad filter in this pacakge, which is based on the one found in CSCore, which in turn was based on http://www.earlevel.com/main/2011/01/02/biquad-formulas/
class BGC::Audio::Filters::ConvolutionFilter Performs a convolution on the underlying stream, using Overlap-And-Add
class BGC::Audio::Filters::FramedPhaseReencoder Applies an ITD by adjusting the phase in the frequency domain, frame-based
class BGC::Audio::Filters::FrequencyModulationFilter Applies FrequencyModulation to the underlying stream, in the frequency domain. Initial Analytic signal generation based on "An Efficient Analytic Signal Generator" by Clay S. Turner http://www.claysturner.com/dsp/asg.pdf
class BGC::Audio::Filters::MultiConvolutionFilter Performs a convolution on the underlying stream, generating one independent channel for each supplied filter.
class BGC::Audio::Filters::NormalizerFilter Scales an underlying stream to the desired level (dB SPL)
class BGC::Audio::Filters::NormalizerMonoFilter Upchannels and scales an underlying single-channel stream to the specified level (dB SPL)
class BGC::Audio::Filters::ParallelInitializer Runs the initialization methods of the underlying streams in a parallel process.
class BGC::Audio::Filters::PhaseVocoder Slows the playback speed by a factor between 1x and 0.5x without changing pitch
class BGC::Audio::Filters::SimpleBGCFilter
class BGC::Audio::Filters::SinglePassPhaseReencoder A Decorator class for BGCAudioClips that applies the a SinglePass Phase reencoding for introducing an effective ITD
class BGC::Audio::Filters::SlowRangeFitterFilter This slow filter scans the whole sample and scales it between +1 and -1 so there is no clipping but maximum volume. Primarily intended for saving audio to files.
class BGC::Audio::Filters::SpecializedFilterExtensions
class BGC::Audio::Filters::StreamAdder Additive Synthesis - Output samples are equal to the linear sum of input samples.
class BGC::Audio::Filters::StreamCacher Caches the underlying stream as samples are read
class BGC::Audio::Filters::StreamCenterer Centers the underlying stream, temporally, in a window of specified duration, or appends specified number of silent samples to the beginning and end of the stream.
class BGC::Audio::Filters::StreamChannelSplitter Splits a 2 channel stream into separate streams for each channel
class BGC::Audio::Filters::StreamConcatenator Appends multiple streams, end-to-end. Expects each stream to have the same number of channels and sampling rate.
class BGC::Audio::Filters::StreamEnveloper Applies the specified envelope to the underlying stream.
class BGC::Audio::Filters::StreamFork Splits the underlying stream into two identical copies, caching only samples in between their respective read locations. Not ideal for stream reads that will be significantly disperate.
class BGC::Audio::Filters::StreamMergeFilter Takes multiple streams and applies each to a different channel in the output
class BGC::Audio::Filters::StreamRepeater Loops underling stream indefinitely.
class BGC::Audio::Filters::StreamRMSStandardizer Scales the underlying stream to a fixed RMS
class BGC::Audio::Filters::StreamSelectiveUpChanneler Upchannels the stream, including only the indicated channels
class BGC::Audio::Filters::StreamTimeShiftFilter Shifts time forward or backwards (integer samples) of the underlying stream
class BGC::Audio::Filters::StreamTruncator Truncates underlying stream
class BGC::Audio::Filters::StreamWindower Windows and truncates underlying stream
class BGC::Audio::Filters::UpChannelMonoFilter Upchannels an underlying stream

class BGC::Audio::Filters::AllPassFilter

class BGC::Audio::Filters::AllPassFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline AllPassFilter(IBGCStreamstream,inComplex64 coeff,int delay)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline AllPassFilter(IBGCStreamstream,inComplex64 coeff,int delay)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::BGCFilter

class BGC::Audio::Filters::BGCFilter
  : public BGC.Audio.IBGCStream

Filters represent transformations of the BGCAudioStreams. Like Spatialization, windowing, and Carlile-Filtering

Summary

Members Descriptions
public abstract int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public abstract void Reset() Sets this internal state of this stream to the initial state
public abstract void Seek(int position) Seek to the indicated position in the stream
public abstract IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline virtual void Initialize() Perform any calculations necessary to prepare the Stream
protected bool initialized
protected inline virtual void _Initialize()

Members

public abstract int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public abstract void Reset()

Sets this internal state of this stream to the initial state

public abstract void Seek(int position)

Seek to the indicated position in the stream

public abstract IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline virtual void Initialize()

Perform any calculations necessary to prepare the Stream

protected bool initialized

protected inline virtual void _Initialize()

class BGC::Audio::Filters::BiQuadFilter

class BGC::Audio::Filters::BiQuadFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

This implementation is based on the one found in CSCore, which in turn was based on http://www.earlevel.com/main/2011/01/02/biquad-formulas/

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline float ProcessSample(float sample)

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline float ProcessSample(float sample)

class BGC::Audio::Filters::CarlileShuffler

class BGC::Audio::Filters::CarlileShuffler
  : public BGC.Audio.Filters.SimpleBGCFilter

A Decorator class for BGCAudioClips that applies the Carlile noise-generation technique

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline CarlileShuffler(IBGCStream stream,double freqLowerBound,double freqUpperBound,int bandCount,bool recalculateRMS,System.Random randomizer)
public inline CarlileShuffler(IBGCStream stream,IEnumerable< double > frequencyDistribution,bool recalculateRMS,System.Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline CarlileShuffler(IBGCStream stream,double freqLowerBound,double freqUpperBound,int bandCount,bool recalculateRMS,System.Random randomizer)

public inline CarlileShuffler(IBGCStream stream,IEnumerable< double > frequencyDistribution,bool recalculateRMS,System.Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::ChannelIsolaterFilter

class BGC::Audio::Filters::ChannelIsolaterFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Extracts the channel with the specified index as an independent stream.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline ChannelIsolaterFilter(IBGCStream stream,int channelIndex)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline ChannelIsolaterFilter(IBGCStream stream,int channelIndex)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::ContinuousFilter

class BGC::Audio::Filters::ContinuousFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

This implementation is based on a naive adaptation of the BiQuad filter in this pacakge, which is based on the one found in CSCore, which in turn was based on http://www.earlevel.com/main/2011/01/02/biquad-formulas/

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline ContinuousFilter(IBGCStream stream,IBGCEnvelopeStream filterEnvelope,FilterType filterType,double freqLB,double freqUB,double qFactor)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override void Reset() Sets this internal state of this stream to the initial state

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline ContinuousFilter(IBGCStream stream,IBGCEnvelopeStream filterEnvelope,FilterType filterType,double freqLB,double freqUB,double qFactor)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

class BGC::Audio::Filters::ConvolutionFilter

class BGC::Audio::Filters::ConvolutionFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Performs a convolution on the underlying stream, using Overlap-And-Add

Summary

Members Descriptions
public override int Channels
public inline ConvolutionFilter(IBGCStream stream,float [] filter,bool recalculateRMS)
public inline ConvolutionFilter(IBGCStream stream,IBGCStream filter,bool recalculateRMS)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public inline ConvolutionFilter(IBGCStream stream,float [] filter,bool recalculateRMS)

public inline ConvolutionFilter(IBGCStream stream,IBGCStream filter,bool recalculateRMS)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::FramedPhaseReencoder

class BGC::Audio::Filters::FramedPhaseReencoder
  : public BGC.Audio.Filters.SimpleBGCFilter

Applies an ITD by adjusting the phase in the frequency domain, frame-based

Summary

Members Descriptions
public override int ChannelSamples
public inline FramedPhaseReencoder(IBGCStream stream,double timeShift,int frameSize,int overlapFactor)
public inline FramedPhaseReencoder(IBGCStream stream,double leftTimeShift,double rightTimeShift,int frameSize,int overlapFactor)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int ChannelSamples

public inline FramedPhaseReencoder(IBGCStream stream,double timeShift,int frameSize,int overlapFactor)

public inline FramedPhaseReencoder(IBGCStream stream,double leftTimeShift,double rightTimeShift,int frameSize,int overlapFactor)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::FrequencyModulationFilter

class BGC::Audio::Filters::FrequencyModulationFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Applies FrequencyModulation to the underlying stream, in the frequency domain. Initial Analytic signal generation based on "An Efficient Analytic Signal Generator" by Clay S. Turner http://www.claysturner.com/dsp/asg.pdf

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline FrequencyModulationFilter(IBGCStream stream,double modRate,double modDepth)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline FrequencyModulationFilter(IBGCStream stream,double modRate,double modDepth)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::MultiConvolutionFilter

class BGC::Audio::Filters::MultiConvolutionFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Performs a convolution on the underlying stream, generating one independent channel for each supplied filter.

Summary

Members Descriptions
public inline MultiConvolutionFilter(IBGCStream stream,float [] filterL,float [] filterR,bool recalculateRMS)
public inline MultiConvolutionFilter(IBGCStream stream,double [] filterL,double [] filterR,bool recalculateRMS)
public inline MultiConvolutionFilter(IBGCStream stream,IBGCStream filter,bool recalculateRMS)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public inline MultiConvolutionFilter(IBGCStream stream,float [] filterL,float [] filterR,bool recalculateRMS)

public inline MultiConvolutionFilter(IBGCStream stream,double [] filterL,double [] filterR,bool recalculateRMS)

public inline MultiConvolutionFilter(IBGCStream stream,IBGCStream filter,bool recalculateRMS)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::NormalizerFilter

class BGC::Audio::Filters::NormalizerFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Scales an underlying stream to the desired level (dB SPL)

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline NormalizerFilter(IBGCStream stream,double leftFactor,double rightFactor)
public inline NormalizerFilter(IBGCStream stream,double presentationLevel)
public inline NormalizerFilter(IBGCStream stream,(double levelL, double levelR) presentationLevel)
public inline NormalizerFilter(IBGCStream stream,double presentationLevel,Calibration.Source source)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline NormalizerFilter(IBGCStream stream,double leftFactor,double rightFactor)

public inline NormalizerFilter(IBGCStream stream,double presentationLevel)

public inline NormalizerFilter(IBGCStream stream,(double levelL, double levelR) presentationLevel)

public inline NormalizerFilter(IBGCStream stream,double presentationLevel,Calibration.Source source)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::NormalizerMonoFilter

class BGC::Audio::Filters::NormalizerMonoFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Upchannels and scales an underlying single-channel stream to the specified level (dB SPL)

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline NormalizerMonoFilter(IBGCStream stream,double leftFactor,double rightFactor)
public inline NormalizerMonoFilter(IBGCStream stream,double presentationLevel)
public inline NormalizerMonoFilter(IBGCStream stream,(double levelL, double levelR) levels)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline NormalizerMonoFilter(IBGCStream stream,double leftFactor,double rightFactor)

public inline NormalizerMonoFilter(IBGCStream stream,double presentationLevel)

public inline NormalizerMonoFilter(IBGCStream stream,(double levelL, double levelR) levels)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::ParallelInitializer

class BGC::Audio::Filters::ParallelInitializer
  : public BGC.Audio.IBGCStream

Runs the initialization methods of the underlying streams in a parallel process.

Summary

Members Descriptions
public int Channels
public int TotalSamples
public int ChannelSamples
public float SamplingRate
public inline ParallelInitializer(IBGCStream stream)
public void Seek(int position) Seek to the indicated position in the stream
public void Reset() Sets this internal state of this stream to the initial state
public inline int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline void Initialize() Perform any calculations necessary to prepare the Stream
public inline void InitializeNow()

Members

public int Channels

public int TotalSamples

public int ChannelSamples

public float SamplingRate

public inline ParallelInitializer(IBGCStream stream)

public void Seek(int position)

Seek to the indicated position in the stream

public void Reset()

Sets this internal state of this stream to the initial state

public inline int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline void Initialize()

Perform any calculations necessary to prepare the Stream

public inline void InitializeNow()

class BGC::Audio::Filters::PhaseVocoder

class BGC::Audio::Filters::PhaseVocoder
  : public BGC.Audio.Filters.SimpleBGCFilter

Slows the playback speed by a factor between 1x and 0.5x without changing pitch

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public inline PhaseVocoder(IBGCStream stream,double speed)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public inline PhaseVocoder(IBGCStream stream,double speed)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::SimpleBGCFilter

class BGC::Audio::Filters::SimpleBGCFilter
  : public BGC.Audio.Filters.BGCFilter

Summary

Members Descriptions
public override float SamplingRate
public inline SimpleBGCFilter(IBGCStream stream)
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Initialize() Perform any calculations necessary to prepare the Stream
protected readonly IBGCStream stream

Members

public override float SamplingRate

public inline SimpleBGCFilter(IBGCStream stream)

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Initialize()

Perform any calculations necessary to prepare the Stream

protected readonly IBGCStream stream

class BGC::Audio::Filters::SinglePassPhaseReencoder

class BGC::Audio::Filters::SinglePassPhaseReencoder
  : public BGC.Audio.Filters.SimpleBGCFilter

A Decorator class for BGCAudioClips that applies the a SinglePass Phase reencoding for introducing an effective ITD

This class is a bit wordy in its implementation, but I really wanted to make the Initialize method have certain work-skipping optimizations

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline SinglePassPhaseReencoder(IBGCStream stream,double timeShift)
public inline SinglePassPhaseReencoder(IBGCStream stream,double leftTimeShift,double rightTimeShift)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline SinglePassPhaseReencoder(IBGCStream stream,double timeShift)

public inline SinglePassPhaseReencoder(IBGCStream stream,double leftTimeShift,double rightTimeShift)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::SlowRangeFitterFilter

class BGC::Audio::Filters::SlowRangeFitterFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

This slow filter scans the whole sample and scales it between +1 and -1 so there is no clipping but maximum volume. Primarily intended for saving audio to files.

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline SlowRangeFitterFilter(IBGCStream stream)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline SlowRangeFitterFilter(IBGCStream stream)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::SpecializedFilterExtensions

Summary

Members Descriptions

Members

class BGC::Audio::Filters::StreamAdder

class BGC::Audio::Filters::StreamAdder
  : public BGC.Audio.Filters.BGCFilter

Additive Synthesis - Output samples are equal to the linear sum of input samples.

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IBGCStream>InternalStreams
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline StreamAdder()
public inline StreamAdder(params IBGCStream [] streams)
public inline StreamAdder(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline void AddStream(IBGCStream stream)
public inline void AddStreams(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline bool RemoveStream(IBGCStream stream)
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline StreamAdder()

public inline StreamAdder(params IBGCStream [] streams)

public inline void AddStream(IBGCStream stream)

public inline bool RemoveStream(IBGCStream stream)

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamCacher

class BGC::Audio::Filters::StreamCacher
  : public BGC.Audio.Filters.SimpleBGCFilter

Caches the underlying stream as samples are read

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline StreamCacher(IBGCStream stream)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline StreamCacher(IBGCStream stream)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamCenterer

class BGC::Audio::Filters::StreamCenterer
  : public BGC.Audio.Filters.SimpleBGCFilter

Centers the underlying stream, temporally, in a window of specified duration, or appends specified number of silent samples to the beginning and end of the stream.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline StreamCenterer(IBGCStream stream,double totalDuration)
public inline StreamCenterer(IBGCStream stream,int preDelaySamples,int postDelaySamples)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline StreamCenterer(IBGCStream stream,double totalDuration)

public inline StreamCenterer(IBGCStream stream,int preDelaySamples,int postDelaySamples)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamChannelSplitter

class BGC::Audio::Filters::StreamChannelSplitter
  : public BGC.Audio.Filters.SimpleBGCFilter

Splits a 2 channel stream into separate streams for each channel

Summary

Members Descriptions
public readonly InternalStreamSplit splitStream
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public int position
public int splitPosition
public inline StreamChannelSplitter(IBGCStream stream)
public inline StreamChannelSplitter(IBGCStreamstream,outIBGCStream splitStream)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public int position

public int splitPosition

public inline StreamChannelSplitter(IBGCStream stream)

public inline StreamChannelSplitter(IBGCStreamstream,outIBGCStream splitStream)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamConcatenator

class BGC::Audio::Filters::StreamConcatenator
  : public BGC.Audio.Filters.BGCFilter

Appends multiple streams, end-to-end. Expects each stream to have the same number of channels and sampling rate.

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IBGCStream>InternalStreams
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline StreamConcatenator()
public inline StreamConcatenator(params IBGCStream [] streams)
public inline StreamConcatenator(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline void AddStream(IBGCStream stream)
public inline void AddStreams(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline StreamConcatenator()

public inline StreamConcatenator(params IBGCStream [] streams)

public inline void AddStream(IBGCStream stream)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamEnveloper

class BGC::Audio::Filters::StreamEnveloper
  : public BGC.Audio.Filters.SimpleBGCFilter

Applies the specified envelope to the underlying stream.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public inline StreamEnveloper(IBGCStream stream,IBGCEnvelopeStream envelopeStream,bool recalculateRMS)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public inline StreamEnveloper(IBGCStream stream,IBGCEnvelopeStream envelopeStream,bool recalculateRMS)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamFork

class BGC::Audio::Filters::StreamFork
  : public BGC.Audio.Filters.SimpleBGCFilter

Splits the underlying stream into two identical copies, caching only samples in between their respective read locations. Not ideal for stream reads that will be significantly disperate.

Summary

Members Descriptions
public readonly InternalStreamFork forkedStream
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public int position
public int forkPosition
public inline StreamFork(IBGCStream stream)
public inline StreamFork(IBGCStreamstream,outIBGCStream forkedStream)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public int position

public int forkPosition

public inline StreamFork(IBGCStream stream)

public inline StreamFork(IBGCStreamstream,outIBGCStream forkedStream)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamMergeFilter

class BGC::Audio::Filters::StreamMergeFilter
  : public BGC.Audio.Filters.BGCFilter

Takes multiple streams and applies each to a different channel in the output

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IBGCStream>InternalStreams
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline StreamMergeFilter()
public inline StreamMergeFilter(params IBGCStream [] streams)
public inline StreamMergeFilter(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline void AddStream(IBGCStream stream)
public inline void AddStreams(IEnumerable](#class_i_enumerable)< [IBGCStream > streams)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline StreamMergeFilter()

public inline StreamMergeFilter(params IBGCStream [] streams)

public inline void AddStream(IBGCStream stream)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamRepeater

class BGC::Audio::Filters::StreamRepeater
  : public BGC.Audio.Filters.SimpleBGCFilter

Loops underling stream indefinitely.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline StreamRepeater(IBGCStream stream)
public virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline StreamRepeater(IBGCStream stream)

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamRMSStandardizer

class BGC::Audio::Filters::StreamRMSStandardizer
  : public BGC.Audio.Filters.SimpleBGCFilter

Scales the underlying stream to a fixed RMS

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline StreamRMSStandardizer(IBGCStream stream,double rms)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline StreamRMSStandardizer(IBGCStream stream,double rms)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Filters::StreamSelectiveUpChanneler

class BGC::Audio::Filters::StreamSelectiveUpChanneler
  : public BGC.Audio.Filters.SimpleBGCFilter

Upchannels the stream, including only the indicated channels

Summary

Members Descriptions
public override int TotalSamples
public override int ChannelSamples
public override int Channels
public inline StreamSelectiveUpChanneler(IBGCStream stream,AudioChannel channels)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int TotalSamples

public override int ChannelSamples

public override int Channels

public inline StreamSelectiveUpChanneler(IBGCStream stream,AudioChannel channels)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamTimeShiftFilter

class BGC::Audio::Filters::StreamTimeShiftFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Shifts time forward or backwards (integer samples) of the underlying stream

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public inline StreamTimeShiftFilter(IBGCStream stream,double timeShift)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public inline StreamTimeShiftFilter(IBGCStream stream,double timeShift)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamTruncator

class BGC::Audio::Filters::StreamTruncator
  : public BGC.Audio.Filters.SimpleBGCFilter

Truncates underlying stream

Summary

Members Descriptions
public override int Channels
public inline StreamTruncator(IBGCStream stream,int totalChannelSamples,int sampleShift,bool recalculateRMS)
public inline StreamTruncator(IBGCStream stream,double totalDuration,int sampleShift,bool recalculateRMS)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public inline StreamTruncator(IBGCStream stream,int totalChannelSamples,int sampleShift,bool recalculateRMS)

public inline StreamTruncator(IBGCStream stream,double totalDuration,int sampleShift,bool recalculateRMS)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::StreamWindower

class BGC::Audio::Filters::StreamWindower
  : public BGC.Audio.Filters.SimpleBGCFilter

Windows and truncates underlying stream

Summary

Members Descriptions
public override int Channels
public inline StreamWindower(IBGCStream stream,Windowing.Function function,double totalDuration,int smoothingSamples,int sampleShift,bool recalculateRMS)
public inline StreamWindower(IBGCStream stream,Windowing.Function openingFunction,Windowing.Function closingFunction,int openingSmoothingSamples,int closingSmoothingSamples,int sampleShift,int totalChannelSamples,bool recalculateRMS)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public inline StreamWindower(IBGCStream stream,Windowing.Function function,double totalDuration,int smoothingSamples,int sampleShift,bool recalculateRMS)

public inline StreamWindower(IBGCStream stream,Windowing.Function openingFunction,Windowing.Function closingFunction,int openingSmoothingSamples,int closingSmoothingSamples,int sampleShift,int totalChannelSamples,bool recalculateRMS)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Filters::UpChannelMonoFilter

class BGC::Audio::Filters::UpChannelMonoFilter
  : public BGC.Audio.Filters.SimpleBGCFilter

Upchannels an underlying stream

Summary

Members Descriptions
public override int ChannelSamples
public inline UpChannelMonoFilter(IBGCStream stream,int channelCount)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int ChannelSamples

public inline UpChannelMonoFilter(IBGCStream stream,int channelCount)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

namespace BGC::Audio::Midi

Summary

Members Descriptions
enum ReservedChannels Offset to be 0-indexed
enum ReservedSoundSet Offset to be 0-indexed Source: Complete MIDI Specs General MIDI System Level 1 - Pg 5 - Table 2
enum PercussionMap Already correctly maps to Frequency Source: Complete MIDI Specs General MIDI System Level 1 - Pg 6 - Table 3
class BGC::Audio::Midi::MidiEncoding
class BGC::Audio::Midi::MidiFile
class BGC::Audio::Midi::MidiFileStream Renders an underlying MidiFile
class BGC::Audio::Midi::MidiParsingException
class BGC::Audio::Midi::MidiStreamExtensions
class BGC::Audio::Midi::MidiTrack

Members

Values Descriptions
Percussion

Offset to be 0-indexed

Values Descriptions
AcousticGrandPiano
BrightAcousticPiano
ElectricGrandPiano
HonkyTonkPiano
ElectricPiano1
ElectricPiano2
Harpsichord
Clavi
Celesta
Glockenspiel
MusicBox
Vibraphone
Marimba
Xylophone
TubularBells
Dulcimer
DrawbarOrgan
PercussiveOrgan
RockOrgan
CrutchOrgan
ReedOrgan
Accordion
Harmonica
TangoAccordion
AcousticGuitar_Nylon
AcousticGuitar_Steel
ElectricGuitar_Jazz
ElectricGuitar_Clean
ElectricGuitar_Muted
OverdrivenGuitar
DistortionGuitar
GuitarHarmonics
AcousticBass
ElectricBass_Finger
ElectricBasS_Pick
FretlessBass
SlapBass1
SlapBass2
SynthBass1
SynthBass2
Violin
Viola
Cello
Contrabass
TremoloStrings
PizzicatoStrings
OrchestralHarp
Timpani
StringEnsemble1
StringEnsemble2
SynthStrings1
SynthStrings2
ChoirAahs
VoiceOohs
SynthVoice
OrchestraHit
Trumpet
Trombone
Tuba
MutedTrumped
FrenchHorn
BrassSection
SynthBrass1
SynthBrass2
SopranoSax
AltoSax
TenorSax
BaritoneSax
Oboe
EnglishHorn
Bassoon
Clarinet
Piccolo
Flute
Recorder
PanFlute
BlownBottle
Shakuhachi
Whistle
Ocarina
Lead1_Square
Lead2_Sawtooth
Lead3_Calliope
Lead4_Chiff
Lead5_Charang
Lead6_Voice
Lead7_Fifths
Lead8_BassAndLead
Pad1_NewAge
Pad2_Warm
Pad3_Polysynth
Pad4_Choir
Pad5_Bowed
Pad6_Metallic
Pad7_Halo
Pad8_Sweep
FX1_Rain
FX2_Soundtrack
FX3_Crystal
FX4_Atmosphere
FX5_Brightness
FX6_Goblins
FX7_Echoes
FX8_Scifi
Sitar
Banjo
Shamisen
Koto
Kalimba
BagPipe
Fiddle
Shanai
TinkleBell
Agogo
SteelDrums
Woodblock
TaikoDrum
MelodicTom
SynthDrum
ReverseCymbal
GuitarFretNoise
BreathNoise
Seashore
BirdTweet
TelephoneRing
Helicopter
Applause
Gunshot

Offset to be 0-indexed Source: Complete MIDI Specs General MIDI System Level 1 - Pg 5 - Table 2

Values Descriptions
AcousticBassDrum
BassDrum1
SideStick
AcousticSnare
HandClap
ElectricSnare
LowFloorTom
ClosedHiHat
HighFloorTom
PedalHiHat
LowTom
OpenHiHat
LowMidTom
HiMidTom
CrashCymbal1
HighTom
RideCymbal1
ChineseCymbal
RideBell
Tambourine
SplashCymbal
Cowbell
CrashCymbal2
Vibraslap
RideCymbal2
HiBongo
LowBongo
MuteHiConga
OpenHiConga
LowConga
HighTimbale
LowTimbale
HighAgogo
LowAgogo
Cabasa
Maracas
ShortWhistle
LongWhistle
ShortGuiro
LongGuiro
Claves
HiWoodBlock
LowWoodBlock
MuteCuica
OpenCuica
MuteTriangle
OpenTriangle

Already correctly maps to Frequency Source: Complete MIDI Specs General MIDI System Level 1 - Pg 6 - Table 3

class BGC::Audio::Midi::MidiEncoding

Summary

Members Descriptions

Members

class BGC::Audio::Midi::MidiFile

Summary

Members Descriptions
public const string HEADER_CHUNK_NAME
public readonly List< MidiTrack>tracks
public readonly HeaderInfo headerInfo
public inline MidiFile(in HeaderInfo headerInfo,bool retainAll)
public inline MidiFile(Stream headerStream,bool retainAll) Deserialization Constructor
public inline void Add(MidiTrack track)
public inline void AddRange(IEnumerable](#class_i_enumerable)< [MidiTrack > tracks)
public void ReadTrack(Stream trackStream)
public inline void Serialize(Stream outputStream)

Members

public const string HEADER_CHUNK_NAME

public readonly List< MidiTrack>tracks

public readonly HeaderInfo headerInfo

public inline MidiFile(in HeaderInfo headerInfo,bool retainAll)

public inline MidiFile(Stream headerStream,bool retainAll)

Deserialization Constructor

public inline void Add(MidiTrack track)

public void ReadTrack(Stream trackStream)

public inline void Serialize(Stream outputStream)

class BGC::Audio::Midi::MidiFileStream

class BGC::Audio::Midi::MidiFileStream
  : public BGC.Audio.SynthStream

Renders an underlying MidiFile

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public inline MidiFileStream(MidiFile midiFile)
public inline void InsertTempoEvent(SetTempoMetaMidiEvent tempoEvent)
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline void ExecuteRunningEvent(ProgramMidiEvent programEvent)
public inline byte GetChannelProgram(byte channel)
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public inline MidiFileStream(MidiFile midiFile)

public inline void InsertTempoEvent(SetTempoMetaMidiEvent tempoEvent)

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline void ExecuteRunningEvent(ProgramMidiEvent programEvent)

public inline byte GetChannelProgram(byte channel)

protected inline virtual override void _Initialize()

class BGC::Audio::Midi::MidiParsingException

class BGC::Audio::Midi::MidiParsingException
  : public Exception

Summary

Members Descriptions
public inline MidiParsingException(string message)
public inline MidiParsingException(string message,Exception innerException)

Members

public inline MidiParsingException(string message)

public inline MidiParsingException(string message,Exception innerException)

class BGC::Audio::Midi::MidiStreamExtensions

Summary

Members Descriptions

Members

class BGC::Audio::Midi::MidiTrack

Summary

Members Descriptions
public const string TRACK_CHUNK_NAME
public readonly List< MidiEvent>events
public float SamplingRate
public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,bool retainAll)
public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,IEnumerable](#class_i_enumerable)< [MidiEvent > events,bool retainAll)
public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,Stream trackStream,bool retainAll) Deserialization Constructor
public inline void Add(MidiEvent midiEvent)
public inline void Insert(MidiEvent midiEvent,int time)
public inline void AddRange(IEnumerable](#class_i_enumerable)< [MidiEvent > midiEvents)
public inline MidiEvent ParseEvent(Stream inputStream)
public void Deserialize(Stream trackStream)
public inline void Serialize(Stream outputStream)
public inline void Initialize(MidiFileStream midiStream)
public inline void SetTempo(int tempo)
public inline int SampleEstimate()
public inline void ExecuteRunningEvent(PitchBendMidiEvent pitchBendEvent)
public inline void ExecuteRunningEvent(ChannelPressureMidiEvent channelPressureEvent)
public inline void ExecuteRunningEvent(ProgramMidiEvent programEvent)
public inline void ExecuteRunningEvent(NoteMidiEvent noteEvent)
public inline void ExecuteRunningEvent(ControllerMidiEvent controllerEvent)
public inline int Read(float [] data,int offset,int count)
public inline int ReadBuffered(float [] data,int offset,int count)
public inline void Reset()
public void Seek(int position)

Members

public const string TRACK_CHUNK_NAME

public readonly List< MidiEvent>events

public float SamplingRate

public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,bool retainAll)

public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,IEnumerable](#class_i_enumerable)< [MidiEvent > events,bool retainAll)

public inline MidiTrack(in HeaderInfo headerInfo,short sequenceNumber,Stream trackStream,bool retainAll)

Deserialization Constructor

public inline void Add(MidiEvent midiEvent)

public inline void Insert(MidiEvent midiEvent,int time)

public inline void AddRange(IEnumerable](#class_i_enumerable)< [MidiEvent > midiEvents)

public inline MidiEvent ParseEvent(Stream inputStream)

public void Deserialize(Stream trackStream)

public inline void Serialize(Stream outputStream)

public inline void Initialize(MidiFileStream midiStream)

public inline void SetTempo(int tempo)

public inline int SampleEstimate()

public inline void ExecuteRunningEvent(PitchBendMidiEvent pitchBendEvent)

public inline void ExecuteRunningEvent(ChannelPressureMidiEvent channelPressureEvent)

public inline void ExecuteRunningEvent(ProgramMidiEvent programEvent)

public inline void ExecuteRunningEvent(NoteMidiEvent noteEvent)

public inline void ExecuteRunningEvent(ControllerMidiEvent controllerEvent)

public inline int Read(float [] data,int offset,int count)

public inline int ReadBuffered(float [] data,int offset,int count)

public inline void Reset()

public void Seek(int position)

namespace BGC::Audio::Midi::Events

Summary

Members Descriptions
class BGC::Audio::Midi::Events::ChannelMidiEvent
class BGC::Audio::Midi::Events::ChannelPrefixMetaMidiEvent
class BGC::Audio::Midi::Events::ChannelPressureMidiEvent
class BGC::Audio::Midi::Events::ControllerMidiEvent A Midi event that is sent when a controller other than a key (e.g. a pedal, wheel, etc) is moved in order to modify the sound of a note (e.g. modulation, sustain, etc) Midi 1.0 Detailed Specification 4.2 - p.11
class BGC::Audio::Midi::Events::EndOfTrackMetaMidiEvent
class BGC::Audio::Midi::Events::KeySignatureMetaMidiEvent
class BGC::Audio::Midi::Events::MetaMidiEvent
class BGC::Audio::Midi::Events::MidiEvent
class BGC::Audio::Midi::Events::NoteMidiEvent
class BGC::Audio::Midi::Events::PitchBendMidiEvent
class BGC::Audio::Midi::Events::ProgramMidiEvent Used to specify the type of instrument on the channel
class BGC::Audio::Midi::Events::SequenceNumberMetaMidiEvent
class BGC::Audio::Midi::Events::SequencerSpecificMetaMidiEvent
class BGC::Audio::Midi::Events::SetTempoMetaMidiEvent
class BGC::Audio::Midi::Events::SMTPEOffsetMetaMidiEvent
class BGC::Audio::Midi::Events::SysexMidiEvent
class BGC::Audio::Midi::Events::SystemCommonMidiEvent
class BGC::Audio::Midi::Events::SystemRealTimeMidiEvent
class BGC::Audio::Midi::Events::TextMetaMidiEvent
class BGC::Audio::Midi::Events::TimeSignatureMetaMidiEvent
class BGC::Audio::Midi::Events::UnknownMetaMidiEvent
class BGC::Audio::Midi::Events::UnknownMidiEvent

class BGC::Audio::Midi::Events::ChannelMidiEvent

class BGC::Audio::Midi::Events::ChannelMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override MidiMessageClass MessageClass
public inline ChannelMidiEvent(int deltaTime,byte eventCode)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override MidiMessageClass MessageClass

public inline ChannelMidiEvent(int deltaTime,byte eventCode)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::ChannelPrefixMetaMidiEvent

class BGC::Audio::Midi::Events::ChannelPrefixMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public readonly byte channel
public inline ChannelPrefixMetaMidiEvent(int deltaTime,byte channel)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public readonly byte channel

public inline ChannelPrefixMetaMidiEvent(int deltaTime,byte channel)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::ChannelPressureMidiEvent

class BGC::Audio::Midi::Events::ChannelPressureMidiEvent
  : public BGC.Audio.Midi.Events.ChannelMidiEvent

Summary

Members Descriptions
public override string EventName
public override ChannelEventType EventType
public override int Length
public readonly byte channel
public readonly byte value
public inline ChannelPressureMidiEvent(int deltaTime,byte channel,byte value)
public override string ToString()
public virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override ChannelEventType EventType

public override int Length

public readonly byte channel

public readonly byte value

public inline ChannelPressureMidiEvent(int deltaTime,byte channel,byte value)

public override string ToString()

public virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::ControllerMidiEvent

class BGC::Audio::Midi::Events::ControllerMidiEvent
  : public BGC.Audio.Midi.Events.ChannelMidiEvent

A Midi event that is sent when a controller other than a key (e.g. a pedal, wheel, etc) is moved in order to modify the sound of a note (e.g. modulation, sustain, etc) Midi 1.0 Detailed Specification 4.2 - p.11

Summary

Members Descriptions
public override string EventName
public override ChannelEventType EventType
public override int Length
public readonly byte channel
public readonly byte dataA
public readonly byte dataB
public ChannelModeMessageTypes ModeMessageType
public inline ControllerMidiEvent(int deltaTime,byte channel,byte controllerNumber,byte controllerValue)
public inline ControllerMidiEvent(int deltaTime,ChannelModeMessageTypes channelModeMessageType,byte channel,byte value)
public override string ToString()
public virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override ChannelEventType EventType

public override int Length

public readonly byte channel

public readonly byte dataA

public readonly byte dataB

public inline ControllerMidiEvent(int deltaTime,byte channel,byte controllerNumber,byte controllerValue)

public inline ControllerMidiEvent(int deltaTime,ChannelModeMessageTypes channelModeMessageType,byte channel,byte value)

public override string ToString()

public virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::EndOfTrackMetaMidiEvent

class BGC::Audio::Midi::Events::EndOfTrackMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public inline EndOfTrackMetaMidiEvent(int deltaTime)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public inline EndOfTrackMetaMidiEvent(int deltaTime)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::KeySignatureMetaMidiEvent

class BGC::Audio::Midi::Events::KeySignatureMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public sbyte SharpFlatCount
public bool MajorKey
public inline KeySignatureMetaMidiEvent(int deltaTime,byte [] signature)
public inline KeySignatureMetaMidiEvent(int deltaTime,sbyte sharpFlatCount,bool majorKey)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public sbyte SharpFlatCount

public bool MajorKey

public inline KeySignatureMetaMidiEvent(int deltaTime,byte [] signature)

public inline KeySignatureMetaMidiEvent(int deltaTime,sbyte sharpFlatCount,bool majorKey)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::MetaMidiEvent

class BGC::Audio::Midi::Events::MetaMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override MidiMessageClass MessageClass
public readonly byte metaTypeCode
public MidiMetaType MetaType
public override int Length
public inline MetaMidiEvent(int deltaTime,byte metaTypeCode)
public override string ToString()
public abstract void Integrate(MidiTrack track)
public inline virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override MidiMessageClass MessageClass

public readonly byte metaTypeCode

public override int Length

public inline MetaMidiEvent(int deltaTime,byte metaTypeCode)

public override string ToString()

public abstract void Integrate(MidiTrack track)

public inline virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::MidiEvent

Summary

Members Descriptions
public int time
public int deltaTime
public readonly byte eventCode
public bool Essential
public int Length
public inline MidiEvent(int deltaTime,byte eventCode)
public inline void Serialize(Stream outputStream,bool running)
public abstract void ExecuteEvent(MidiTrack track)
public override string ToString()
protected abstract void Serialize(Stream outputStream)

Members

public int time

public int deltaTime

public readonly byte eventCode

public bool Essential

public int Length

public inline MidiEvent(int deltaTime,byte eventCode)

public inline void Serialize(Stream outputStream,bool running)

public abstract void ExecuteEvent(MidiTrack track)

public override string ToString()

protected abstract void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::NoteMidiEvent

class BGC::Audio::Midi::Events::NoteMidiEvent
  : public BGC.Audio.Midi.Events.ChannelMidiEvent

Summary

Members Descriptions
public override string EventName
public override ChannelEventType EventType
public override int Length
public readonly NoteEventType noteEventType
public readonly byte channel
public readonly byte note
public readonly byte param
public inline NoteMidiEvent(int deltaTime,NoteEventType noteEventType,byte channel,byte note,byte param)
public inline NoteMidiEvent(int deltaTime,byte typeCode,byte note,byte param)
public override string ToString()
public virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override ChannelEventType EventType

public override int Length

public readonly NoteEventType noteEventType

public readonly byte channel

public readonly byte note

public readonly byte param

public inline NoteMidiEvent(int deltaTime,NoteEventType noteEventType,byte channel,byte note,byte param)

public inline NoteMidiEvent(int deltaTime,byte typeCode,byte note,byte param)

public override string ToString()

public virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::PitchBendMidiEvent

class BGC::Audio::Midi::Events::PitchBendMidiEvent
  : public BGC.Audio.Midi.Events.ChannelMidiEvent

Summary

Members Descriptions
public override string EventName
public override ChannelEventType EventType
public override int Length
public readonly byte channel
public readonly short value
public inline PitchBendMidiEvent(int deltaTime,byte channel,short value)
public override string ToString()
public virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override ChannelEventType EventType

public override int Length

public readonly byte channel

public readonly short value

public inline PitchBendMidiEvent(int deltaTime,byte channel,short value)

public override string ToString()

public virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::ProgramMidiEvent

class BGC::Audio::Midi::Events::ProgramMidiEvent
  : public BGC.Audio.Midi.Events.ChannelMidiEvent

Used to specify the type of instrument on the channel

Summary

Members Descriptions
public override string EventName
public override ChannelEventType EventType
public override int Length
public readonly byte channel
public readonly byte value
public inline ProgramMidiEvent(int deltaTime,byte channel,byte value)
public override string ToString()
public virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override ChannelEventType EventType

public override int Length

public readonly byte channel

public readonly byte value

public inline ProgramMidiEvent(int deltaTime,byte channel,byte value)

public override string ToString()

public virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SequenceNumberMetaMidiEvent

class BGC::Audio::Midi::Events::SequenceNumberMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public readonly short sequenceNumber
public inline SequenceNumberMetaMidiEvent(int deltaTime,short sequenceNumber)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public readonly short sequenceNumber

public inline SequenceNumberMetaMidiEvent(int deltaTime,short sequenceNumber)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SequencerSpecificMetaMidiEvent

class BGC::Audio::Midi::Events::SequencerSpecificMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override bool Essential
public override int Length
public readonly byte [] data
public inline SequencerSpecificMetaMidiEvent(int deltaTime,byte [] data)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override bool Essential

public override int Length

public readonly byte [] data

public inline SequencerSpecificMetaMidiEvent(int deltaTime,byte [] data)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SetTempoMetaMidiEvent

class BGC::Audio::Midi::Events::SetTempoMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public readonly int tempo
public inline SetTempoMetaMidiEvent(int deltaTime,int tempo)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
public inline virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public readonly int tempo

public inline SetTempoMetaMidiEvent(int deltaTime,int tempo)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

public inline virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SMTPEOffsetMetaMidiEvent

class BGC::Audio::Midi::Events::SMTPEOffsetMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public byte Hours
public byte Minutes
public byte Seconds
public byte Frames
public byte Fractions
public inline SMTPEOffsetMetaMidiEvent(int deltaTime,byte [] time)
public inline SMTPEOffsetMetaMidiEvent(int deltaTime,byte hours,byte minutes,byte seconds,byte frames,byte fractions)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public byte Hours

public byte Minutes

public byte Seconds

public byte Frames

public byte Fractions

public inline SMTPEOffsetMetaMidiEvent(int deltaTime,byte [] time)

public inline SMTPEOffsetMetaMidiEvent(int deltaTime,byte hours,byte minutes,byte seconds,byte frames,byte fractions)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SysexMidiEvent

class BGC::Audio::Midi::Events::SysexMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override string EventName
public override MidiMessageClass MessageClass
public SysexType sysexType
public readonly byte [] data
public override int Length
public inline SysexMidiEvent(int deltaTime,byte eventCode,byte [] data)
public inline virtual override void ExecuteEvent(MidiTrack track)
public override string ToString()
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override MidiMessageClass MessageClass

public readonly byte [] data

public override int Length

public inline SysexMidiEvent(int deltaTime,byte eventCode,byte [] data)

public inline virtual override void ExecuteEvent(MidiTrack track)

public override string ToString()

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SystemCommonMidiEvent

class BGC::Audio::Midi::Events::SystemCommonMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override string EventName
public override MidiMessageClass MessageClass
public SystemCommonType systemCommonType
public readonly byte dataA
public readonly byte dataB
public override int Length
public inline SystemCommonMidiEvent(int deltaTime,byte eventCode,byte dataA,byte dataB)
public override string ToString()
public inline virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override MidiMessageClass MessageClass

public readonly byte dataA

public readonly byte dataB

public override int Length

public inline SystemCommonMidiEvent(int deltaTime,byte eventCode,byte dataA,byte dataB)

public override string ToString()

public inline virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::SystemRealTimeMidiEvent

class BGC::Audio::Midi::Events::SystemRealTimeMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override string EventName
public override MidiMessageClass MessageClass
public SystemRealTimeType systemRealTimeType
public override int Length
public inline SystemRealTimeMidiEvent(int deltaTime,byte eventCode)
public override string ToString()
public inline virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override MidiMessageClass MessageClass

public override int Length

public inline SystemRealTimeMidiEvent(int deltaTime,byte eventCode)

public override string ToString()

public inline virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::TextMetaMidiEvent

class BGC::Audio::Midi::Events::TextMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override bool Essential
public override int Length
public readonly string text
public inline TextMetaMidiEvent(int deltaTime,byte metaTypeCode,string text)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override bool Essential

public override int Length

public readonly string text

public inline TextMetaMidiEvent(int deltaTime,byte metaTypeCode,string text)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::TimeSignatureMetaMidiEvent

class BGC::Audio::Midi::Events::TimeSignatureMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override int Length
public int Numerator
public byte DenominatorPower
public int Denominator
public int ClockTicks MIDI Clocks per metronome tick
public int NoteRate The number of 1/32 notes per 24 Midi clock ticks (8 is standard)
public inline TimeSignatureMetaMidiEvent(int deltaTime,byte [] signature)
public inline TimeSignatureMetaMidiEvent(int deltaTime,byte numerator,byte denominatorPower,byte clockTicks,byte noteRate)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override int Length

public int Numerator

public byte DenominatorPower

public int Denominator

public int ClockTicks

MIDI Clocks per metronome tick

public int NoteRate

The number of 1/32 notes per 24 Midi clock ticks (8 is standard)

public inline TimeSignatureMetaMidiEvent(int deltaTime,byte [] signature)

public inline TimeSignatureMetaMidiEvent(int deltaTime,byte numerator,byte denominatorPower,byte clockTicks,byte noteRate)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::UnknownMetaMidiEvent

class BGC::Audio::Midi::Events::UnknownMetaMidiEvent
  : public BGC.Audio.Midi.Events.MetaMidiEvent

Summary

Members Descriptions
public override string EventName
public override bool Essential
public override int Length
public readonly byte [] data
public inline UnknownMetaMidiEvent(int deltaTime,byte metaTypeCode,byte [] data)
public override string ToString()
public inline virtual override void Integrate(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override bool Essential

public override int Length

public readonly byte [] data

public inline UnknownMetaMidiEvent(int deltaTime,byte metaTypeCode,byte [] data)

public override string ToString()

public inline virtual override void Integrate(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

class BGC::Audio::Midi::Events::UnknownMidiEvent

class BGC::Audio::Midi::Events::UnknownMidiEvent
  : public BGC.Audio.Midi.Events.MidiEvent

Summary

Members Descriptions
public override string EventName
public override bool Essential
public override MidiMessageClass MessageClass
public readonly byte data
public inline UnknownMidiEvent(int deltaTime,byte eventCode,byte data)
public override string ToString()
public inline virtual override void ExecuteEvent(MidiTrack track)
protected inline virtual override void Serialize(Stream outputStream)

Members

public override string EventName

public override bool Essential

public override MidiMessageClass MessageClass

public readonly byte data

public inline UnknownMidiEvent(int deltaTime,byte eventCode,byte data)

public override string ToString()

public inline virtual override void ExecuteEvent(MidiTrack track)

protected inline virtual override void Serialize(Stream outputStream)

namespace BGC::Audio::Midi::Synth

Summary

Members Descriptions
enum Key
class BGC::Audio::Midi::Synth::InstrumentLookup

Members

enum Key

Values Descriptions
C
CSharp
D
DSharp
E
F
FSharp
G
GSharp
A
ASharp
B
MAX

class BGC::Audio::Midi::Synth::InstrumentLookup

Summary

Members Descriptions

Members

namespace BGC::Audio::Spatialization

Summary

Members Descriptions
class BGC::Audio::Spatialization::ImpulseExtraction Extracts the packaged HRTF files, generously provided by Nirmal Srinivasan, Asst Professor of the Deptartment of Speech-Language Pathology & Audiology at Towson University

class BGC::Audio::Spatialization::ImpulseExtraction

class BGC::Audio::Spatialization::ImpulseExtraction
  : public BGC.MonoUtility.AsyncInitTask

Extracts the packaged HRTF files, generously provided by Nirmal Srinivasan, Asst Professor of the Deptartment of Speech-Language Pathology & Audiology at Towson University

Summary

Members Descriptions
protected inline virtual override bool PrepareRun()
protected inline virtual override void FinishedRunning(bool runSuccessful)
protected virtual override Task< bool > ExecuteTask()

Members

protected inline virtual override bool PrepareRun()

protected inline virtual override void FinishedRunning(bool runSuccessful)

protected virtual override Task< bool > ExecuteTask()

namespace BGC::Audio::Stimuli

Summary

Members Descriptions
class BGC::Audio::Stimuli::ClickStimulus

class BGC::Audio::Stimuli::ClickStimulus

Summary

Members Descriptions

Members

namespace BGC::Audio::Synthesis

Summary

Members Descriptions
class BGC::Audio::Synthesis::ActiveNoteStream Stores and renders a set of active notes. Generally meant to interact with Active ADSR Envelopes.
class BGC::Audio::Synthesis::ADSREnvelope An Attack-Decay-Sustain-Release envelope with a triggerable release.
class BGC::Audio::Synthesis::ContinuousWhiteNoiseStream True Continuous White-Noise stream
class BGC::Audio::Synthesis::FrequencyDomainToneComposer Suboptimal attempt to do frame-based rendering of a set of carrier tones.
class BGC::Audio::Synthesis::NoiseAudioClip Limited duration noise stream
class BGC::Audio::Synthesis::PerpetualSilence Stream representing silence. Useful for concatenation or as a building-block for some stimuli.
class BGC::Audio::Synthesis::SawtoothWave Sawtooth stream with specified frequency and amplitude
class BGC::Audio::Synthesis::SilenceStream Stream representing silence. Useful for concatenation or as a building-block for some stimuli.
class BGC::Audio::Synthesis::SineWave Sine wave stream with specified amplitude, frequency, and initialPhase. One period is cached and the phase offset is tracked and applied as a complex number.
class BGC::Audio::Synthesis::SquareWave Square wave stream.
class BGC::Audio::Synthesis::STMAudioClip Spectrotemporally modulated noise with the specified duration. AKA Ripples.
class BGC::Audio::Synthesis::SweepAudioClip Continuous, linear tone sweep from starting to ending frequency over specified duration.
class BGC::Audio::Synthesis::TriangleWave Triangle wave stream with specified amplitude, frequency, and duty-cycle.
class BGC::Audio::Synthesis::WhiteNoiseStream True White-Noise stream

class BGC::Audio::Synthesis::ActiveNoteStream

class BGC::Audio::Synthesis::ActiveNoteStream
  : public BGC.Audio.Filters.BGCFilter

Stores and renders a set of active notes. Generally meant to interact with Active ADSR Envelopes.

Summary

Members Descriptions
public override IEnumerable](#class_i_enumerable)< [IBGCStream>InternalStreams
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public override float SamplingRate
public inline ActiveNoteStream()
public inline void AddStream(int key,IBGCStream stream)
public inline bool RemoveStream(IBGCStream stream)
public inline bool RemoveStream(int key)
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline void Clear()
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline bool Release(int key,bool immediate)
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public override float SamplingRate

public inline ActiveNoteStream()

public inline void AddStream(int key,IBGCStream stream)

public inline bool RemoveStream(IBGCStream stream)

public inline bool RemoveStream(int key)

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline void Clear()

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline bool Release(int key,bool immediate)

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::ADSREnvelope

class BGC::Audio::Synthesis::ADSREnvelope
  : public BGC.Audio.Filters.SimpleBGCFilter
  : public BGC.Audio.Synthesis.IADSR

An Attack-Decay-Sustain-Release envelope with a triggerable release.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public inline ADSREnvelope(IBGCStream stream,double timeToPeak,double timeToSustain,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)
public inline ADSREnvelope(IBGCStream stream,double timeToPeak,double timeToSustain,double timeToRelease,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)
public inline void TriggerRelease(bool immediate)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public inline ADSREnvelope(IBGCStream stream,double timeToPeak,double timeToSustain,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)

public inline ADSREnvelope(IBGCStream stream,double timeToPeak,double timeToSustain,double timeToRelease,double sustainAmplitude,double sustainDecayTime,double releaseDecayTime)

public inline void TriggerRelease(bool immediate)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::ContinuousWhiteNoiseStream

class BGC::Audio::Synthesis::ContinuousWhiteNoiseStream
  : public BGC.Audio.BGCAudioClip

True Continuous White-Noise stream

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline ContinuousWhiteNoiseStream(Random randomizer)
public inline ContinuousWhiteNoiseStream(double rms,Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline ContinuousWhiteNoiseStream(Random randomizer)

public inline ContinuousWhiteNoiseStream(double rms,Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::FrequencyDomainToneComposer

class BGC::Audio::Synthesis::FrequencyDomainToneComposer
  : public BGC.Audio.BGCStream

Suboptimal attempt to do frame-based rendering of a set of carrier tones.

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline FrequencyDomainToneComposer(IEnumerable](#class_i_enumerable)< [ComplexCarrierTone > carrierTones,int frameSize,int overlapFactor)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline FrequencyDomainToneComposer(IEnumerable](#class_i_enumerable)< [ComplexCarrierTone > carrierTones,int frameSize,int overlapFactor)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::NoiseAudioClip

class BGC::Audio::Synthesis::NoiseAudioClip
  : public BGC.Audio.BGCAudioClip

Limited duration noise stream

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline NoiseAudioClip(double duration,double rms,double freqLB,double freqUB,int frequencyCount,AmplitudeDistribution distribution,Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline NoiseAudioClip(double duration,double rms,double freqLB,double freqUB,int frequencyCount,AmplitudeDistribution distribution,Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Synthesis::PerpetualSilence

class BGC::Audio::Synthesis::PerpetualSilence
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream
  : public BGC.Audio.IBGCStream

Stream representing silence. Useful for concatenation or as a building-block for some stimuli.

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline PerpetualSilence()
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline PerpetualSilence()

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::SawtoothWave

class BGC::Audio::Synthesis::SawtoothWave
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Sawtooth stream with specified frequency and amplitude

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline SawtoothWave(double amplitude,double frequency)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline SawtoothWave(double amplitude,double frequency)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::SilenceStream

class BGC::Audio::Synthesis::SilenceStream
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream
  : public BGC.Audio.IBGCStream

Stream representing silence. Useful for concatenation or as a building-block for some stimuli.

Summary

Members Descriptions
public override float SamplingRate
public override int TotalSamples
public inline SilenceStream(int channels,int channelSamples)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override float SamplingRate

public override int TotalSamples

public inline SilenceStream(int channels,int channelSamples)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::SineWave

class BGC::Audio::Synthesis::SineWave
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Sine wave stream with specified amplitude, frequency, and initialPhase. One period is cached and the phase offset is tracked and applied as a complex number.

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline SineWave(double amplitude,double frequency,double initialPhase)
public inline SineWave(Complex64 amplitude,double frequency)
public inline SineWave(ComplexCarrierTone carrier)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline SineWave(double amplitude,double frequency,double initialPhase)

public inline SineWave(Complex64 amplitude,double frequency)

public inline SineWave(ComplexCarrierTone carrier)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::SquareWave

class BGC::Audio::Synthesis::SquareWave
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Square wave stream.

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline SquareWave(double amplitude,double frequency,double phase,double dutyCycle)
public inline SquareWave(double firstAmplitude,double secondAmplitude,double frequency,double phase,double dutyCycle)
public inline SquareWave(double firstAmplitude,double secondAmplitude,ComplexCarrierTone carrier,double dutyCycle)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline SquareWave(double amplitude,double frequency,double phase,double dutyCycle)

public inline SquareWave(double firstAmplitude,double secondAmplitude,double frequency,double phase,double dutyCycle)

public inline SquareWave(double firstAmplitude,double secondAmplitude,ComplexCarrierTone carrier,double dutyCycle)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::STMAudioClip

class BGC::Audio::Synthesis::STMAudioClip
  : public BGC.Audio.BGCAudioClip

Spectrotemporally modulated noise with the specified duration. AKA Ripples.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public delegate IEnumerable](#class_i_enumerable)< [ComplexCarrierTone>SideBandGenerator(double modulationDepth,ComplexCarrierTone carrierTone,Dictionary< int, double > sidebandAmplitudeCache,double modulationRate,double spectralPhase)
public inline STMAudioClip(double duration,double freqLB,double freqUB,int frequencyCount,double modulationDepth,double spectralModulationRate,double temporalModulationRate,RippleDirection rippleDirection,AmplitudeDistribution distribution,Random randomizer)
public inline STMAudioClip(double duration,IEnumerable](#class_i_enumerable)< [ComplexCarrierTone > carrierTones,double modulationDepth,double spectralModulationRate,double temporalModulationRate,SideBandGenerator sideBandGenerator,Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public delegate IEnumerable](#class_i_enumerable)< [ComplexCarrierTone>SideBandGenerator(double modulationDepth,ComplexCarrierTone carrierTone,Dictionary< int, double > sidebandAmplitudeCache,double modulationRate,double spectralPhase)

public inline STMAudioClip(double duration,double freqLB,double freqUB,int frequencyCount,double modulationDepth,double spectralModulationRate,double temporalModulationRate,RippleDirection rippleDirection,AmplitudeDistribution distribution,Random randomizer)

public inline STMAudioClip(double duration,IEnumerable](#class_i_enumerable)< [ComplexCarrierTone > carrierTones,double modulationDepth,double spectralModulationRate,double temporalModulationRate,SideBandGenerator sideBandGenerator,Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Synthesis::SweepAudioClip

class BGC::Audio::Synthesis::SweepAudioClip
  : public BGC.Audio.BGCAudioClip

Continuous, linear tone sweep from starting to ending frequency over specified duration.

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public readonly SweepDirection sweepDirection
public inline SweepAudioClip(double duration,double freqLB,double freqUB,SweepDirection sweepDirection,Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public readonly SweepDirection sweepDirection

public inline SweepAudioClip(double duration,double freqLB,double freqUB,SweepDirection sweepDirection,Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

class BGC::Audio::Synthesis::TriangleWave

class BGC::Audio::Synthesis::TriangleWave
  : public BGC.Audio.BGCStream
  : public BGC.Audio.Envelopes.IBGCEnvelopeStream

Triangle wave stream with specified amplitude, frequency, and duty-cycle.

Summary

Members Descriptions
public override int Channels
public override float SamplingRate
public override int TotalSamples
public override int ChannelSamples
public inline TriangleWave(double amplitude,double frequency,double phase,double dutyCycle)
public inline TriangleWave(ComplexCarrierTone carrierTone,double dutyCycle)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public inline virtual override void Reset() Sets this internal state of this stream to the initial state
public inline virtual override void Seek(int position) Seek to the indicated position in the stream
public virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel

Members

public override int Channels

public override float SamplingRate

public override int TotalSamples

public override int ChannelSamples

public inline TriangleWave(double amplitude,double frequency,double phase,double dutyCycle)

public inline TriangleWave(ComplexCarrierTone carrierTone,double dutyCycle)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public inline virtual override void Reset()

Sets this internal state of this stream to the initial state

public inline virtual override void Seek(int position)

Seek to the indicated position in the stream

public virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

class BGC::Audio::Synthesis::WhiteNoiseStream

class BGC::Audio::Synthesis::WhiteNoiseStream
  : public BGC.Audio.BGCAudioClip

True White-Noise stream

Summary

Members Descriptions
public override int Channels
public override int TotalSamples
public override int ChannelSamples
public inline WhiteNoiseStream(double duration,double rms,Random randomizer)
public inline virtual override int Read(float [] data,int offset,int count) Copy count samples into the Data buffer, starting at offset.
public virtual override void Reset() Sets this internal state of this stream to the initial state
public virtual override void Seek(int position) Seek to the indicated position in the stream
public inline virtual override IEnumerable< double > GetChannelRMS() The RMS amplitude of each channel
protected inline virtual override void _Initialize()

Members

public override int Channels

public override int TotalSamples

public override int ChannelSamples

public inline WhiteNoiseStream(double duration,double rms,Random randomizer)

public inline virtual override int Read(float [] data,int offset,int count)

Copy count samples into the Data buffer, starting at offset.

Returns

The number of samples copied

public virtual override void Reset()

Sets this internal state of this stream to the initial state

public virtual override void Seek(int position)

Seek to the indicated position in the stream

public inline virtual override IEnumerable< double > GetChannelRMS()

The RMS amplitude of each channel

protected inline virtual override void _Initialize()

namespace BGC::Audio::Visualization

Summary

Members Descriptions
class BGC::Audio::Visualization::EmptyPlotData
class BGC::Audio::Visualization::PlotData
class BGC::Audio::Visualization::PlotUtility
class BGC::Audio::Visualization::SimplePlotData
class BGC::Audio::Visualization::SpectralDecomp
class BGC::Audio::Visualization::Spectrogram
class BGC::Audio::Visualization::SpectrogramData
struct BGC::Audio::Visualization::PlotPoint

class BGC::Audio::Visualization::EmptyPlotData

class BGC::Audio::Visualization::EmptyPlotData
  : public BGC.Audio.Visualization.PlotData

Summary

Members Descriptions
public inline virtual override void PopulateWidget(GameObject parent)

Members

public inline virtual override void PopulateWidget(GameObject parent)

class BGC::Audio::Visualization::PlotData

Summary

Members Descriptions
public Texture2D plot
public Vector2 xBounds
public Vector2 yBounds
public abstract void PopulateWidget(GameObject parent)
protected inline GameObject CreateTextureWidget(string name,GameObject parent,Texture2D tex,Vector2 anchorMin,Vector2 anchorMax,bool fixAspectRatio,Vector2 offsetMin,Vector2 offsetMax)

Members

public Texture2D plot

public Vector2 xBounds

public Vector2 yBounds

public abstract void PopulateWidget(GameObject parent)

protected inline GameObject CreateTextureWidget(string name,GameObject parent,Texture2D tex,Vector2 anchorMin,Vector2 anchorMax,bool fixAspectRatio,Vector2 offsetMin,Vector2 offsetMax)

class BGC::Audio::Visualization::PlotUtility

Summary

Members Descriptions

Members

class BGC::Audio::Visualization::SimplePlotData

class BGC::Audio::Visualization::SimplePlotData
  : public BGC.Audio.Visualization.PlotData

Summary

Members Descriptions
public inline virtual override void PopulateWidget(GameObject parent)
protected inline GameObject CreateLabelWidget(string text,GameObject parent,LabelPosition position)

Members

public inline virtual override void PopulateWidget(GameObject parent)

protected inline GameObject CreateLabelWidget(string text,GameObject parent,LabelPosition position)

class BGC::Audio::Visualization::SpectralDecomp

Summary

Members Descriptions
public double MinFreq
public double MaxFreq
public double [,] spectralValues
public double [] freqs
public double minAmplitude
public double maxAmplitude
public inline SpectralDecomp(double minFreq,double maxFreq,int windowSize,int windowCount)
public inline void Add(int window,Complex64 [] fftBuffer)
public inline double Linterp(int window,double frequency)

Members

public double MinFreq

public double MaxFreq

public double [,] spectralValues

public double [] freqs

public double minAmplitude

public double maxAmplitude

public inline SpectralDecomp(double minFreq,double maxFreq,int windowSize,int windowCount)

public inline void Add(int window,Complex64 [] fftBuffer)

public inline double Linterp(int window,double frequency)

class BGC::Audio::Visualization::Spectrogram

Summary

Members Descriptions

Members

class BGC::Audio::Visualization::SpectrogramData

class BGC::Audio::Visualization::SpectrogramData
  : public BGC.Audio.Visualization.PlotData

Summary

Members Descriptions
public Texture2D legendTex
public Vector2 legendBounds
public inline virtual override void PopulateWidget(GameObject parent)
protected inline GameObject CreateLabelWidget(string text,GameObject parent,LabelPosition position)

Members

public Texture2D legendTex

public Vector2 legendBounds

public inline virtual override void PopulateWidget(GameObject parent)

protected inline GameObject CreateLabelWidget(string text,GameObject parent,LabelPosition position)

struct BGC::Audio::Visualization::PlotPoint

Summary

Members Descriptions
public float parameterValue
public bool responseCorrect
public inline PlotPoint(float parameterValue,bool responseCorrect)

Members

public float parameterValue

public bool responseCorrect

public inline PlotPoint(float parameterValue,bool responseCorrect)

namespace BGC::DataStructures

Summary

Members Descriptions
class BGC::DataStructures::EnumListContainer A Serializeable List for 2D lists
class BGC::DataStructures::IntListContainer A Serializeable List for lists of lists

class BGC::DataStructures::EnumListContainer

class BGC::DataStructures::EnumListContainer
  : public BGC.DataStructures.IntListContainer

A Serializeable List for 2D lists

Parameters

  • TEnum

Summary

Members Descriptions
public new EnumListContainer< TEnum > Clone
public new TEnum RandomValue
public inline EnumListContainer(List< int > list) Constructor from raw int enum values
public inline EnumListContainer(List< TEnum > list) Constructor from List of enum values
public inline EnumListContainer(JsonArray json) Construct from a JsonArray of Ints
public inline EnumListContainer(JsonArray json,EnumSerialization serialization) Constructor from a JsonArray of EnumStrings
public inline EnumListContainer() Default constructor
public inline void Add(TEnum element) Adds an element of type TEnum to a list
public inline bool Remove(TEnum element) Removes an element of type TEnum from a list
public inline bool Remove(EnumListContainer< TEnum > elc) Remove all elements in another EnumListContainer Returns false if failed to remove one element
public inline void Set(List< TEnum > list) Set contained list
public inline override bool Equals(object obj) Check if two EnumListContainers are equal
public inline override int GetHashCode() Returns HashCode
public inline bool Contains(TEnum item) Check if the list contains an item
public inline Type GetEnumType() Returns the enum type

Members

public new EnumListContainer< TEnum > Clone

public new TEnum RandomValue

public inline EnumListContainer(List< int > list)

Constructor from raw int enum values

Parameters

  • list

public inline EnumListContainer(List< TEnum > list)

Constructor from List of enum values

Parameters

  • list

public inline EnumListContainer(JsonArray json)

Construct from a JsonArray of Ints

Parameters

  • json

public inline EnumListContainer(JsonArray json,EnumSerialization serialization)

Constructor from a JsonArray of EnumStrings

Parameters

  • json
  • serialization

public inline EnumListContainer()

Default constructor

public inline void Add(TEnum element)

Adds an element of type TEnum to a list

Parameters

  • element

public inline bool Remove(TEnum element)

Removes an element of type TEnum from a list

Parameters

  • element

Returns

public inline bool Remove(EnumListContainer< TEnum > elc)

Remove all elements in another EnumListContainer Returns false if failed to remove one element

Parameters

  • elc

Returns

public inline void Set(List< TEnum > list)

Set contained list

Parameters

  • list

public inline override bool Equals(object obj)

Check if two EnumListContainers are equal

Parameters

  • obj

Returns

public inline override int GetHashCode()

Returns HashCode

Returns

public inline bool Contains(TEnum item)

Check if the list contains an item

Parameters

  • item

Returns

public inline Type GetEnumType()

Returns the enum type

Returns

class BGC::DataStructures::IntListContainer

A Serializeable List for lists of lists

Summary

Members Descriptions
public List< int > list
public JsonArray JsonArray Get json array representation of the list
public IntListContainer Clone Get a clean clone of this as a new int list container
public int RandomValue Get a random value in the list
public int Count Get the number of elements in the list
public inline IntListContainer(List< int > list) Constructor from a List
public inline IntListContainer(params int [] list) Constructor from paramater list
public inline IntListContainer(JsonArray json) Constructor from a JsonArray
public inline IntListContainer() Default empty constructor
public inline void Add(int element) Adds an element to a list
public inline void RemoveAt(int index) Removes an element at specified index
public inline bool Remove(int element) Remove an element from a list
public inline bool Remove(IntListContainer lw) Remove all elements in another IntListContainer Returns false if failed to remove one element
public inline override bool Equals(object obj) Check if two IntListContainers are equal
public inline override int GetHashCode() Returns HashCode
public inline void PrintSelf() Debug.Log to print out all values of the list
public inline bool Contains(int item) Check if the list Contains an item
protected inline void Deserialize(JsonArray array) Sets the list to a deserialized JsonArray

Members

public List< int > list

Get json array representation of the list

Get a clean clone of this as a new int list container

public int RandomValue

Get a random value in the list

public int Count

Get the number of elements in the list

public inline IntListContainer(List< int > list)

Constructor from a List

Parameters

  • list

public inline IntListContainer(params int [] list)

Constructor from paramater list

Parameters

  • list

public inline IntListContainer(JsonArray json)

Constructor from a JsonArray

Parameters

  • json

public inline IntListContainer()

Default empty constructor

public inline void Add(int element)

Adds an element to a list

Parameters

  • element

public inline void RemoveAt(int index)

Removes an element at specified index

Parameters

  • index

public inline bool Remove(int element)

Remove an element from a list

Parameters

  • element

Returns

public inline bool Remove(IntListContainer lw)

Remove all elements in another IntListContainer Returns false if failed to remove one element

Parameters

  • lw

Returns

public inline override bool Equals(object obj)

Check if two IntListContainers are equal

Parameters

  • obj

Returns

public inline override int GetHashCode()

Returns HashCode

Returns

public inline void PrintSelf()

Debug.Log to print out all values of the list

public inline bool Contains(int item)

Check if the list Contains an item

Parameters

  • item

Returns

protected inline void Deserialize(JsonArray array)

Sets the list to a deserialized JsonArray

Parameters

  • array

namespace BGC::DataStructures::Generic

Summary

Members Descriptions
class BGC::DataStructures::Generic::ConstructingPool
class BGC::DataStructures::Generic::DepletableBag An unstable-sort set structure that acts as a select-without-replace bag.
class BGC::DataStructures::Generic::DepletableList A depletable/refillable set with an underlying list and defined order.
class BGC::DataStructures::Generic::MetaPool A class to manage a set of parameterized pools. Ex: A pool of float[] buffers pooled by length.
class BGC::DataStructures::Generic::RingBuffer Statically-sized ring buffer container.
class BGC::DataStructures::Generic::RingBufferEnum RingBuffer Enumerator class to enable proper list navigation.
struct BGC::DataStructures::Generic::Node GenericNode for generating tree structure

class BGC::DataStructures::Generic::ConstructingPool

class BGC::DataStructures::Generic::ConstructingPool
  : public BGC::DataStructures::Generic::IPool< T >

Summary

Members Descriptions
public ItemModifier onCreate
public ItemModifier onCheckOut
public ItemModifier onCheckIn
public int TotalCount
public IEnumerable< T > Available
public IEnumerable< T > CheckedOut
public int Count
public delegate void ItemModifier(T item)
public inline ConstructingPool(Func< T > itemConstructor)
public inline ConstructingPool(IEnumerable< T > values,Func< T > itemConstructor)
public inline void Populate(int itemCount)
public inline T CheckOut() Checks Out the next value in the IPool, constructing if necessary
public inline T CheckOut(Func< T, bool > predicate) Checks Out the next value in the IPool meeting the constraint, constructing if necessary
public inline bool TryCheckOut(out T value) Tries to CheckOut the next value in the IPool already available, returns success.
public inline bool TryCheckOut(Func< T, bool > predicate,out T value) Tries to CheckOut the next value in the IPool already available and meeting the constraint, returns success.
public inline void CheckIn(T value) Add (or re-add) a value to the available list.
public bool ContainsAnywhere(T value) Seaches active and CheckedOut items for value
public inline void CopyAllTo(T [] array,int arrayIndex) Copies active and CheckedOut values
public IEnumerable< T > GetAvailable(Func< T, bool > predicate) Returns an enumeration of available items meeting the constraint
public IEnumerable< T > GetCheckedOut(Func< T, bool > predicate) Returns an enumeration of checked-out items meeting the constraint
public bool AvailableContains(T value) Does the available pool contain the argument?
public bool CheckedOutContains(T value) Does the checked-out pool contain the argument?
public inline void MarkedCheckedIn(T value) This does not call the check out/check in delegates.
public inline void MarkedCheckedOut(T value) This does not call the check out/check in delegates.
public IEnumerator< T > GetEnumerator()

Members

public int TotalCount

public IEnumerable< T > Available

public IEnumerable< T > CheckedOut

public int Count

public delegate void ItemModifier(T item)

public inline ConstructingPool(Func< T > itemConstructor)

public inline ConstructingPool(IEnumerable< T > values,Func< T > itemConstructor)

public inline void Populate(int itemCount)

public inline T CheckOut()

Checks Out the next value in the IPool, constructing if necessary

public inline T CheckOut(Func< T, bool > predicate)

Checks Out the next value in the IPool meeting the constraint, constructing if necessary

public inline bool TryCheckOut(out T value)

Tries to CheckOut the next value in the IPool already available, returns success.

public inline bool TryCheckOut(Func< T, bool > predicate,out T value)

Tries to CheckOut the next value in the IPool already available and meeting the constraint, returns success.

public inline void CheckIn(T value)

Add (or re-add) a value to the available list.

public bool ContainsAnywhere(T value)

Seaches active and CheckedOut items for value

public inline void CopyAllTo(T [] array,int arrayIndex)

Copies active and CheckedOut values

public IEnumerable< T > GetAvailable(Func< T, bool > predicate)

Returns an enumeration of available items meeting the constraint

public IEnumerable< T > GetCheckedOut(Func< T, bool > predicate)

Returns an enumeration of checked-out items meeting the constraint

public bool AvailableContains(T value)

Does the available pool contain the argument?

public bool CheckedOutContains(T value)

Does the checked-out pool contain the argument?

public inline void MarkedCheckedIn(T value)

This does not call the check out/check in delegates.

public inline void MarkedCheckedOut(T value)

This does not call the check out/check in delegates.

public IEnumerator< T > GetEnumerator()

class BGC::DataStructures::Generic::DepletableBag

class BGC::DataStructures::Generic::DepletableBag
  : public BGC::DataStructures::Generic::IDepletable< T >

An unstable-sort set structure that acts as a select-without-replace bag.

Summary

Members Descriptions
public int TotalCount
public int Count
public inline DepletableBag(System.Random randomizer)
public inline DepletableBag(IEnumerable< T > values,bool autoRefill,System.Random randomizer)
public inline T PopNext() Removes and returns the next value in the IDepletable
public inline bool TryPopNext(out T value) Tries to remove the next value in the IDepletable and returns success
public inline void Reset() Fills the bag back up.
public inline bool DepleteValue(T value) Mark the first instance of value as depleted
public inline bool DepleteAllValue(T value) Mark all instances of value as depleted
public inline bool ReplenishValue(T value) Mark the first depleted instance of the value as available
public inline bool ReplenishAllValue(T value) Mark all instances of the value as available
public bool ContainsAnywhere(T value) Seaches active and depleted items for value
public IList< T > GetAvailable() Returns a list of available items
public inline void CopyAllTo(T [] array,int arrayIndex) Copies active and depleted values
public inline void Add(T value)
public inline void Clear()
public inline bool Contains(T value)
public inline void CopyTo(T [] dest,int destIndex)
public inline bool Remove(T item)
public IEnumerator< T > GetEnumerator()
protected List< T > values
protected int availableCount

Members

public int TotalCount

public int Count

public inline DepletableBag(System.Random randomizer)

public inline DepletableBag(IEnumerable< T > values,bool autoRefill,System.Random randomizer)

public inline T PopNext()

Removes and returns the next value in the IDepletable

public inline bool TryPopNext(out T value)

Tries to remove the next value in the IDepletable and returns success

public inline void Reset()

Fills the bag back up.

public inline bool DepleteValue(T value)

Mark the first instance of value as depleted

public inline bool DepleteAllValue(T value)

Mark all instances of value as depleted

public inline bool ReplenishValue(T value)

Mark the first depleted instance of the value as available

public inline bool ReplenishAllValue(T value)

Mark all instances of the value as available

public bool ContainsAnywhere(T value)

Seaches active and depleted items for value

public IList< T > GetAvailable()

Returns a list of available items

public inline void CopyAllTo(T [] array,int arrayIndex)

Copies active and depleted values

public inline void Add(T value)

public inline void Clear()

public inline bool Contains(T value)

public inline void CopyTo(T [] dest,int destIndex)

public inline bool Remove(T item)

public IEnumerator< T > GetEnumerator()

protected List< T > values

protected int availableCount

class BGC::DataStructures::Generic::DepletableList

class BGC::DataStructures::Generic::DepletableList
  : public BGC::DataStructures::Generic::IDepletable< T >

A depletable/refillable set with an underlying list and defined order.

Summary

Members Descriptions
public int TotalCount
public int Count
public inline DepletableList()
public inline DepletableList(IEnumerable< T > values,bool autoRefill)
public inline T PopNext() Removes and returns the next value in the IDepletable
public inline bool TryPopNext(out T value) Tries to remove the next value in the IDepletable and returns success
public inline void Reset() Fills the bag back up.
public inline bool DepleteValue(T value) Mark the first instance of value as depleted
public inline bool DepleteAllValue(T value) Mark all instances of value as depleted
public inline bool ReplenishValue(T value) Mark the first depleted instance of the value as available
public inline bool ReplenishAllValue(T value) Mark all instances of the value as available
public bool ContainsAnywhere(T value) Seaches active and depleted items for value
public inline IList< T > GetAvailable() Returns a list of available items
public inline void CopyAllTo(T [] array,int arrayIndex) Copies active and depleted values
public inline void Add(T value)
public inline void Clear()
public inline bool Contains(T value)
public inline void CopyTo(T [] dest,int destIndex)
public inline bool Remove(T item)
public IEnumerator< T > GetEnumerator()
protected List< T > values
protected List< bool > valueDepleted
protected int currentIndex

Members

public int TotalCount

public int Count

public inline DepletableList()

public inline DepletableList(IEnumerable< T > values,bool autoRefill)

public inline T PopNext()

Removes and returns the next value in the IDepletable

public inline bool TryPopNext(out T value)

Tries to remove the next value in the IDepletable and returns success

public inline void Reset()

Fills the bag back up.

public inline bool DepleteValue(T value)

Mark the first instance of value as depleted

public inline bool DepleteAllValue(T value)

Mark all instances of value as depleted

public inline bool ReplenishValue(T value)

Mark the first depleted instance of the value as available

public inline bool ReplenishAllValue(T value)

Mark all instances of the value as available

public bool ContainsAnywhere(T value)

Seaches active and depleted items for value

public inline IList< T > GetAvailable()

Returns a list of available items

public inline void CopyAllTo(T [] array,int arrayIndex)

Copies active and depleted values

public inline void Add(T value)

public inline void Clear()

public inline bool Contains(T value)

public inline void CopyTo(T [] dest,int destIndex)

public inline bool Remove(T item)

public IEnumerator< T > GetEnumerator()

protected List< T > values

protected List< bool > valueDepleted

protected int currentIndex

class BGC::DataStructures::Generic::MetaPool

A class to manage a set of parameterized pools. Ex: A pool of float[] buffers pooled by length.

Parameters

  • T The underlying pooled object type. Ex: float[] for simple buffer.

  • TArg The type on which the pools are parameterized. Ex: int for array length.

Summary

Members Descriptions
public PoolModifier onPoolCreate
public delegate void PoolModifier(ConstructingPool< T > pool)
public inline MetaPool(Func< TArg, T > itemConstructor)
public inline T CheckOut(TArg poolArgument)
public inline IPoolRelease< T > GetPoolRelease(TArg poolArgument)
public inline void CheckIn(T value)
public inline void CheckIn(T value,TArg poolArgument)

Members

public delegate void PoolModifier(ConstructingPool< T > pool)

public inline MetaPool(Func< TArg, T > itemConstructor)

public inline T CheckOut(TArg poolArgument)

public inline IPoolRelease< T > GetPoolRelease(TArg poolArgument)

public inline void CheckIn(T value)

public inline void CheckIn(T value,TArg poolArgument)

class BGC::DataStructures::Generic::RingBuffer

class BGC::DataStructures::Generic::RingBuffer
  : public IEnumerable< T >
  : public ICollection< T >

Statically-sized ring buffer container.

Summary

Members Descriptions
public int Size
public int Count
public T Head Returns the element at the head (the most recent).
public T Tail Returns the element at the Tail (the oldest).
public inline RingBuffer(int bufferSize) Construct an empty ring buffer supporting bufferSize elements
public inline RingBuffer(IEnumerable< T > values,int bufferSize) Copy the list into a new buffer, optionally specify size. Size defaults to the Count of values
public inline void Push(T newValue) Add newValue to the end of the ringbuffer. Replaces the oldest element if at capacity.
public inline void Add(T newValue) Add newValue to the end of the ringbuffer. Replaces the oldest element if at capacity.
public inline void AddRange(IEnumerable< T > newValues) Add newValues to the end of the ringbuffer. Replaces the oldest members if at capacity.
public inline void ZeroOut(int count) Clears the RingBuffer and fills it with optional count default elements. If count is -1, then the RingBuffer is completely filled.
public inline void Clear() Clear the current items in the ring buffer. Doesn't resize or release buffer memory. Does release item handles.
public inline bool Contains(T value) Query the list for the argument value.
public inline int GetIndex(T value) Get the index of the argument value if it's present. Otherwise returns -1.
public inline bool Remove(T value) Removes the first element matching the argument value, if present, returns whether a value was removed.
public inline void RemoveAt(int index) Removes the element at index.
public inline T Pop() Removes and returns the element at the head (the newest).
public inline T PopBack() Removes and returns the element at the tail (the oldest).
public T PeekHead() Returns the element at the head (the newest).
public T PeekTail() Returns the element at the tail (the oldest).
public inline int CountElement(T value) Returns the number of elements whose value match the argument.
public inline void CopyTo(T [] dest,int destIndex) Copy the list to the dest array, using the destIndex as an offset to the destination.
public inline void Resize(int bufferSize) Resize the buffer of this list to support bufferSize elements.
public RingBufferEnum< T > GetRingEnumerator()
public IEnumerator< T > GetEnumerator()

Members

public int Size

public int Count

public T Head

Returns the element at the head (the most recent).

public T Tail

Returns the element at the Tail (the oldest).

public inline RingBuffer(int bufferSize)

Construct an empty ring buffer supporting bufferSize elements

Parameters

public inline RingBuffer(IEnumerable< T > values,int bufferSize)

Copy the list into a new buffer, optionally specify size. Size defaults to the Count of values

Parameters

  • bufferSize Optional RingBuffer size. -1 uses the Count of values instead

public inline void Push(T newValue)

Add newValue to the end of the ringbuffer. Replaces the oldest element if at capacity.

public inline void Add(T newValue)

Add newValue to the end of the ringbuffer. Replaces the oldest element if at capacity.

public inline void AddRange(IEnumerable< T > newValues)

Add newValues to the end of the ringbuffer. Replaces the oldest members if at capacity.

public inline void ZeroOut(int count)

Clears the RingBuffer and fills it with optional count default elements. If count is -1, then the RingBuffer is completely filled.

Parameters

  • count The number of default elements to provide. If this is -1, the buffer is filled

public inline void Clear()

Clear the current items in the ring buffer. Doesn't resize or release buffer memory. Does release item handles.

public inline bool Contains(T value)

Query the list for the argument value.

Returns

True if the available range contains value

public inline int GetIndex(T value)

Get the index of the argument value if it's present. Otherwise returns -1.

Parameters

  • value The value to search for

Returns

Index if the available range contains value, otherwise -1

public inline bool Remove(T value)

Removes the first element matching the argument value, if present, returns whether a value was removed.

Parameters

  • value The value to remove

Returns

Returns success

public inline void [RemoveAt](#class_b_g_c_1_1_data_structures_1_1_generic_1_1_ring_

Clone this wiki locally