summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/audio_effects/compressor.h
blob: 551212f34e5eb2717b171f2cb70c09e649814b08 (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_COMPRESSOR_H
#define MAME_EMU_AUDIO_EFFECTS_COMPRESSOR_H

#include "aeffect.h"

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

	virtual int type() const override { return COMPRESSOR; }
	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