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


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)

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

Reimplemented from ModulatorSynth.

const Processor* getChildProcessor ( int  processorIndex) const

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

Reimplemented from ModulatorSynth.

int getNumChildProcessors ( ) const

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

Reimplemented from ModulatorSynth.

void initRenderCallback ( )

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

Reimplemented from ModulatorSynth.

void preHiseEventCallback ( const HiseEvent m)

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 

Prepares all ModulatorSynths for playback.

Reimplemented from ModulatorSynth.

void setAllowStateForAllChildSynths ( bool  shouldBeEnabled)

set the state for all groups at once.

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