reference player prototype

poor performance
no playback sync yet
This commit is contained in:
tildearrow 2025-10-27 05:15:47 -05:00
parent 9bbfdc6f43
commit f77aafb44d
13 changed files with 336 additions and 15 deletions

View file

@ -1648,6 +1648,16 @@ void DivEngine::getCommandStream(std::vector<DivCommand>& where) {
BUSY_END;
}
DivFilePlayer* DivEngine::getFilePlayer() {
if (curFilePlayer==NULL) {
BUSY_BEGIN_SOFT;
curFilePlayer=new DivFilePlayer;
curFilePlayer->setOutputRate(got.rate);
BUSY_END;
}
return curFilePlayer;
}
void DivEngine::playSub(bool preserveDrift, int goalRow) {
logV("playSub() called");
std::chrono::high_resolution_clock::time_point timeStart=std::chrono::high_resolution_clock::now();
@ -3419,6 +3429,12 @@ void DivEngine::autoPatchbay() {
}
}
// file player
song.patchbay.reserve(DIV_MAX_OUTPUTS);
for (unsigned int j=0; j<DIV_MAX_OUTPUTS; j++) {
song.patchbay.push_back(0xffc00000|j|(j<<16));
}
// wave/sample preview
song.patchbay.reserve(DIV_MAX_OUTPUTS);
for (unsigned int j=0; j<DIV_MAX_OUTPUTS; j++) {
@ -4302,6 +4318,10 @@ bool DivEngine::quit(bool saveConfig) {
metroBuf=NULL;
metroBufLen=0;
}
if (curFilePlayer!=NULL) {
delete curFilePlayer;
curFilePlayer=NULL;
}
if (yrw801ROM!=NULL) delete[] yrw801ROM;
if (tg100ROM!=NULL) delete[] tg100ROM;
if (mu5ROM!=NULL) delete[] mu5ROM;