26#include "sidplayfp/SidConfig.h"
27#include "sidplayfp/siddefs.h"
29#include "EventScheduler.h"
31#include "c64/c64sid.h"
56 static const char ERR_UNSUPPORTED_FREQ[];
57 static const char ERR_INVALID_SAMPLING[];
58 static const char ERR_INVALID_CHIP[];
63 event_clock_t m_accessClk = 0;
72 bool isLocked =
false;
74 bool isFilterDisabled =
false;
82 virtual void write(uint_least8_t addr, uint8_t data) = 0;
84 void writeReg(uint_least8_t addr, uint8_t data)
override final;
138 virtual void sampling(
float systemfreq SID_UNUSED,
float outputfreq SID_UNUSED,
144 const char*
error()
const {
return m_error.c_str(); }
146 sidbuilder* builder()
const {
return m_builder; }
sid_model_t
SID chip model.
Definition SidConfig.h:51
sampling_method_t
Sampling method.
Definition SidConfig.h:84
Definition EventScheduler.h:62
short * m_buffer
The sample buffer.
Definition sidemu.h:66
virtual bool lock(EventScheduler *scheduler)
Definition sidemu.cpp:67
virtual void unlock()
Definition sidemu.cpp:78
int m_bufferpos
Current position in buffer.
Definition sidemu.h:69
const char * error() const
Definition sidemu.h:144
virtual void sampling(float systemfreq SID_UNUSED, float outputfreq SID_UNUSED, SidConfig::sampling_method_t method SID_UNUSED, bool fast SID_UNUSED)
Definition sidemu.h:138
void filter(bool enable)
Definition sidemu.cpp:62
int bufferpos() const
Definition sidemu.h:151
void bufferpos(int pos)
Definition sidemu.h:156
static constexpr unsigned int OUTPUTBUFFERSIZE
Buffer size. 5000 is roughly 5 ms at 96 kHz.
Definition sidemu.h:50
void voice(unsigned int voice, bool mute)
Definition sidemu.cpp:56
virtual void model(SidConfig::sid_model_t model, bool digiboost)=0
std::bitset< 4 > isMuted
Flags for muted voices.
Definition sidemu.h:77
short * buffer() const
Definition sidemu.h:161
Definition sidbuilder.h:41