All Classes Namespaces Functions Variables Enumerations Enumerator Modules Pages
Classes | Public Member Functions | List of all members
ModulatorSynthGroup Class Reference
Inheritance diagram for ModulatorSynthGroup:
ModulatorSynth Chain Processor RoutableProcessor SafeChangeBroadcaster RestorableObject ControlledObject

Classes

class  ChildSynthIterator
 
class  ModulatorSynthGroupHandler
 

Public Member Functions

int getNumChildProcessors () const override
 
ProcessorgetChildProcessor (int processorIndex) override
 
const ProcessorgetChildProcessor (int processorIndex) const override
 
void setAllowStateForAllChildSynths (bool shouldBeEnabled)
 
void preHiseEventCallback (const HiseEvent &m) override
 
void prepareToPlay (double newSampleRate, int samplesPerBlock) override
 
void initRenderCallback () override
 
- Public Member Functions inherited from ModulatorSynth
virtual void renderNextBlockWithModulators (AudioSampleBuffer &outputAudio, const HiseEventBuffer &inputMidi)
 
void renderVoice (int startSample, int numThisTime)
 
void handleHiseEvent (const HiseEvent &e)
 
void killAllVoicesWithNoteNumber (int noteNumber)
 
void killLastVoice ()
 
virtual bool soundCanBePlayed (ModulatorSynthSound *sound, int midiChannel, int midiNoteNumber, float velocity)
 
void noteOn (const HiseEvent &m)
 
int getVoiceIndex (const SynthesiserVoice *v) const
 
virtual void addProcessorsWhenEmpty ()
 
void setGain (float newGain)
 
void setBalance (float newBalance)
 
float getBalance (bool getRightChannelGain) const
 
float getGain () const
 
void setGroup (ModulatorSynthGroup *parent)
 
ModulatorSynthGroupgetGroup () const
 
bool isInGroup () const
 
int getIndexInGroup () const
 
void setClockSpeed (ClockSpeed newClockSpeed)
 
const float * getConstantPitchValues () const
 
const CriticalSection & getSynthLock () const
 
virtual void handleRetriggeredNote (ModulatorSynthVoice *voice)
 
const float * calculateGainValuesForVoice (int voiceIndex, float scriptGainValue, int startSample, int numSamples)
 
void calculatePitchValuesForVoice (int voiceIndex, float scriptPitchValue, int startSample, int numSamples)
 
const float * getPitchValuesForVoice (int voiceIndex) const
 
float * getPitchValuesForVoice (int voiceIndex)
 
- Public Member Functions inherited from Processor
 Processor (MainController *m, const String &id_)
 
virtual ~Processor ()
 
virtual const Identifier getType () const =0
 
const Path getSymbol () const
 
void setSymbol (Path newSymbol)
 
void setAttribute (int parameterIndex, float newValue, juce::NotificationType notifyEditor)
 
void enableConsoleOutput (bool shouldBeEnabled)
 
const String & getId () const
 
virtual const String getName () const
 
bool isBypassed () const noexcept
 
double getSampleRate () const
 
int getBlockSize () const
 
float getOutputValue () const
 
float getInputValue () const
 
void setEditorState (int state, bool isOn, NotificationType notifyView=sendNotification)
 
bool getEditorState (int state) const
 
void restoreCompleteEditorState (const XmlElement *storedState)
 
const Identifier getIdentifierForParameterIndex (int parameterIndex) const
 
int getNumParameters () const
 
void setIsOnAir (bool isBeingProcessedInAudioThread)
 
const CriticalSection & getDummyLockWhenNotOnAir () const
 
- Public Member Functions inherited from SafeChangeBroadcaster
void sendSynchronousChangeMessage ()
 
void addChangeListener (SafeChangeListener *listener)
 
void removeChangeListener (SafeChangeListener *listener)
 
void removeAllChangeListeners ()
 
void sendChangeMessage (const String &=String())
 
void sendAllocationFreeChangeMessage ()
 
- Public Member Functions inherited from ControlledObject
 ControlledObject (MainController *m)
 
const MainControllergetMainController () const noexcept
 
MainControllergetMainController () noexcept
 
- Public Member Functions inherited from RoutableProcessor
void editRouting (Component *childComponent)
 
int getLeftSourceChannel () const
 
int getRightSourceChannel () const
 
int getLeftDestinationChannel () const
 
int getRightDestinationChannel () const
 
- Public Member Functions inherited from Chain
bool restoreChain (const ValueTree &v)
 

Additional Inherited Members

- Public Types inherited from ModulatorSynth
enum  InternalChains
 
- Public Types inherited from Processor
enum  SpecialParameters
 
enum  InternalChains
 
- Protected Member Functions inherited from Processor
virtual Path getSpecialSymbol () const
 
void setOutputValue (float newValue)
 
void setInputValue (float newValue, NotificationType notify=sendNotification)
 

Detailed Description

A ModulatorSynthGroup is a collection of somehow related ModulatorSynths that are processed together.

This class is designed to process related ModulatorSynths (eg. round-robin groups or multimiced samples) together. Unlike the ModulatorSynthChain, this structure allows Modulators and effects to control multiple child synths. In order to ensure correct functionality, the ModulatorSynthGroup assumes that all child synths start at the same time.

The ModulatorSynthGroup is rendered like a normal ModulatorSynth using a special kind of voice (the ModulatorSynthGroupVoice).

There are some restrictions for this group type:

Member Function Documentation

Processor* getChildProcessor ( int  processorIndex)
inlineoverridevirtual

returns the total amount of child groups (internal chains + all child synths)

Reimplemented from ModulatorSynth.

const Processor* getChildProcessor ( int  processorIndex) const
inlineoverridevirtual

returns the total amount of child groups (internal chains + all child synths)

Reimplemented from ModulatorSynth.

int getNumChildProcessors ( ) const
inlineoverridevirtual

returns the total amount of child groups (internal chains + all child synths)

Reimplemented from ModulatorSynth.

void initRenderCallback ( )
inlineoverridevirtual

Clears the internal buffers of the childs and the group itself.

Reimplemented from ModulatorSynth.

void preHiseEventCallback ( const HiseEvent m)
overridevirtual

Passes the incoming MidiMessage only to the modulation chains of all child synths and NOT to the child synth's voices, as they get rendered by the ModulatorSynthGroupVoices.

Reimplemented from ModulatorSynth.

void prepareToPlay ( double  newSampleRate,
int  samplesPerBlock 
)
inlineoverridevirtual

Prepares all ModulatorSynths for playback.

Reimplemented from ModulatorSynth.

void setAllowStateForAllChildSynths ( bool  shouldBeEnabled)
inline

set the state for all groups at once.

©2017 HISE. This documentation is autogenerated from the HISE source code using Doxygen.