// DR. ROBOTNIK'S RING RACERS //----------------------------------------------------------------------------- // Copyright (C) 2024 by Ronald "Eidolon" Kinard // Copyright (C) 2024 by Kart Krew // // This program is free software distributed under the // terms of the GNU General Public License, version 2. // See the 'LICENSE' file for more details. //----------------------------------------------------------------------------- #ifndef __SRB2_AUDIO_MIXER_HPP__ #define __SRB2_AUDIO_MIXER_HPP__ #include #include #include #include "source.hpp" namespace srb2::audio { template class Mixer : public Source { public: virtual std::size_t generate(tcb::span> buffer) override final; virtual ~Mixer(); void add_source(const std::shared_ptr>& source); private: std::vector>> sources_; std::vector> buffer_; }; extern template class Mixer<1>; extern template class Mixer<2>; } // namespace srb2::audio #endif // __SRB2_AUDIO_MIXER_HPP__