From a41963a48cfab8cfc5e949e4ff5628f0bf9aedba Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Tue, 2 Jul 2019 18:37:47 +0300 Subject: Simplify and automate preparation for deep-debug --- .gitignore | 3 +++ utils/gen_adldata/CMakeLists.txt | 25 ++++++++++++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 35f6cf7..5a3d8c5 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,6 @@ docs .idea/* cmake-build-*/* +# Gen ADLDATA's deep-debug WAVs +fm_banks/_deep_debug/* + diff --git a/utils/gen_adldata/CMakeLists.txt b/utils/gen_adldata/CMakeLists.txt index 46c2525..5b7a18e 100644 --- a/utils/gen_adldata/CMakeLists.txt +++ b/utils/gen_adldata/CMakeLists.txt @@ -19,10 +19,21 @@ list(APPEND GEN_ADLDATA_SRC ini/ini_processing.cpp ) -#add_definitions(-DGEN_ADLDATA_DEEP_DEBUG) -#list(APPEND GEN_ADLDATA_SRC -# ../midiplay/wave_writer.c -#) +option(WITH_GENADLDATA_DEEPDEBUG "Enable deep debug mode of gen_adldata with dumping every voice into WAV file" OFF) +if(WITH_GENADLDATA_DEEPDEBUG) + add_definitions(-DGEN_ADLDATA_DEEP_DEBUG) + list(APPEND GEN_ADLDATA_SRC + ../midiplay/wave_writer.c + ) + file(GLOB WAV_FILES ${libADLMIDI_SOURCE_DIR}/fm_banks/_deep_debug/*.wav) + if(WAV_FILES) + file(REMOVE ${WAV_FILES}) + endif() + add_custom_target(gen_adldata_deepdebug_prepare ALL + COMMAND ${CMAKE_COMMAND} -E make_directory ${libADLMIDI_SOURCE_DIR}/fm_banks/_deep_debug + COMMAND ${CMAKE_COMMAND} -E remove ${libADLMIDI_SOURCE_DIR}/fm_banks/adldata-cache-x.dat + ) +endif() if(USE_DOSBOX_EMULATOR) set(HAS_EMULATOR TRUE) @@ -56,8 +67,12 @@ else() target_link_libraries(gen_adldata PRIVATE pthread m) endif() +if(WITH_GENADLDATA_DEEPDEBUG) + add_dependencies(gen_adldata gen_adldata_deepdebug_prepare) +endif() + option(WITH_GENADLDATA_PROGRESS "Enable progress printing in gen_adldata" OFF) -if(WITH_GENADLDATA_PROGRESS) +if(WITH_GENADLDATA_PROGRESS OR WITH_GENADLDATA_DEEPDEBUG) target_compile_options(gen_adldata PUBLIC "-DADL_GENDATA_PRINT_PROGRESS") endif() -- cgit v1.2.3