libsidplayfp 2.15.0
|
#include <sidemu.h>
Public Member Functions | |
sidemu (sidbuilder *builder) | |
virtual void | clock ()=0 |
virtual bool | lock (EventScheduler *scheduler) |
virtual void | unlock () |
void | voice (unsigned int voice, bool mute) |
void | filter (bool enable) |
virtual void | model (SidConfig::sid_model_t model, bool digiboost)=0 |
virtual void | sampling (float systemfreq SID_UNUSED, float outputfreq SID_UNUSED, SidConfig::sampling_method_t method SID_UNUSED, bool fast SID_UNUSED) |
const char * | error () const |
sidbuilder * | builder () const |
int | bufferpos () const |
void | bufferpos (int pos) |
short * | buffer () const |
![]() | |
void | reset () |
void | poke (uint_least16_t address, uint8_t value) override |
uint8_t | peek (uint_least16_t address) override |
void | getStatus (uint8_t regs[0x20]) const |
Protected Member Functions | |
virtual void | write (uint_least8_t addr, uint8_t data)=0 |
void | writeReg (uint_least8_t addr, uint8_t data) override final |
![]() | |
virtual uint8_t | read (uint_least8_t addr)=0 |
virtual void | reset (uint8_t volume)=0 |
Protected Attributes | |
EventScheduler * | eventScheduler = nullptr |
event_clock_t | m_accessClk = 0 |
short * | m_buffer = nullptr |
The sample buffer. | |
int | m_bufferpos = 0 |
Current position in buffer. | |
bool | m_status = true |
bool | isLocked = false |
bool | isFilterDisabled = false |
std::bitset< 4 > | isMuted |
Flags for muted voices. | |
std::string | m_error |
Static Protected Attributes | |
static const char | ERR_UNSUPPORTED_FREQ [] = "Unable to set desired output frequency." |
static const char | ERR_INVALID_SAMPLING [] = "Invalid sampling method." |
static const char | ERR_INVALID_CHIP [] = "Invalid chip model." |
Inherit this class to create a new SID emulation.
|
inline |
Get the buffer.
|
inline |
Get the current position in buffer.
|
inline |
Set the position in buffer.
|
pure virtual |
Clock the SID chip.
Implemented in libsidplayfp::exSID, libsidplayfp::HardSID, libsidplayfp::ReSID, and libsidplayfp::ReSIDfp.
|
inline |
Get a detailed error message.
void libsidplayfp::sidemu::filter | ( | bool | enable | ) |
Enable/disable filter.
|
virtual |
Set execution environment and lock sid to it.
Reimplemented in libsidplayfp::HardSID.
|
pure virtual |
Set SID model.
Implemented in libsidplayfp::exSID, libsidplayfp::ReSID, libsidplayfp::ReSIDfp, and libsidplayfp::HardSID.
|
inlinevirtual |
Set the sampling method.
systemfreq | |
outputfreq | |
method | |
fast |
|
virtual |
Unlock sid.
Reimplemented in libsidplayfp::HardSID.
void libsidplayfp::sidemu::voice | ( | unsigned int | voice, |
bool | mute | ||
) |
Mute/unmute voice.
voice | SID voice channels from 0 to 2, or 3 for samples |
mute | true to mute channel |
|
finaloverrideprotectedvirtual |
Implements libsidplayfp::c64sid.