6 #ifndef PDSP_MODULE_GRAINCLOUD_H_INCLUDED 7 #define PDSP_MODULE_GRAINCLOUD_H_INCLUDED 9 #include "../../DSP/pdspCore.h" 10 #include "../../DSP/utility/OneMinusInput.h" 12 #include "TriggeredGrain.h" 25 class MultiGrainTrigger :
public Unit {
28 MultiGrainTrigger(
int outputs);
30 std::vector<OutputNode> outs;
33 void prepareUnit(
int expectedBufferSize,
double sampleRate )
override;
34 void releaseResources ()
override {};
35 void process (
int bufferSize) noexcept
override;
148 [[deprecated(
"out_L() deprecated for this module, use the ch( 0 ) method instead")]]
151 [[deprecated(
"out_R() deprecated for this module, use the ch( 1 ) method instead")]]
173 MultiGrainTrigger triggers;
175 std::vector<TriggeredGrain> streams;
191 #endif // PDSP_MODULE_GRAINCLOUD_H_INCLUDED Patchable & in_length()
Sets "length" as selected input and returns this module ready to be patched. Controls the grain lengt...
Definition: GrainCloud.cpp:154
Patchable & in_density()
Sets "density" as selected input and returns this module ready to be patched. Controls the density of...
Definition: GrainCloud.cpp:166
Patchable & in_pitch()
Sets "pitch" as selected input and returns this module ready to be patched. Controls the grain pitch ...
Definition: GrainCloud.cpp:158
float meter_env(int voice) const
returns the last processed envelope amplitude value of the selected grain. This method is thread-safe...
Definition: GrainCloud.cpp:138
void setSample(SampleBuffer *samplePointer, int index=0)
Sets the SampleBuffer pointer at the given index to a new pointer.
Definition: GrainCloud.cpp:197
Patchable & in_position()
Sets "position" as selected input and returns this module ready to be patched. This is the default in...
Definition: GrainCloud.cpp:150
Abstract class for implementing Units.
Definition: BasicNodes.h:223
float meter_position(int voice) const
returns a value from 0.0f to 1.0f that broadly rapresent the "playhead" of the selected grain...
Definition: GrainCloud.cpp:142
float meter_jitter(int voice) const
returns a value from -1.0f to 1.0f that rapresent the jitter of the selected grain. This method is thread-safe.
Definition: GrainCloud.cpp:146
Abstract class for implementing Units and Modules.
Definition: BasicNodes.h:82
Multiply in("signal") for in("mod").
Definition: Amp.h:23
Contains the data loaded from an audio file.
Definition: SampleBuffer.h:28
void addSample(SampleBuffer *newSample)
adds a pointer to a SampleBuffer to an internal array of SampleBuffer pointers
Definition: GrainCloud.cpp:203
int getVoicesNum() const
returns the number of voices used for the graincloud.
Definition: GrainCloud.cpp:215
Patchable & ch(size_t index)
Uses the selected channel as output for the patching operation. 0 is for the left channel (default ou...
Definition: GrainCloud.cpp:186
Thread-safe value control with smoothing.
Definition: SequencerBridge.h:11
Patchable & in_direction()
Sets "direction" as selected input and returns this module ready to be patched. A positive value make...
Definition: GrainCloud.cpp:182
Patchable & in_distance_jitter()
Sets "distance_jitter" as selected input and returns this module ready to be patched. Controls a random value in millisecond that is added to the time between grain retriggerings.
Definition: GrainCloud.cpp:170
A Unit with no dsp inside, it just pass it's input to the output. Patching float to this Unit is thre...
Definition: PatchNode.h:41
void setWindowType(Window_t type, int window_length=1024)
sets the envelope window shape, optionally the resolution of the table.
Definition: GrainCloud.cpp:209
Patchable & in_select()
Sets "select" as selected input and returns this module ready to be patched. Select the sample to str...
Definition: GrainCloud.cpp:162
Stereo "cloud" of really short sampled segments.
Definition: GrainCloud.h:22
Patchable & in_pitch_jitter()
Sets "pitch_jitter" as selected input and returns this module ready to be patched. Grain pitch jitter in semitones.
Definition: GrainCloud.cpp:178
Patchable & in_position_jitter()
Sets "position_jitter" as selected input and returns this module ready to be patched. Grain position jitter control relative to the sample length. 0.0f = no jitter, 1.0f = position jitter as long as the entire sample lenght.
Definition: GrainCloud.cpp:174