Mesen-X/Core/HdAudioDevice.h

33 lines
738 B
C
Raw Normal View History

2017-08-19 16:46:57 -04:00
#pragma once
#include "stdafx.h"
#include "IMemoryHandler.h"
#include "SoundMixer.h"
#include "OggMixer.h"
#include "Snapshotable.h"
2017-08-19 16:46:57 -04:00
struct HdPackData;
class HdAudioDevice : public IMemoryHandler, public Snapshotable
2017-08-19 16:46:57 -04:00
{
private:
HdPackData *_hdData;
uint8_t _album;
uint8_t _flags;
bool _trackError;
OggMixer* _oggMixer;
int32_t _lastBgmTrack;
2017-08-19 16:46:57 -04:00
bool PlayBgmTrack(uint8_t track, uint32_t startOffset);
2017-08-19 16:46:57 -04:00
bool PlaySfx(uint8_t sfxNumber);
void ProcessControlFlags(uint8_t flags);
protected:
void StreamState(bool saving) override;
2017-08-19 16:46:57 -04:00
public:
HdAudioDevice(HdPackData *hdData);
void GetMemoryRanges(MemoryRanges &ranges) override;
void WriteRAM(uint16_t addr, uint8_t value) override;
uint8_t ReadRAM(uint16_t addr) override;
};