summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/audio_effects/reverb.h
blob: 36aaabb697b5e54a66ce71148a3c5b4526e7cc88 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert

#pragma once

#ifndef MAME_EMU_AUDIO_EFFECTS_REVERB_H
#define MAME_EMU_AUDIO_EFFECTS_REVERB_H

#include "aeffect.h"

class audio_effect_reverb : public audio_effect
{
public:
	audio_effect_reverb(u32 sample_rate, audio_effect *def);
	virtual ~audio_effect_reverb() = default;

	virtual int type() const override { return REVERB; }
	virtual void apply(const emu::detail::output_buffer_flat<sample_t> &src, emu::detail::output_buffer_flat<sample_t> &dest) override;
	virtual void config_load(util::xml::data_node const *ef_node) override;
	virtual void config_save(util::xml::data_node *ef_node) const override;
	virtual void default_changed() override;
};

#endif