summaryrefslogtreecommitdiff
path: root/servers/audio/effects/audio_effect_amplify.h
blob: 921054e2cda54f58235d595381675b1109f311aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef AUDIOEFFECTAMPLIFY_H
#define AUDIOEFFECTAMPLIFY_H

#include "servers/audio/audio_effect.h"

class AudioEffectAmplify;

class AudioEffectAmplifyInstance : public AudioEffectInstance {
	GDCLASS(AudioEffectAmplifyInstance,AudioEffectInstance)
friend class AudioEffectAmplify;
	Ref<AudioEffectAmplify> base;

	float mix_volume_db;
public:

	virtual void process(const AudioFrame *p_src_frames,AudioFrame *p_dst_frames,int p_frame_count);

};


class AudioEffectAmplify : public AudioEffect {
	GDCLASS(AudioEffectAmplify,AudioEffect)

friend class AudioEffectAmplifyInstance;
	float volume_db;

protected:

	static void _bind_methods();
public:


	Ref<AudioEffectInstance> instance();
	void set_volume_db(float p_volume);
	float get_volume_db() const;

	AudioEffectAmplify();
};

#endif // AUDIOEFFECTAMPLIFY_H