43 lines
1.5 KiB
C++
43 lines
1.5 KiB
C++
/****************************************************************************
|
|
* *
|
|
* 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;
|
|
};
|