summaryrefslogtreecommitdiff
path: root/servers/audio/effects/audio_effect_panner.h
blob: bc1bb0081522a16c7d763b729d3db6978044bad8 (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 AUDIOEFFECTPANNER_H
#define AUDIOEFFECTPANNER_H

#include "servers/audio/audio_effect.h"

class AudioEffectPanner;

class AudioEffectPannerInstance : public AudioEffectInstance {
	GDCLASS(AudioEffectPannerInstance,AudioEffectInstance)
friend class AudioEffectPanner;
	Ref<AudioEffectPanner> base;

public:

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

};


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

friend class AudioEffectPannerInstance;
	float pan;

protected:

	static void _bind_methods();
public:


	Ref<AudioEffectInstance> instance();
	void set_pan(float p_volume);
	float get_pan() const;

	AudioEffectPanner();
};


#endif // AUDIOEFFECTPANNER_H