1 #ifndef _PSP_AUDIO_H_ 2 #define _PSP_AUDIO_H_ 3 4 #include "PspModule.h" 5 #include "Stream.h" 6 7 namespace Psp 8 { 9 class CAudio : public CModule 10 { 11 public: 12 CAudio(uint8*); 13 virtual ~CAudio(); 14 15 void Invoke(uint32, CMIPS&); 16 std::string GetName() const; 17 18 void SetStream(Framework::CStream*); 19 20 private: 21 struct CHANNEL 22 { 23 bool reserved; 24 uint32 dataLength; 25 }; 26 27 enum 28 { 29 MAX_CHANNEL = 4, 30 }; 31 32 uint32 ChReserve(uint32, uint32, uint32); 33 uint32 SetChannelDataLen(uint32, uint32); 34 uint32 OutputPannedBlocking(uint32, uint32, uint32, uint32); 35 36 CHANNEL m_channels[MAX_CHANNEL]; 37 uint8* m_ram; 38 Framework::CStream* m_stream; 39 }; 40 41 typedef std::shared_ptr<CAudio> AudioModulePtr; 42 } 43 44 #endif 45