/******************************************************************************* * Copyright 2015-2016 Juan Francisco Crespo Galán * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ #include "fx/ConvolverSound.h" #include "fx/ConvolverReader.h" #include "Exception.h" #include AUD_NAMESPACE_BEGIN ConvolverSound::ConvolverSound(std::shared_ptr sound, std::shared_ptr impulseResponse, std::shared_ptr threadPool) : ConvolverSound(sound, impulseResponse, threadPool, std::make_shared(0.0)) { } ConvolverSound::ConvolverSound(std::shared_ptr sound, std::shared_ptr impulseResponse, std::shared_ptr threadPool, std::shared_ptr plan) : m_sound(sound), m_impulseResponse(impulseResponse), m_threadPool(threadPool), m_plan(plan) { } std::shared_ptr ConvolverSound::createReader() { return std::make_shared(m_sound->createReader(), m_impulseResponse, m_threadPool, m_plan); } std::shared_ptr ConvolverSound::getImpulseResponse() { return m_impulseResponse; } void ConvolverSound::setImpulseResponse(std::shared_ptr impulseResponse) { m_impulseResponse = impulseResponse; } AUD_NAMESPACE_END