it kinda works

This commit is contained in:
tildearrow 2024-08-13 14:34:06 -05:00
parent 5afb68396b
commit aad42210d7
7 changed files with 151 additions and 90 deletions

View file

@ -54,18 +54,21 @@ struct DivROMExportProgress {
class DivROMExport {
protected:
std::vector<String> exportLog;
DivConfig conf;
std::vector<DivROMExportOutput> output;
std::mutex logLock;
void logAppend(String what);
public:
std::vector<String> exportLog;
std::mutex logLock;
void setConf(DivConfig& c);
virtual bool go(DivEngine* eng);
virtual void abort();
virtual void wait();
std::vector<DivROMExportOutput>& getResult();
virtual bool hasFailed();
virtual bool isRunning();
virtual DivROMExportProgress getProgress();
virtual DivROMExportProgress getProgress(int index=0);
virtual ~DivROMExport() {}
};

View file

@ -36,9 +36,9 @@ bool DivROMExport::hasFailed() {
return true;
}
DivROMExportProgress DivROMExport::getProgress() {
DivROMExportProgress DivROMExport::getProgress(int index) {
DivROMExportProgress ret;
ret.name="Test";
ret.name="";
ret.amount=0.0f;
return ret;
}
@ -55,3 +55,7 @@ void DivROMExport::wait() {
bool DivROMExport::isRunning() {
return false;
}
void DivROMExport::setConf(DivConfig& c) {
conf=c;
}

View file

@ -70,6 +70,7 @@ void DivExportAmigaValidation::run() {
bool done=false;
// sample.bin
logAppend("writing samples...");
SafeWriter* sample=new SafeWriter;
sample->init();
for (int i=0; i<256; i++) {
@ -79,6 +80,7 @@ void DivExportAmigaValidation::run() {
if (sample->tell()&1) sample->writeC(0);
// seq.bin
logAppend("making sequence...");
SafeWriter* seq=new SafeWriter;
seq->init();
@ -239,6 +241,7 @@ void DivExportAmigaValidation::run() {
EXTERN_BUSY_END;
// wave.bin
logAppend("writing wavetables...");
SafeWriter* wave=new SafeWriter;
wave->init();
for (WaveEntry& i: waves) {
@ -246,6 +249,7 @@ void DivExportAmigaValidation::run() {
}
// sbook.bin
logAppend("writing sample book...");
SafeWriter* sbook=new SafeWriter;
sbook->init();
for (SampleBookEntry& i: sampleBook) {
@ -255,6 +259,7 @@ void DivExportAmigaValidation::run() {
}
// wbook.bin
logAppend("writing wavetable book...");
SafeWriter* wbook=new SafeWriter;
wbook->init();
for (WaveEntry& i: waves) {
@ -272,6 +277,8 @@ void DivExportAmigaValidation::run() {
output.push_back(DivROMExportOutput("wave.bin",wave));
output.push_back(DivROMExportOutput("seq.bin",seq));
logAppend("finished!");
running=false;
}
@ -296,3 +303,7 @@ void DivExportAmigaValidation::abort() {
bool DivExportAmigaValidation::isRunning() {
return running;
}
bool DivExportAmigaValidation::hasFailed() {
return false;
}

View file

@ -29,6 +29,7 @@ class DivExportAmigaValidation: public DivROMExport {
public:
bool go(DivEngine* e);
bool isRunning();
bool hasFailed();
void abort();
void wait();
~DivExportAmigaValidation() {}