summaryrefslogtreecommitdiff
path: root/include/JSystem/JAudio2/JAIAudience.h
blob: 1b565a069e89cc18c42b9d7dbe35200bdac8d8f1 (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
#ifndef JAIAUDIENCE_H
#define JAIAUDIENCE_H

#include "JSystem/JGeometry.h"

class JAIAudible;
class JAISoundID;
struct JASSoundParams;

/**
 * @ingroup jsystem-jaudio
 * 
 */
struct JAIAudience {
    virtual ~JAIAudience();
    virtual JAIAudible* newAudible(JGeometry::TVec3<f32> const&, JAISoundID,
                                   JGeometry::TVec3<f32> const*, u32) = 0;
    virtual int getMaxChannels() = 0;
    virtual void deleteAudible(JAIAudible*) = 0;
    virtual u32 calcPriority(JAIAudible*) = 0;
    virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int) = 0;
};

#endif /* JAIAUDIENCE_H */