-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy patha_lane.h
More file actions
34 lines (27 loc) · 747 Bytes
/
a_lane.h
File metadata and controls
34 lines (27 loc) · 747 Bytes
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
#ifndef A_LANE_HDR
#define A_LANE_HDR
#include "a_system.h"
namespace a {
struct Lane;
struct LaneInstance final : SourceInstance {
LaneInstance(Lane *parent);
virtual void getAudio(float *buffer, size_t samples) final;
virtual bool hasEnded() const final;
virtual ~LaneInstance() final;
private:
friend struct Lane;
Lane* m_parent;
u::vector<float> m_scratch;
};
struct Lane final : Source {
Lane();
virtual LaneInstance *create() final;
virtual void setFilter(int filterHandle, Filter *filter) final;
int play(Source &sound, float volume = 1.0f, float pan = 0.0f, bool paused = false);
private:
friend struct LaneInstance;
int m_channelHandle;
LaneInstance *m_instance;
};
}
#endif