aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2017-10-23 22:25:15 +0300
committerWohlstand <admin@wohlnet.ru>2017-10-23 22:25:15 +0300
commit5e566534205655c89d6c9256e4419c7502339a49 (patch)
tree51861634556de481478cdcaf94c1b649105df6b0
parenta8dde37099558dc805dfa07eb870c2baf66f4fec (diff)
parent9de1ad18d5305f21cb6998bdd88144893d0e121d (diff)
downloadlibADLMIDI-5e566534205655c89d6c9256e4419c7502339a49.tar.gz
libADLMIDI-5e566534205655c89d6c9256e4419c7502339a49.tar.bz2
libADLMIDI-5e566534205655c89d6c9256e4419c7502339a49.zip
Merge branch 'master' of github.com:Wohlstand/libADLMIDI
-rw-r--r--CMakeLists.txt15
-rw-r--r--utils/dumpmiles/dumpmiles.cpp4
-rw-r--r--utils/gen_adldata/file_formats/load_op2.h2
-rw-r--r--utils/gen_adldata/gen_adldata.cc3
-rw-r--r--utils/gen_adldata/progs_cache.cpp4
-rw-r--r--utils/gen_adldata/progs_cache.h15
6 files changed, 28 insertions, 15 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4728a30..4d9c39b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,7 +42,9 @@ option(USE_DOSBOX_EMULATOR "Use DosBox emulator" OFF)
option(libADLMIDI_STATIC "Build static library of libADLMIDI" ON)
option(libADLMIDI_SHARED "Build shared library of libADLMIDI" OFF)
-
+if(CMAKE_VERSION VERSION_EQUAL "3.1" OR CMAKE_VERSION VERSION_GREATER "3.1")
+ set(CMAKE_CXX_STANDARD 11)
+endif()
set(libADLMIDI_INSTALLS)
@@ -77,14 +79,19 @@ if(WITH_EMBEDDED_BANKS)
if(NOT MSVC)
target_link_libraries(gen_adldata pthread)
endif()
- if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- message("Turned on C++11 on GCC")
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR
+ CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR
+ "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
+ message("Turned on C++11 on GCC/CLang/Intel")
target_compile_options(gen_adldata PUBLIC $<$<COMPILE_LANGUAGE:CXX>:-std=c++11>)
+ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ message("Turned on C++11 on MSVC")
+ target_compile_options(gen_adldata PUBLIC "/std:c++latest")
endif()
add_custom_target(
gen-adldata-run
- COMMAND ${libADLMIDI_BINARY_DIR}/gen_adldata ${libADLMIDI_SOURCE_DIR}/src/adldata.cpp
+ COMMAND gen_adldata ${libADLMIDI_SOURCE_DIR}/src/adldata.cpp
WORKING_DIRECTORY ${libADLMIDI_SOURCE_DIR}
)
add_dependencies(gen-adldata-run gen_adldata)
diff --git a/utils/dumpmiles/dumpmiles.cpp b/utils/dumpmiles/dumpmiles.cpp
index 832da93..e946c5d 100644
--- a/utils/dumpmiles/dumpmiles.cpp
+++ b/utils/dumpmiles/dumpmiles.cpp
@@ -32,9 +32,9 @@ static void LoadMiles(const char* fn)
unsigned offset = *(unsigned*)&data[a*6+2];
if(gmnumber == 0xFF) break;
- int gmno = gmnumber2==0x7F ? gmnumber+0x80 : gmnumber;
+ //int gmno = gmnumber2==0x7F ? gmnumber+0x80 : gmnumber;
unsigned length = data[offset] + data[offset+1]*256;
- signed char notenum = data[offset+2];
+ //signed char notenum = data[offset+2];
std::printf("%02X %02X ", gmnumber,gmnumber2); //, offset);
for(unsigned b=0; b<length; ++b)
diff --git a/utils/gen_adldata/file_formats/load_op2.h b/utils/gen_adldata/file_formats/load_op2.h
index 58d6988..1e51563 100644
--- a/utils/gen_adldata/file_formats/load_op2.h
+++ b/utils/gen_adldata/file_formats/load_op2.h
@@ -86,7 +86,7 @@ static bool LoadDoom(const char *fn, unsigned bank, const char *prefix)
Doom_opl_instr &ins = *(Doom_opl_instr *) &data[offset2];
- insdata tmp[2];
+ insdata tmp[2] = {InsertNoSoundIns(), InsertNoSoundIns()};
tmp[0].diff = false;
tmp[1].diff = true;
for(unsigned index = 0; index < 2; ++index)
diff --git a/utils/gen_adldata/gen_adldata.cc b/utils/gen_adldata/gen_adldata.cc
index 6c77a12..88981c2 100644
--- a/utils/gen_adldata/gen_adldata.cc
+++ b/utils/gen_adldata/gen_adldata.cc
@@ -4,6 +4,7 @@
#include <cstdio>
#include <string>
#include <cstring>
+#include <inttypes.h>
#include "ini/ini_processing.h"
@@ -390,7 +391,7 @@ int main(int argc, char**argv)
unsigned flags = (i->first.pseudo4op ? 1 : 0) | (info.nosound ? 2 : 0);
fprintf(outFile, " {");
- fprintf(outFile, "%4d,%4d,%3d, %d, %6ld,%6ld,%lf",
+ fprintf(outFile, "%4d,%4d,%3d, %d, %6" PRId64 ",%6" PRId64 ",%lf",
(unsigned) i->first.insno1,
(unsigned) i->first.insno2,
(int)(i->first.notenum),
diff --git a/utils/gen_adldata/progs_cache.cpp b/utils/gen_adldata/progs_cache.cpp
index 4aec9be..b51f4f8 100644
--- a/utils/gen_adldata/progs_cache.cpp
+++ b/utils/gen_adldata/progs_cache.cpp
@@ -100,7 +100,7 @@ size_t InsertIns(
size_t InsertNoSoundIns()
{
// { 0x0F70700,0x0F70710, 0xFF,0xFF, 0x0,+0 },
- insdata tmp1 = { {0x00, 0x10, 0x07, 0x07, 0xF7, 0xF7, 0x00, 0x00, 0xFF, 0xFF, 0x00}, 0, 0 };
+ insdata tmp1 = { {0x00, 0x10, 0x07, 0x07, 0xF7, 0xF7, 0x00, 0x00, 0xFF, 0xFF, 0x00}, 0, false};
struct ins tmp2 = { 0, 0, 0, false, 0.0 };
- return InsertIns(tmp1, tmp1, tmp2, "nosound");
+ return InsertIns(tmp1, tmp1, tmp2, "nosound", "");
}
diff --git a/utils/gen_adldata/progs_cache.h b/utils/gen_adldata/progs_cache.h
index 007c3b4..b0e63a4 100644
--- a/utils/gen_adldata/progs_cache.h
+++ b/utils/gen_adldata/progs_cache.h
@@ -7,6 +7,7 @@
#include <memory>
#include <cstring>
#include <cstdint>
+#include <string>
#include <vector>
struct insdata
@@ -16,9 +17,13 @@ struct insdata
bool diff;
bool operator==(const insdata &b) const
{
- return std::memcmp(data, b.data, 11) == 0 && finetune == b.finetune && diff == b.diff;
+ return (std::memcmp(data, b.data, 11) == 0) && (finetune == b.finetune) && (diff == b.diff);
}
- bool operator< (const insdata &b) const
+ bool operator!=(const insdata &b) const
+ {
+ return !operator==(b);
+ }
+ bool operator<(const insdata &b) const
{
int c = std::memcmp(data, b.data, 11);
if(c != 0) return c < 0;
@@ -26,9 +31,9 @@ struct insdata
if(diff != b.diff) return (!diff) == (b.diff);
return 0;
}
- bool operator!=(const insdata &b) const
+ bool operator>(const insdata &b) const
{
- return !operator==(b);
+ return !operator<(b) && operator!=(b);
}
};
@@ -79,7 +84,7 @@ extern std::vector<std::string> banknames;
void SetBank(unsigned bank, unsigned patch, size_t insno);
size_t InsertIns(const insdata &id, const insdata &id2, ins &in,
- const std::string &name, const std::string &name2 = "");
+ const std::string &name, const std::string &name2);
size_t InsertNoSoundIns();
#endif // PROGS_H