here we go
This commit is contained in:
parent
f7553ede78
commit
0fd72afeb4
|
|
@ -486,7 +486,7 @@ std::vector<String>& FurnaceGUIFileDialog::getFileName() {
|
|||
return fileName;
|
||||
} else {
|
||||
fileName.clear();
|
||||
if (dialogType==1) {
|
||||
if (dialogType!=0) {
|
||||
fileName.push_back(ImGuiFileDialog::Instance()->GetFilePathName());
|
||||
} else {
|
||||
for (auto& i: ImGuiFileDialog::Instance()->GetSelection()) {
|
||||
|
|
|
|||
|
|
@ -5159,7 +5159,8 @@ bool FurnaceGUI::loop() {
|
|||
}
|
||||
}
|
||||
break;
|
||||
case GUI_FILE_INS_SAVE_ALL:
|
||||
case GUI_FILE_INS_SAVE_ALL: {
|
||||
String errors;
|
||||
for (int i=0; i<e->song.insLen; i++) {
|
||||
String nextPath=copyOfName;
|
||||
nextPath+=DIR_SEPARATOR_STR;
|
||||
|
|
@ -5178,14 +5179,61 @@ bool FurnaceGUI::loop() {
|
|||
nextPath+=".fui";
|
||||
logV("%s",nextPath);
|
||||
if (!e->song.ins[i]->save(nextPath.c_str(),&e->song,settings.writeInsNames)) {
|
||||
|
||||
errors+=fmt::sprintf("%s: could not save!\n",e->song.ins[i]->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (!errors.empty()) {
|
||||
showError(errors);
|
||||
}
|
||||
break;
|
||||
case GUI_FILE_WAVE_SAVE_ALL:
|
||||
case GUI_FILE_SAMPLE_SAVE_ALL:
|
||||
showError("Placeholder.");
|
||||
}
|
||||
case GUI_FILE_WAVE_SAVE_ALL: {
|
||||
String errors;
|
||||
for (int i=0; i<e->song.waveLen; i++) {
|
||||
String nextPath=copyOfName;
|
||||
nextPath+=DIR_SEPARATOR_STR;
|
||||
nextPath+=fmt::sprintf("%.2X.fuw",i);
|
||||
logV("%s",nextPath);
|
||||
if (!e->song.wave[i]->save(nextPath.c_str())) {
|
||||
errors+=fmt::sprintf("%d: could not save!\n",i);
|
||||
}
|
||||
}
|
||||
|
||||
if (!errors.empty()) {
|
||||
showError(errors);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GUI_FILE_SAMPLE_SAVE_ALL: {
|
||||
String errors;
|
||||
for (int i=0; i<e->song.sampleLen; i++) {
|
||||
String nextPath=copyOfName;
|
||||
nextPath+=DIR_SEPARATOR_STR;
|
||||
nextPath+=fmt::sprintf("%.2X_",i);
|
||||
for (char j: e->song.sample[i]->name) {
|
||||
switch (j) {
|
||||
// these chars are reserved
|
||||
case '/': case '<': case '>': case ':': case '"': case '\\': case '|': case '?': case '*':
|
||||
nextPath+='_';
|
||||
break;
|
||||
default:
|
||||
nextPath+=j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
nextPath+=".wav";
|
||||
logV("%s",nextPath);
|
||||
if (!e->song.sample[i]->save(nextPath.c_str())) {
|
||||
errors+=fmt::sprintf("%s: could not save!\n",e->song.sample[i]->name);
|
||||
}
|
||||
}
|
||||
|
||||
if (!errors.empty()) {
|
||||
showError(errors);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GUI_FILE_WAVE_SAVE:
|
||||
if (curWave>=0 && curWave<(int)e->song.wave.size()) {
|
||||
if (e->song.wave[curWave]->save(copyOfName.c_str())) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue