/**************************************************************************** * * * Project64 - A Nintendo 64 emulator. * * http://www.pj64-emu.com/ * * Copyright (C) 2012 Project64. All rights reserved. * * * * License: * * GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html * * * ****************************************************************************/ #pragma once class CAudio { enum { ai_full = 0x80000000, ai_busy = 0x40000000, }; public: CAudio(); ~CAudio(); uint32_t GetLength (); uint32_t GetStatus (); void LenChanged (); void InterruptTimerDone(); void BusyTimerDone (); void Reset (); void SetViIntr ( uint32_t VI_INTR_TIME ); void SetFrequency ( uint32_t Dacrate, uint32_t System ); private: CAudio(const CAudio&); // Disable copy constructor CAudio& operator=(const CAudio&); // Disable assignment uint32_t m_SecondBuff; uint32_t m_Status; uint32_t m_BytesPerSecond; int32_t m_CountsPerByte; int32_t m_FramesPerSecond; };