97 void startNote(
int midiNote,
float velocity,
int voiceIndex);
172 float cube(
float val);
Definition OscillatorUtils.h:39
Flavour
Definition OscillatorUtils.h:49
Generates sounds by decimating and reconstructing audio samples.
Definition GranularOscillator.h:21
const float FADE_POINT_MIN
Definition GranularOscillator.h:239
float m_playbackHzDetuned
Definition GranularOscillator.h:205
volatile float m_directionGating
Definition GranularOscillator.h:222
float m_startIndexSearched
Definition GranularOscillator.h:211
bool m_loopingEnable
Definition GranularOscillator.h:230
void setTaggingType(bool isOn)
Definition GranularOscillator.cpp:116
StereoSample getNextStereoSampler()
Definition GranularOscillator.cpp:703
const float FLUX_SCALING_NEGATIVE
Definition GranularOscillator.h:247
const float AMPLITUDE_FIDDLE_FACTOR
Definition GranularOscillator.h:238
float m_grainRate
Definition GranularOscillator.h:209
float m_startIndex
Definition GranularOscillator.h:210
GranularPlaybackMode m_granularOscillatorType
Definition GranularOscillator.h:202
void startNote(int midiNote, float velocity, int voiceIndex)
Starts the oscillator playing, usually called by key down event.
Definition GranularOscillator.cpp:84
int m_voiceIndex
Definition GranularOscillator.h:220
std::vector< const float * > m_parameters
Definition GranularOscillator.h:216
float m_rampInc
Definition GranularOscillator.h:255
GranularParam
Definition GranularOscillator.h:115
@ DetuneMod
Definition GranularOscillator.h:128
@ Start
Definition GranularOscillator.h:117
@ Smoothing
Definition GranularOscillator.h:151
@ SizeDY
Definition GranularOscillator.h:158
@ Quench
Definition GranularOscillator.h:136
@ DetuneRand
Definition GranularOscillator.h:129
@ SizeST
Definition GranularOscillator.h:154
@ Detune
Definition GranularOscillator.h:127
@ Autoplay
Definition GranularOscillator.h:140
@ DivDY
Definition GranularOscillator.h:159
@ RateRand
Definition GranularOscillator.h:122
@ PhaseSync
Definition GranularOscillator.h:147
@ VehicleLevel
Definition GranularOscillator.h:133
@ Size
Definition GranularOscillator.h:119
@ SizeRand
Definition GranularOscillator.h:120
@ NUM_PARAMS
Definition GranularOscillator.h:164
@ GrainLim
Definition GranularOscillator.h:142
@ MovementSensitivity
Definition GranularOscillator.h:152
@ SprayDY
Definition GranularOscillator.h:160
@ Robin
Definition GranularOscillator.h:137
@ SALoop
Definition GranularOscillator.h:138
@ PanRand
Definition GranularOscillator.h:126
@ Solo
Definition GranularOscillator.h:163
@ SprayST
Definition GranularOscillator.h:156
@ DivST
Definition GranularOscillator.h:155
@ Mute
Definition GranularOscillator.h:162
@ MixDY
Definition GranularOscillator.h:161
@ LevelMod
Definition GranularOscillator.h:134
@ MuteUp
Definition GranularOscillator.h:149
@ PhaseLock
Definition GranularOscillator.h:146
@ Width
Definition GranularOscillator.h:123
@ MixST
Definition GranularOscillator.h:157
@ Shape
Definition GranularOscillator.h:141
@ Pan
Definition GranularOscillator.h:125
@ StartRand
Definition GranularOscillator.h:118
@ GranularLevel
Definition GranularOscillator.h:132
@ MuteDown
Definition GranularOscillator.h:150
@ Tracking
Definition GranularOscillator.h:144
@ Cycles
Definition GranularOscillator.h:145
@ Rate
Definition GranularOscillator.h:121
@ AutoRate
Definition GranularOscillator.h:139
@ WidthRand
Definition GranularOscillator.h:124
@ Normalise
Definition GranularOscillator.h:148
@ SamplerLevel
Definition GranularOscillator.h:131
@ Level
Definition GranularOscillator.h:130
@ LevelRand
Definition GranularOscillator.h:135
bool m_autoplayEnabled
Definition GranularOscillator.h:241
bool m_normalisationEnable
Definition GranularOscillator.h:231
void setGrainData(Grain *playingGrain)
Definition GranularOscillator.cpp:855
bool m_taggingType
Definition GranularOscillator.h:228
std::vector< Grain * > m_activeGrains
Definition GranularOscillator.h:214
void clearNote()
Signals the oscillator to stop immediately, and return any grains to pool.
Definition GranularOscillator.cpp:106
SlewLimiter m_channelCrossfade
Definition GranularOscillator.h:223
double m_samplerate
Definition GranularOscillator.h:207
float m_crossfadeValue
Definition GranularOscillator.h:226
const float RAMP_LENGTH_SECONDS
Definition GranularOscillator.h:250
const float FLUX_SCALING_POSITIVE
Definition GranularOscillator.h:246
bool m_isDrone
Definition GranularOscillator.h:240
size_t m_sampleIndex
Definition GranularOscillator.h:232
void setLoopEnableFlag()
Definition GranularOscillator.cpp:120
const float getVelocity()
Returns the value of the velocity as a float in [0...1].
Definition GranularOscillator.cpp:104
SampleEngine * m_sampleEngine
Definition GranularOscillator.h:213
void setTrackingEnable(bool isOn)
Definition GranularOscillator.cpp:118
float m_playbackHz
Definition GranularOscillator.h:204
bool m_trackingEnable
Definition GranularOscillator.h:229
StereoSample getNextStereoGranularSamplePhaseLocked()
Definition GranularOscillator.cpp:306
StereoSample getNextStereoGranular()
Definition GranularOscillator.cpp:503
double getPhase() override
Definition GranularOscillator.h:61
void setPhaseOffset(float) override
Definition GranularOscillator.h:58
bool m_stopped
Definition GranularOscillator.h:217
void generateGrainsGranular(StereoSample &sampleAccumulator)
Definition GranularOscillator.cpp:955
void setGranularOscillatorType(GranularPlaybackMode newType)
Definition GranularOscillator.cpp:18
int m_length
Definition GranularOscillator.h:215
void setFrequency(float frequency) override
Sets the target frequency which you want the oscillator to output.
Definition GranularOscillator.cpp:76
float m_detuneModVal
Definition GranularOscillator.h:237
float m_rampSamples
Definition GranularOscillator.h:253
void setPhase(double) override
Definition GranularOscillator.h:60
void setGranularParameter(size_t paramIndex, const float *newValue)
Updates the granular engine and returns the next audio value.
Definition GranularOscillator.cpp:24
void generateNewFluxFactor()
Definition GranularOscillator.cpp:159
float m_velocity
Definition GranularOscillator.h:233
void generateGrainsSampler(StereoSample &sampleAccumulator)
Definition GranularOscillator.cpp:871
GranularOscillator()
Definition GranularOscillator.cpp:16
bool m_allowAudiosegmentIncrement
Definition GranularOscillator.h:234
float cube(float val)
Definition GranularOscillator.cpp:82
bool m_keyDown
Definition GranularOscillator.h:218
const float FLUX_PARAM_SKEW
Definition GranularOscillator.h:245
void setSampleRate(double sampleRate) override
Sets the sample rate which the granular oscillator uses to calculate its output.
Definition GranularOscillator.cpp:36
Grain * launchGrain(float paramSize, float paramStart, float paramSpray, Grain::Flavour flavour, float gain=-1.f)
Definition GranularOscillator.cpp:196
AudioDescriptor m_closestDescriptor
Definition GranularOscillator.h:212
float m_fluxFactor
Definition GranularOscillator.h:208
void killNANs(StereoSample &sample)
Definition GranularOscillator.cpp:125
double calculatePlayheadPosition(double startPosition, float halfSpray, float referenceGrainsize)
Definition GranularOscillator.cpp:174
const float PARAMETER_TRUE_THRESHOLD
Definition GranularOscillator.h:242
double getSampleRate() override
Returns the sample rate which which you set with the setSampleRate method.
Definition GranularOscillator.cpp:1030
~GranularOscillator() override
Definition GranularOscillator.h:30
void flushGranular()
Definition GranularOscillator.cpp:52
SlewLimiter m_directionGatingSmoother
Definition GranularOscillator.h:224
PhaseGenerator m_grainTimer
Definition GranularOscillator.h:203
void setSampleData(SampleEngine *sampleEngine)
Sets the oscillator's internal reference to the SampleEngine structure it is to use.
Definition GranularOscillator.cpp:45
juce::Random m_rand
Definition GranularOscillator.h:201
void stopNote()
Signals the oscillator to begin key up behaviour, usually called by key up event The oscillator may c...
Definition GranularOscillator.cpp:102
void reset() override
Definition GranularOscillator.h:59
float getFrequency() override
Gets the target frequency which you set with the setFrequency method.
Definition GranularOscillator.cpp:1028
void setGranularParameters(std::vector< const float * > &newParams)
Sets multiple internal parameter to new values.
Definition GranularOscillator.cpp:30
int getNumActiveGrains() override
Returns the number of grains currently active for this instance of the oscillator.
Definition GranularOscillator.cpp:1032
StereoSample getNextStereoSample(size_t sampleIndex) override
Updates the granular engine and returns the next audio value.
Definition GranularOscillator.cpp:264
Definition Oscillator.h:7
Definition OscillatorUtils.h:89
Definition SampleEngine.h:84
Definition OscillatorUtils.h:198
Definition KrotosAudioBuffer.h:16
Definition AirAbsorptionFilter.cpp:2
GranularPlaybackMode
Definition SampleEngine.h:46
A class to contains any attributes we want to store for the described audio.
Definition KrotosAudioBufferDSP.h:177