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 12 struct entry_ref; 13 14 class BSimpleGameSound : public BGameSound { 15 public: 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; 35 private: 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, ...); 68 private: 69 uint32 _reserved[12]; 70 }; 71 72 #endif 73