26 #include "sidplayfp/SidConfig.h"
27 #include "sidplayfp/siddefs.h"
29 #include "EventScheduler.h"
31 #include "c64/c64sid.h"
40 namespace libsidplayfp
52 static const char ERR_UNSUPPORTED_FREQ[];
53 static const char ERR_INVALID_SAMPLING[];
54 static const char ERR_INVALID_CHIP[];
59 event_clock_t m_accessClk = 0;
68 bool isLocked =
false;
70 bool isFilterDisabled =
false;
78 virtual void write(uint_least8_t addr, uint8_t data) = 0;
80 void writeReg(uint_least8_t addr, uint8_t data)
override final;
89 ~
sidemu()
override =
default;
134 virtual void sampling(
float systemfreq SID_UNUSED,
float outputfreq SID_UNUSED,
140 const char*
error()
const {
return m_error.c_str(); }
142 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:62
short * buffer() const
Definition: sidemu.h:157
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:65
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:134
void filter(bool enable)
Definition: sidemu.cpp:68
const char * error() const
Definition: sidemu.h:140
int bufferpos() const
Definition: sidemu.h:147
void bufferpos(int pos)
Definition: sidemu.h:152
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:73
Definition: sidbuilder.h:41