QuadMultitapOsc

An oscillator that generates multiple waveforms from 4 separate counters, and allows the mixing of them, with 4 possible outputs. Available waveforms: * sawtooth: The basic output of the counter. * triangle: Produced from the counter by using the top-bit of the counter to invert the next 16 bits. * pulse: Produced from the counter with a simple logic of testing the counter against the pulseWidth variable. * sawpulse: Sawtooth and pulse logically AND-ed together The amounts can be set to minus, this way the output will be inverted.

Members

Functions

output
__m128i output()

Returns the output and forwards the oscillator by a single step.

outputHSync0
__m128i outputHSync0()

Implements hard synchronization between the first and any other oscillators. Template params: osc = the oscillator selection. Note: Hardsync causes noticeable aliasing artifacts on the output.

outputSSync0
__m128i outputSSync0()

Implements soft synchronization between the first and any other oscillators. Template params: osc = the oscillator selection.

setRate
void setRate(int sampleRate, double freq, int osc)

Sets the rate of a given oscillator.

Static variables

triTest
__m128i triTest;
Undocumented in source.
wordOffset
short8 wordOffset;
Undocumented in source.

Variables

counter
__m128i counter;
Undocumented in source.
levelCtrl01
short8 levelCtrl01;

Even number elements set the saw, odd number elements set the triangle amount

levelCtrl23
short8 levelCtrl23;

Even number elements set the pulse, odd number elements set the sawpulse amount

pulseWidth
__m128i pulseWidth;
Undocumented in source.
rate
__m128i rate;
Undocumented in source.
syncReset
__m128i syncReset;

Used for sync resets

Meta