aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata/progs_cache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gen_adldata/progs_cache.cpp')
-rw-r--r--utils/gen_adldata/progs_cache.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/utils/gen_adldata/progs_cache.cpp b/utils/gen_adldata/progs_cache.cpp
index 60518ba..72e1fbc 100644
--- a/utils/gen_adldata/progs_cache.cpp
+++ b/utils/gen_adldata/progs_cache.cpp
@@ -129,9 +129,23 @@ void BanksDump::addInstrument(BanksDump::MidiBank &bank, size_t patchId,
bank.instruments[patchId] = static_cast<int_fast32_t>(e.instId);
}
-void BanksDump::exportBanks(const std::string &outPath, const std::string &headerName)
+void BanksDump::exportBanks(const std::string &outPath, bool donntOverride, const std::string &headerName)
{
- FILE *out = std::fopen(outPath.c_str(), "w");
+ FILE *out;
+
+ // Check if file exist
+ if(donntOverride)
+ {
+ out = std::fopen(outPath.c_str(), "r");
+ if(out)
+ {
+ // File exist, don't override it
+ std::fclose(out);
+ return;
+ }
+ }
+
+ out = std::fopen(outPath.c_str(), "w");
std::fprintf(out, "/**********************************************************\n"
" This file is generated by `gen_adldata` automatically\n"