K007232: acquireDirect()

This commit is contained in:
tildearrow 2025-03-09 18:20:44 -05:00
parent 804e8b7fb8
commit 85981822fa
4 changed files with 66 additions and 44 deletions

View file

@ -52,16 +52,15 @@ class DivPlatformK007232: public DivDispatch, public k007232_intf {
};
Channel chan[2];
DivDispatchOscBuffer* oscBuf[2];
int lastOut[2];
bool isMuted[2];
struct QueuedWrite {
unsigned short addr;
unsigned char val;
unsigned short delay;
QueuedWrite(): addr(0), val(0), delay(1) {}
QueuedWrite(unsigned short a, unsigned char v, unsigned short d=1):
QueuedWrite(): addr(0), val(0) {}
QueuedWrite(unsigned short a, unsigned char v):
addr(a),
val(v),
delay(d) {}
val(v) {}
};
FixedQueue<QueuedWrite,256> writes;
unsigned int sampleOffK007232[256];
@ -82,7 +81,7 @@ class DivPlatformK007232: public DivDispatch, public k007232_intf {
void chWrite(unsigned char ch, unsigned int addr, unsigned char val);
public:
u8 read_sample(u8 ne, u32 address);
void acquire(short** buf, size_t len);
void acquireDirect(blip_buffer_t** bb, size_t len);
int dispatch(DivCommand c);
void* getChanState(int chan);
DivMacroInt* getChanMacroInt(int ch);
@ -95,6 +94,7 @@ class DivPlatformK007232: public DivDispatch, public k007232_intf {
void tick(bool sysTick=true);
void muteChannel(int ch, bool mute);
int getOutputCount();
bool hasAcquireDirect();
void notifyInsChange(int ins);
void notifyWaveChange(int wave);
void notifyInsDeletion(void* ins);