prepare for file output

This commit is contained in:
tildearrow 2021-12-07 04:39:52 -05:00
parent 4cba677c04
commit 7649b845aa

View file

@ -694,37 +694,43 @@ void DivEngine::setView(DivStatusView which) {
view=which; view=which;
} }
bool DivEngine::init() { bool DivEngine::init(String outName) {
switch (audioEngine) { if (outName!="") {
case DIV_AUDIO_JACK: // init out file
#ifndef HAVE_JACK got.bufsize=2048;
logE("Furnace was not compiled with JACK support!\n"); got.rate=44100;
return false; } else {
#else switch (audioEngine) {
output=new TAAudioJACK; case DIV_AUDIO_JACK:
#endif #ifndef HAVE_JACK
break; logE("Furnace was not compiled with JACK support!\n");
case DIV_AUDIO_SDL: return false;
output=new TAAudioSDL; #else
break; output=new TAAudioJACK;
default: #endif
logE("invalid audio engine!\n"); break;
return false; case DIV_AUDIO_SDL:
} output=new TAAudioSDL;
want.bufsize=1024; break;
want.rate=44100; default:
want.fragments=2; logE("invalid audio engine!\n");
want.inChans=0; return false;
want.outChans=2; }
want.outFormat=TA_AUDIO_FORMAT_F32; want.bufsize=1024;
want.name="Furnace"; want.rate=44100;
want.fragments=2;
want.inChans=0;
want.outChans=2;
want.outFormat=TA_AUDIO_FORMAT_F32;
want.name="Furnace";
output->setCallback(process,this); output->setCallback(process,this);
logI("initializing audio.\n"); logI("initializing audio.\n");
if (!output->init(want,got)) { if (!output->init(want,got)) {
logE("error while initializing audio!\n"); logE("error while initializing audio!\n");
return false; return false;
}
} }
bb[0]=blip_new(32768); bb[0]=blip_new(32768);
@ -792,9 +798,13 @@ bool DivEngine::init() {
chan[i].volume=chan[i].volMax; chan[i].volume=chan[i].volMax;
} }
if (!output->setRun(true)) { if (outName!="") {
logE("error while activating!\n"); // render to file
return false; } else {
if (!output->setRun(true)) {
logE("error while activating!\n");
return false;
}
} }
return true; return true;
} }