Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt

This commit is contained in:
cam900 2022-10-22 10:17:00 +09:00
commit 487607b6ae
110 changed files with 1707 additions and 854 deletions

View file

@ -275,6 +275,14 @@ struct DivRegWrite {
addr(a), val(v) {}
};
struct DivDelayedWrite {
int time;
DivRegWrite write;
DivDelayedWrite(int t, unsigned int a, unsigned short v):
time(t),
write(a,v) {}
};
struct DivDispatchOscBuffer {
bool follow;
unsigned int rate;
@ -327,6 +335,14 @@ class DivDispatch {
*/
virtual void acquire(short* bufL, short* bufR, size_t start, size_t len);
/**
* fill a write stream with data (e.g. for software-mixed PCM).
* @param stream the write stream.
* @param rate stream rate (e.g. 44100 for VGM).
* @param len number of samples.
*/
virtual void fillStream(std::vector<DivDelayedWrite>& stream, int sRate, size_t len);
/**
* send a command to this dispatch.
* @param c a DivCommand.