dispatch: add function to notify playback stopped
for the PC Speaker real driver
This commit is contained in:
parent
93d160da5e
commit
8f957baa3e
|
|
@ -316,6 +316,11 @@ class DivDispatch {
|
|||
*/
|
||||
virtual void notifyInsDeletion(void* ins);
|
||||
|
||||
/**
|
||||
* notify that playback stopped.
|
||||
*/
|
||||
virtual void notifyPlaybackStop();
|
||||
|
||||
/**
|
||||
* force-retrigger instruments.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -828,6 +828,9 @@ void DivEngine::stop() {
|
|||
sPreview.sample=-1;
|
||||
sPreview.wave=-1;
|
||||
sPreview.pos=0;
|
||||
for (int i=0; i<song.systemLen; i++) {
|
||||
disCont[i].dispatch->notifyPlaybackStop();
|
||||
}
|
||||
isBusy.unlock();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,6 +97,10 @@ void DivDispatch::notifyInsDeletion(void* ins) {
|
|||
|
||||
}
|
||||
|
||||
void DivDispatch::notifyPlaybackStop() {
|
||||
|
||||
}
|
||||
|
||||
void DivDispatch::forceIns() {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -344,6 +344,8 @@ void DivPlatformPCSpeaker::reset() {
|
|||
}
|
||||
#endif
|
||||
beepFreq(0);
|
||||
} else {
|
||||
beepFreq(0);
|
||||
}
|
||||
|
||||
memset(regPool,0,2);
|
||||
|
|
@ -365,6 +367,10 @@ void DivPlatformPCSpeaker::notifyInsDeletion(void* ins) {
|
|||
}
|
||||
}
|
||||
|
||||
void DivPlatformPCSpeaker::notifyPlaybackStop() {
|
||||
beepFreq(0);
|
||||
}
|
||||
|
||||
void DivPlatformPCSpeaker::poke(unsigned int addr, unsigned short val) {
|
||||
// ???
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@ class DivPlatformPCSpeaker: public DivDispatch {
|
|||
bool keyOffAffectsArp(int ch);
|
||||
void setFlags(unsigned int flags);
|
||||
void notifyInsDeletion(void* ins);
|
||||
void notifyPlaybackStop();
|
||||
void poke(unsigned int addr, unsigned short val);
|
||||
void poke(std::vector<DivRegWrite>& wlist);
|
||||
const char** getRegisterSheet();
|
||||
|
|
|
|||
Loading…
Reference in a new issue