Commit graph

19 commits

Author SHA1 Message Date
Christoph Oelckers
d212c84392 - removed the global current_opl_core variable and pass the needed info as function parameters
because using global variables for this is really bad style!
This also removes the unused OPLMUSDumper class.
2020-01-05 02:02:01 +01:00
Christoph Oelckers
e245852bff - removed FCriticalSection and replaced all of its uses with std::mutex.
There's really no need for a non-standard solution here anymore with C++11.
This also fixes an unreleased lock in the WildMidi code.

# Conflicts:
#	src/posix/sdl/critsec.cpp
2019-04-28 22:13:36 +02:00
Hisymak
fe4adb849d OPL Synth fix: Double-voice instruments randomly don't play second voice
(cherry picked from commit 583da7f6cf)
2018-05-10 20:54:47 +02:00
Hisymak
b825b4317f Fix OPL Synth note cutoffs and issues after removal of MusLib
This should fix bug reported in https://forum.zdoom.org/viewtopic.php?
f=104&t=56682.
There were two problems:
1. Algorithm to select a free voice was not appropriate. Changed to a
simple "least-recently-freed voice" algorithm.
2. Sustained voices were treated as used voices and never got replaced.
Now sustained voices are preferentially replaced when there are no free
voices.

(cherry picked from commit 07586af6d1)
2018-05-10 13:59:06 +02:00
Rachael Alexanderson
0893f0c01e Merge remote-tracking branch 'origin/master' into adlMIDI 2018-03-22 14:28:54 -04:00
Christoph Oelckers
b939836846 - renamed FileRdr back to FileReader. 2018-03-11 19:29:37 +01:00
Christoph Oelckers
5fa63c396d - sound code and most of texture code converted to FileRdr.
This allowed to remove a lot of bad pointer voodoo in the music loader, because the new class does not allow duplication of the reader object
2018-03-10 18:45:11 +01:00
alexey.lysiuk
cea64ea092 Moved old Nuked and Java OPL3 to own namespaces
This helps to avoid clashing of OPL3 classes
2018-03-08 10:18:49 +02:00
alexey.lysiuk
114e56b334 Moved old NukedOPL to own namespace
This fixes linking issues on non-MSVC targets and improves code navigation
2018-03-08 09:51:37 +02:00
svdijk
bdfc42182f OPLsynth: Default to center panning. 2017-05-22 09:15:02 +02:00
Christoph Oelckers
c6a516089e - fixed: OPLio::WriteTremolo wrote the wrong value for operator #0. 2017-05-08 22:46:35 +02:00
Christoph Oelckers
f9735c44de - fixed signedness issues in OPL code. 2017-04-23 15:40:03 +02:00
Christoph Oelckers
0ed3ee6267 - updated the license in fmopl.cpp to the one in the current version of the original file. 2017-04-21 17:48:40 +02:00
Christoph Oelckers
a48a3d0abf - fixed some signedness warnings in OPL code. 2017-04-17 15:37:45 +02:00
Christoph Oelckers
57d703236b - changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files. 2017-04-17 12:27:19 +02:00
alexey.lysiuk
4519ab12e9 Fixed compilation errors
src/sound/oplsynth/musicblock.cpp:3:10: fatal error: 'muslib.h' file not found
src/sound/oplsynth/oplio.cpp:410:12: error: use of undeclared identifier 'cos'
src/sound/oplsynth/oplio.cpp:410:41: error: use of undeclared identifier 'sin'
2017-04-17 10:27:11 +03:00
Christoph Oelckers
79ed1f73e7 - some minor cleanup, including renaming some data structutrd in the OPL code. 2017-04-17 00:46:27 +02:00
Christoph Oelckers
ba5721f98a - rewrote the OPL middle layer to remove the MusLib code.
The new version keeps the non-MusLib code of both files and replaces most of the rest with code from Chocolate Doom.
2017-04-17 00:39:03 +02:00
Christoph Oelckers
0b645dc42d - reorganized sound related code. 2017-03-10 20:53:03 +01:00