| 142 | // -------------------------------------------------------------------------------------------------------------------- |
| 143 | |
| 144 | CReflectionMixer::CReflectionMixer(CContext* context, |
| 145 | IPLAudioSettings* audioSettings, |
| 146 | IPLReflectionEffectSettings* effectSettings) |
| 147 | { |
| 148 | auto _context = context->mHandle.get(); |
| 149 | if (!_context) |
| 150 | throw Exception(Status::Failure); |
| 151 | |
| 152 | AudioSettings _audioSettings{}; |
| 153 | _audioSettings.samplingRate = audioSettings->samplingRate; |
| 154 | _audioSettings.frameSize = audioSettings->frameSize; |
| 155 | |
| 156 | IndirectEffectSettings _effectSettings{}; |
| 157 | _effectSettings.type = static_cast<IndirectEffectType>(effectSettings->type); |
| 158 | _effectSettings.numChannels = effectSettings->numChannels; |
| 159 | |
| 160 | new (&mHandle) Handle<IndirectMixer>(ipl::make_shared<IndirectMixer>(_audioSettings, _effectSettings), _context); |
| 161 | } |
| 162 | |
| 163 | IReflectionMixer* CReflectionMixer::retain() |
| 164 | { |