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;
} else {
switch (audioEngine) {
case DIV_AUDIO_JACK:
#ifndef HAVE_JACK
logE("Furnace was not compiled with JACK support!\n");
return false;
#else
output=new TAAudioJACK;
#endif
break;
case DIV_AUDIO_SDL:
output=new TAAudioSDL;
break;
default:
logE("invalid audio engine!\n");
return false;
}
want.bufsize=1024;
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);
logI("initializing audio.\n");
if (!output->init(want,got)) {
logE("error while initializing audio!\n");
return false; return false;
#else }
output=new TAAudioJACK;
#endif
break;
case DIV_AUDIO_SDL:
output=new TAAudioSDL;
break;
default:
logE("invalid audio engine!\n");
return false;
}
want.bufsize=1024;
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);
logI("initializing audio.\n");
if (!output->init(want,got)) {
logE("error while initializing audio!\n");
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;
} }