Commit graph

16 commits

Author SHA1 Message Date
Christoph Oelckers
7923d25cce - made the ZMusic interface more DLL friendly: Reworked all functions not to throw exceptions across the library boundary and made a few definitions internal.
Not complete yet.
2020-01-01 20:01:38 +01:00
Christoph Oelckers
c24f9b42ba - the timidity safe_malloc functions may not throw exceptions.
There is a high chance of them getting called within the stream servicing function which cannot deal with abnormal conditions, so the only choice here is performing a hard abort.
2020-01-01 17:34:37 +01:00
Christoph Oelckers
fe0a6b00ce - blocked the destructor in the sound font reader base class.
If ZMusic is to act like an external library it may not call delete on external objects because there is no guarantee that they use the same allocator. Deletion must be done as a virtual function to ensure that the correct operator delete gets called, which, unlike the actual destructor is not virtual itself.
2020-01-01 16:11:39 +01:00
alexey.lysiuk
b02ef69d49 - cleaned POSIX compiler arguments for libraries
Removed omission of frame pointers as it makes crash reports much less useful
Modified warning flags to hide annoying reports for external code
2019-10-05 15:02:10 +03:00
alexey.lysiuk
46270326be - implemented str(n)icmp function definitions via CMake macro 2019-10-05 14:47:36 +03:00
alexey.lysiuk
c09f196141 - applied fast math flags to C and C++ files
Avoid copy-paste using CMake macro
2019-10-05 14:41:21 +03:00
alexey.lysiuk
8ff51ca129 - fixed build issues with POSIX targets 2019-10-01 12:06:24 +03:00
Christoph Oelckers
7468c0f36d - consolidated the different file access interfaces in the backends into one shared version.
This was getting a bit unwieldy. The include path setup is not perfect yet, that's work for later.
(It's about time we're getting C++20 with modules so that this include path madness can be put to an end.)
2019-09-28 23:17:16 +02:00
Christoph Oelckers
fc6eba0c26 - more dependency removal, this time from the MIDI devices. 2019-09-28 16:50:00 +02:00
Christoph Oelckers
9aecabc887 - moved the last static variable - def_inst_name into the Instruments class.
With this the GUS device should be fully reentrant.
2019-09-27 20:40:19 +02:00
Christoph Oelckers
98a4a77f6b - took make_release_only off those subprojects which contain code that still need debugging on occasion.
For these performance on debug builds doesn't really matter anyway.
2019-09-27 19:43:32 +02:00
Christoph Oelckers
159b98ea88 - gave the Timidity error functions better names and hooked up the WildMidi version. 2019-09-26 17:22:54 +02:00
Christoph Oelckers
a562d69ec3 Merge branch 'wildmidi_cleanup' 2019-09-25 19:21:12 +02:00
Christoph Oelckers
1112a69adb - fixed a few Timidity warnings 2019-09-25 17:26:19 +02:00
alexey.lysiuk
dffcefbfdf - fixed compilation with GCC and Clang
libraries/timidity/instrum_dls.cpp:1071:18: error: ‘INT_MIN’ was not declared in this scope
libraries/timidity/instrum_font.cpp:37:47: error: ‘stricmp’ was not declared in this scope
libraries/timidity/timidity.cpp:207:32: error: ‘strcmp’ was not declared in this scope
libraries/timidity/timidity.cpp:235:24: error: ‘strcmp’ was not declared in this scope
libraries/timidity/timidity.cpp:310:33: error: ‘strchr’ was not declared in this scope
libraries/timidity/timidity.cpp:515:30: error: ‘strchr’ was not declared in this scope
libraries/timidity/timidity.cpp:602:34: error: ‘memset’ was not declared in this scope
libraries/timidity/timidity.cpp:648:35: error: ‘memcpy’ was not declared in this scope
libraries/timidity/timidity.cpp:753:41: error: ‘memset’ was not declared in this scope
2019-09-25 12:07:39 +03:00
Christoph Oelckers
7962bf189e - made the Timidity(GUS) device a separate library. 2019-09-24 23:43:44 +02:00