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... | |
Public Types inherited from Processor | |
enum | InternalChains |
Overwrite this enum and list all internal chains. More... | |
enum | SpecialParameters |
Overwrite this enum and add new parameters. More... | |
Public Types inherited from Modulation | |
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 | |
Public Member Functions inherited from Modulator | |
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... | |
Public Member Functions inherited from Processor | |
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... | |
Public Member Functions inherited from SafeChangeBroadcaster | |
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... | |
Public Member Functions inherited from ControlledObject | |
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... | |
Public Member Functions inherited from Modulation | |
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... | |
Public Member Functions inherited from TimeModulation | |
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... | |
Public Member Functions inherited from LookupTableProcessor | |
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 | |
Protected Member Functions inherited from Processor | |
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... | |
Protected Member Functions inherited from TimeModulation | |
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. | |
Protected Attributes inherited from EnvelopeModulator | |
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.