A Envelope that uses two Tables for the attack and release time. More...
Public Types | |
enum | SpecialParameters { Attack = EnvelopeModulator::Parameters::numParameters, Release } |
SpecialParameters for the TableEnvelope. More... | |
![]() | |
enum | InternalChains |
Overwrite this enum and list all internal chains. More... | |
enum | SpecialParameters |
Overwrite this enum and add new parameters. More... | |
![]() | |
enum | Mode { GainMode = 0, PitchMode, PanMode } |
There are two modes that Modulation can work: GainMode and PitchMode. More... | |
Public Member Functions | |
void | handleHiseEvent (const HiseEvent &m) override |
handles note-on and note-off messages and switches the internal state | |
bool | isPlaying (int voiceIndex) const override |
returns true , if the envelope is not IDLE and not bypassed. More... | |
void | setInternalAttribute (int parameterIndex, float newValue) override |
sets the envelope time and calculates the delta values per sample | |
![]() | |
Modulator (MainController *m, const String &id, int numVoices) | |
Creates a new modulator with the given Identifier. More... | |
virtual void | setColour (Colour c) |
Sets the colour of the modulator. More... | |
![]() | |
void | enableConsoleOutput (bool shouldBeEnabled) |
Enables the Processor to output messages to the Console. More... | |
bool | getEditorState (int state) const |
Restores the state of the Processor's editor. More... | |
const String & | getId () const |
Returns the unique id of the Processor instance (!= the Processor name). More... | |
virtual Identifier | getIdentifierForParameterIndex (int parameterIndex) const |
This returns a Identifier with the name of the parameter. More... | |
float | getInputValue () const |
This can be used to display the Processors input value. More... | |
int | getLargestBlockSize () const |
Returns the block size. More... | |
virtual const String | getName () const |
Overwrite this and return a pretty name. More... | |
int | getNumParameters () const |
This returns the number of (named) parameters. More... | |
float | getOutputValue () const |
This can be used to display the Processors output value. More... | |
double | getSampleRate () const |
Returns the sample rate. More... | |
const Path | getSymbol () const |
Returns the symbol of the Processor. More... | |
virtual const Identifier | getType () const =0 |
Overwrite this method to specify the name. More... | |
int | getVoiceAmount () const noexcept |
getNumVoices() is occupied by the Synthesiser class, d'oh! | |
bool | isBypassed () const noexcept |
Returns true if the processor is bypassed. More... | |
Processor (MainController *m, const String &id_, int numVoices) | |
Creates a new Processor with the given Identifier. More... | |
void | restoreCompleteEditorState (const XmlElement *storedState) |
Restores the EditorState from a BigInteger that was retrieved using getCompleteEditorState. More... | |
void | setAttribute (int parameterIndex, float newValue, juce::NotificationType notifyEditor) |
Changes a Processor parameter. More... | |
virtual void | setBypassed (bool shouldBeBypassed, NotificationType notifyChangeHandler=dontSendNotification) noexcept |
This bypasses the processor. More... | |
void | setEditorState (int state, bool isOn, NotificationType notifyView=sendNotification) |
Saves the state of the Processor's editor. More... | |
void | setIsOnAir (bool isBeingProcessedInAudioThread) |
Call this method after inserting the processor in the signal chain. More... | |
void | setSymbol (Path newSymbol) |
Sets a special symbol for the Processor. More... | |
virtual | ~Processor () |
Overwrite this if you need custom destruction behaviour. More... | |
![]() | |
void | addChangeListener (SafeChangeListener *listener) |
Registers a listener to receive change callbacks from this broadcaster. More... | |
void | removeAllChangeListeners () |
Removes all listeners from the list. More... | |
void | removeChangeListener (SafeChangeListener *listener) |
Unregisters a listener from the list. More... | |
void | sendAllocationFreeChangeMessage () |
This will send a message without allocating a message slot. More... | |
void | sendChangeMessage (const String &=String()) |
Causes an asynchronous change message to be sent to all the registered listeners. More... | |
void | sendSynchronousChangeMessage () |
Sends a synchronous change message to all the registered listeners. More... | |
![]() | |
ControlledObject (MainController *m) | |
Creates a new ControlledObject. More... | |
const MainController * | getMainController () const noexcept |
Provides read-only access to the main controller. More... | |
MainController * | getMainController () noexcept |
Provides write access to the main controller. More... | |
![]() | |
void | applyModulationValue (float calculatedModulationValue, float &destinationValue) const noexcept |
This applies the previously calculated value to the supplied destination value depending on the modulation mode (adding or multiplying). More... | |
float | calcIntensityValue (float calculatedModulationValue) const noexcept |
This applies the intensity to the given value and returns the applied value. More... | |
float | getDisplayIntensity () const noexcept |
Returns the actual intensity of the Modulation. More... | |
float | getIntensity () const noexcept |
Returns the intensity. More... | |
Mode | getMode () const noexcept |
returns the mode the Modulator is operating. More... | |
void | setIntensity (float newIntensity) noexcept |
Sets the intensity of the modulation. More... | |
void | setIntensityFromSlider (float sliderValue) noexcept |
Use this method to set the intensity from the ModulatorEditorHeader's intensity slider converting linear -12 ... More... | |
![]() | |
void | applyTimeModulation (float *destinationBuffer, int startIndex, int samplesToCopy) |
This applies the intensity to the calculated values. More... | |
virtual const float * | getCalculatedValues (int) |
Returns a read pointer to the calculated values. More... | |
![]() | |
void | addTableChangeListener (SafeChangeListener *listener) |
Adds a listener to this processor. More... | |
void | removeTableChangeListener (SafeChangeListener *listener) |
Removes a listener from this processor. More... | |
void | sendTableIndexChangeMessage (bool sendSynchronous, Table *table, float tableIndex) |
Call this method whenever the table index is changed and all connected tables will receive a change message. More... | |
Additional Inherited Members | |
![]() | |
void | setInputValue (float newValue, NotificationType notify=sendNotification) |
Call this from the baseclass whenever you want its editor to display a input value change. More... | |
void | setOutputValue (float newValue) |
Call this from the baseclass whenever you want its editor to display a value change. More... | |
![]() | |
void | applyGainModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, int numValues) const noexcept |
a vectorized version of the calcIntensityValue() and applyModulationValue() for Gain modulation with a fixed intensity value. More... | |
void | applyGainModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, const float *intensityValues, int numValues) const noexcept |
A vectorized version of the calcIntensityValue() and applyModulationValue() for Gain modulation with varying intensities. More... | |
void | applyPitchModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, const float *intensityValues, int numValues) const noexcept |
A vectorized version of the calcIntensityValue() and applyModulationValue() for Pitch modulation with varying intensities. More... | |
void | applyPitchModulation (float *calculatedModulationValues, float *destinationValues, float fixedIntensity, int numValues) const noexcept |
a vectorized version of the calcIntensityValue() and applyModulationValue() for Pitch modulation with a fixed intensity value. More... | |
virtual bool | isInitialized () |
Checks if the prepareToPlay method has been called. More... | |
virtual void | prepareToModulate (double, int samplesPerBlock) |
Creates the internal buffer with double the size of the expected buffer block size. | |
![]() | |
OwnedArray< ModulatorState > | states |
Use this array to access the state. More... | |
A Envelope that uses two Tables for the attack and release time.
It uses an internal uptime counter to switch between states to allow the tables to reach 1.0 or 0.0 without accidently switching states. If the release phase is started, while the attack phase was still active, it adjust its release gain to prevent a value jump.
The TableEnvelopeEditor has two TableEditors that display the time in the domain (converted from samples) and two ModulatorChainEditors.
enum SpecialParameters |
SpecialParameters for the TableEnvelope.
Enumerator | |
---|---|
Attack |
the attack time in milliseconds |
Release |
the release time in milliseconds |
|
overridevirtual |
returns true
, if the envelope is not IDLE and not bypassed.
Implements EnvelopeModulator.