# Amuse: amuse::Submix Class Reference

amuse::Submix Class Reference

`#include <Submix.hpp>`

Collaboration diagram for amuse::Submix:

## Public Member Functions

| Submix (Engine &engine, Submix *smx)
Submix * | getParentSubmix ()
template<class T , class... Args>
T & | makeEffect (Args...args)
EffectChorus & | makeChorus (uint32_t baseDelay, uint32_t variation, uint32_t period)
EffectDelay & | makeDelay (uint32_t initDelay, uint32_t initFeedback, uint32_t initOutput)
EffectReverbStd & | makeReverbStd (float coloration, float mix, float time, float damping, float preDelay)
EffectReverbHi & | makeReverbHi (float coloration, float mix, float time, float damping, float preDelay, float crosstalk)
void | clearEffects ()
bool | canApplyEffect () const
void | applyEffect (int16_t *audio, size_t frameCount, const ChannelMap &chanMap) const
void | applyEffect (int32_t *audio, size_t frameCount, const ChannelMap &chanMap) const
void | applyEffect (float *audio, size_t frameCount, const ChannelMap &chanMap) const
Engine & | getEngine ()

## Friends

class | Engine
class | Voice
class | Sequencer

## Detailed Description

Intermediate mix of voices for applying auxiliary effects

Definition at line 20 of file Submix.hpp.

## Member Function Documentation

void amuse::Submix::applyEffect | ( | int16_t * | audio,
|  | size_t | frameCount,
|  | const ChannelMap & | chanMap
| ) |  | const

in/out transformation entry for audio effect

Here is the caller graph for this function:

void amuse::Submix::applyEffect | ( | int32_t * | audio,
|  | size_t | frameCount,
|  | const ChannelMap & | chanMap
| ) |  | const

in/out transformation entry for audio effect

void amuse::Submix::applyEffect | ( | float * | audio,
|  | size_t | frameCount,
|  | const ChannelMap & | chanMap
| ) |  | const

in/out transformation entry for audio effect

bool amuse::Submix::canApplyEffect | ( |  | ) | const

inline

Returns true when an effect callback is bound

Definition at line 91 of file Submix.hpp.

Here is the call graph for this function:

void amuse::Submix::clearEffects | ( |  | ) |

inline

Remove and deallocate all effects from effect stack

Definition at line 88 of file Submix.hpp.

Submix* amuse::Submix::getParentSubmix | ( |  | ) |

inline

Obtain pointer to Submix's parent Submix

Definition at line 44 of file Submix.hpp.

EffectChorus& amuse::Submix::makeChorus | ( | uint32_t | baseDelay,
|  | uint32_t | variation,
|  | uint32_t | period
| ) |  |

Add new chorus effect to effect stack and assume ownership

Here is the caller graph for this function:

EffectDelay& amuse::Submix::makeDelay | ( | uint32_t | initDelay,
|  | uint32_t | initFeedback,
|  | uint32_t | initOutput
| ) |  |

Add new delay effect to effect stack and assume ownership

Here is the caller graph for this function:
template<class T , class... Args>

T& amuse::Submix::makeEffect | ( | Args... | args | ) |

inline

Add new effect to effect stack and assume ownership

Definition at line 48 of file Submix.hpp.

Here is the call graph for this function:

EffectReverbHi& amuse::Submix::makeReverbHi | ( | float | coloration,
|  | float | mix,
|  | float | time,
|  | float | damping,
|  | float | preDelay,
|  | float | crosstalk
| ) |  |

Add new high-quality reverb effect to effect stack and assume ownership

Here is the caller graph for this function:

EffectReverbStd& amuse::Submix::makeReverbStd | ( | float | coloration,
|  | float | mix,
|  | float | time,
|  | float | damping,
|  | float | preDelay
| ) |  |

Add new standard-quality reverb effect to effect stack and assume ownership

Here is the caller graph for this function:

The documentation for this class was generated from the following file:

- include/amuse/Submix.hpp