| 52 | } |
| 53 | |
| 54 | CDirectEffect::CDirectEffect(CContext* context, |
| 55 | IPLAudioSettings* audioSettings, |
| 56 | IPLDirectEffectSettings* effectSettings) |
| 57 | { |
| 58 | auto _context = context->mHandle.get(); |
| 59 | if (!_context) |
| 60 | throw Exception(Status::Failure); |
| 61 | |
| 62 | AudioSettings _audioSettings{}; |
| 63 | _audioSettings.samplingRate = audioSettings->samplingRate; |
| 64 | _audioSettings.frameSize = audioSettings->frameSize; |
| 65 | |
| 66 | DirectEffectSettings _effectSettings{}; |
| 67 | _effectSettings.numChannels = effectSettings->numChannels; |
| 68 | |
| 69 | new (&mHandle) Handle<DirectEffect>(ipl::make_shared<DirectEffect>(_audioSettings, _effectSettings), _context); |
| 70 | } |
| 71 | |
| 72 | IDirectEffect* CDirectEffect::retain() |
| 73 | { |