1/*
2 *  Copyright 2020, Haiku Inc. All Rights Reserved.
3 *  Distributed under the terms of the MIT License.
4 */
5#ifndef _SIMPLEGAMESOUND_H
6#define _SIMPLEGAMESOUND_H
7
8
9#include <GameSound.h>
10#include <GameSoundDefs.h>
11
12struct entry_ref;
13
14class BSimpleGameSound : public BGameSound {
15public:
16							BSimpleGameSound(const entry_ref* file,
17								BGameSoundDevice* device = NULL);
18
19							BSimpleGameSound(const char* file,
20								BGameSoundDevice* device = NULL);
21
22							BSimpleGameSound(const void* data,
23								size_t frameCount,
24								const gs_audio_format* format,
25								BGameSoundDevice* device = NULL);
26
27							BSimpleGameSound(const BSimpleGameSound& other);
28
29	virtual					~BSimpleGameSound();
30
31	virtual	BGameSound*		Clone() const;
32	virtual	status_t 		Perform(int32 selector, void* data);
33			status_t		SetIsLooping(bool looping);
34			bool			IsLooping() const;
35private:
36							BSimpleGameSound();
37
38	BSimpleGameSound&		operator=(const BSimpleGameSound& other);
39
40			status_t		Init(const entry_ref* file);
41			status_t 		Init(const void* data, int64 frameCount,
42								const gs_audio_format* format);
43
44	virtual	status_t		_Reserved_BSimpleGameSound_0(int32 arg, ...);
45	virtual	status_t		_Reserved_BSimpleGameSound_1(int32 arg, ...);
46	virtual	status_t		_Reserved_BSimpleGameSound_2(int32 arg, ...);
47	virtual	status_t		_Reserved_BSimpleGameSound_3(int32 arg, ...);
48	virtual	status_t		_Reserved_BSimpleGameSound_4(int32 arg, ...);
49	virtual	status_t		_Reserved_BSimpleGameSound_5(int32 arg, ...);
50	virtual	status_t		_Reserved_BSimpleGameSound_6(int32 arg, ...);
51	virtual	status_t		_Reserved_BSimpleGameSound_7(int32 arg, ...);
52	virtual	status_t		_Reserved_BSimpleGameSound_8(int32 arg, ...);
53	virtual	status_t		_Reserved_BSimpleGameSound_9(int32 arg, ...);
54	virtual	status_t		_Reserved_BSimpleGameSound_10(int32 arg, ...);
55	virtual	status_t		_Reserved_BSimpleGameSound_11(int32 arg, ...);
56	virtual	status_t		_Reserved_BSimpleGameSound_12(int32 arg, ...);
57	virtual	status_t		_Reserved_BSimpleGameSound_13(int32 arg, ...);
58	virtual	status_t		_Reserved_BSimpleGameSound_14(int32 arg, ...);
59	virtual	status_t		_Reserved_BSimpleGameSound_15(int32 arg, ...);
60	virtual	status_t		_Reserved_BSimpleGameSound_16(int32 arg, ...);
61	virtual	status_t		_Reserved_BSimpleGameSound_17(int32 arg, ...);
62	virtual	status_t		_Reserved_BSimpleGameSound_18(int32 arg, ...);
63	virtual	status_t		_Reserved_BSimpleGameSound_19(int32 arg, ...);
64	virtual	status_t		_Reserved_BSimpleGameSound_20(int32 arg, ...);
65	virtual	status_t		_Reserved_BSimpleGameSound_21(int32 arg, ...);
66	virtual	status_t		_Reserved_BSimpleGameSound_22(int32 arg, ...);
67	virtual	status_t		_Reserved_BSimpleGameSound_23(int32 arg, ...);
68private:
69			uint32			_reserved[12];
70};
71
72#endif
73