improve audio export options - UNTESTED/UNFINISHED

This commit is contained in:
tildearrow 2024-05-10 20:01:12 -05:00
parent e5026e43aa
commit 008fe4b6b8
8 changed files with 112 additions and 60 deletions

View file

@ -2436,7 +2436,7 @@ int FurnaceGUI::loadStream(String path) {
void FurnaceGUI::exportAudio(String path, DivAudioExportModes mode) {
e->saveAudio(path.c_str(),exportLoops+1,mode,exportFadeOut);
e->saveAudio(path.c_str(),audioExportOptions);
displayExporting=true;
}
@ -6761,10 +6761,10 @@ bool FurnaceGUI::init() {
followOrders=e->getConfBool("followOrders",true);
followPattern=e->getConfBool("followPattern",true);
noteInputPoly=e->getConfBool("noteInputPoly",true);
exportLoops=e->getConfInt("exportLoops",0);
if (exportLoops<0) exportLoops=0;
exportFadeOut=e->getConfDouble("exportFadeOut",0.0);
if (exportFadeOut<0.0) exportFadeOut=0.0;
audioExportOptions.loops=e->getConfInt("exportLoops",0);
if (audioExportOptions.loops<0) audioExportOptions.loops=0;
audioExportOptions.fadeOut=e->getConfDouble("exportFadeOut",0.0);
if (audioExportOptions.fadeOut<0.0) audioExportOptions.fadeOut=0.0;
orderEditMode=e->getConfInt("orderEditMode",0);
if (orderEditMode<0) orderEditMode=0;
if (orderEditMode>3) orderEditMode=3;
@ -6826,8 +6826,8 @@ bool FurnaceGUI::init() {
syncTutorial();
if (!settings.persistFadeOut) {
exportLoops=settings.exportLoops;
exportFadeOut=settings.exportFadeOut;
audioExportOptions.loops=settings.exportLoops;
audioExportOptions.fadeOut=settings.exportFadeOut;
}
for (int i=0; i<settings.maxRecentFile; i++) {
@ -7320,8 +7320,8 @@ void FurnaceGUI::commitState() {
e->setConf("orderEditMode",orderEditMode);
e->setConf("noteInputPoly",noteInputPoly);
if (settings.persistFadeOut) {
e->setConf("exportLoops",exportLoops);
e->setConf("exportFadeOut",exportFadeOut);
e->setConf("exportLoops",audioExportOptions.loops);
e->setConf("exportFadeOut",audioExportOptions.fadeOut);
}
// commit oscilloscope state
@ -7581,7 +7581,6 @@ FurnaceGUI::FurnaceGUI():
oldRow(0),
editStep(1),
editStepCoarse(16),
exportLoops(0),
soloChan(-1),
orderEditMode(0),
orderCursor(-1),
@ -7604,7 +7603,6 @@ FurnaceGUI::FurnaceGUI():
curPaletteChoice(0),
curPaletteType(0),
soloTimeout(0.0f),
exportFadeOut(5.0),
patExtraButtons(false),
patChannelNames(false),
patChannelPairs(true),
@ -7955,7 +7953,6 @@ FurnaceGUI::FurnaceGUI():
introStopped(false),
curTutorial(-1),
curTutorialStep(0),
audioExportType(0),
dmfExportVersion(0),
curExportType(GUI_EXPORT_NONE) {
// value keys