26 #include "sidplayfp/SidConfig.h"
27 #include "sidplayfp/siddefs.h"
29 #include "EventScheduler.h"
31 #include "c64/c64sid.h"
40 namespace libsidplayfp
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;
93 ~
sidemu()
override =
default;
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
short * buffer() const
Definition: sidemu.h:161
virtual bool lock(EventScheduler *scheduler)
Definition: sidemu.cpp:73
virtual void unlock()
Definition: sidemu.cpp:84
int m_bufferpos
Current position in buffer.
Definition: sidemu.h:69
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:68
const char * error() const
Definition: sidemu.h:144
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:62
virtual void model(SidConfig::sid_model_t model, bool digiboost)=0
std::bitset< 4 > isMuted
Flags for muted voices.
Definition: sidemu.h:77
Definition: sidbuilder.h:41