Christoph Oelckers
890db1fbf9
- Timidity++ done.
2019-09-27 22:19:00 +02:00
Christoph Oelckers
ed7b73d8cb
- work on GUS MIDI device plus some cleanup
...
This is not tested yet!
2019-09-27 02:31:27 +02:00
Christoph Oelckers
b3b870d67e
- Gave OPN device the same treatment
...
Also made some improvements to the interface.
2019-09-27 01:51:05 +02:00
Christoph Oelckers
621945905f
- same treatment for the OPL Midi player.
2019-09-27 01:01:52 +02:00
Christoph Oelckers
647abf040b
- cleared FluidSynthMIDIDevice of most ZDoom dependencies.
2019-09-27 00:16:32 +02:00
Christoph Oelckers
8d2c67fe95
- more work on music code
...
- renamed the FluidSetting functions to ChangeSetting so that they can be used as a generic means to change music player options without overloading the virtual function table for each minor thing.
- pass Printf as a parameter to the MIDI renderer to uncouple it from the main GZDoom code.
- throw exceptions when setting up the renderer fails so that this can be handled consistently for all construction errors here.
- delete FluidSynth handles before the constructor aborts.
2019-09-26 22:30:07 +02:00
Christoph Oelckers
9b0529b8a3
- removed most dependencies on ZDoom code in ADL Midi device.
2019-09-26 21:29:06 +02:00
Christoph Oelckers
b085ac3efb
- cleaned up the dependencies of the OPL interface layer.
...
This also removes the OPL dumper because I wasn't able to get any non-broken output from it and have no desire to fix such a niche feature.
2019-09-26 19:33:28 +02:00
Christoph Oelckers
17eac1c57b
- removed all ZDoom dependencies from the OPL backend code.
2019-09-26 18:15:23 +02:00
Christoph Oelckers
2aa03e8e8a
- 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.
2019-09-26 17:40:39 +02:00
Christoph Oelckers
c3f26422df
- changed MIDI sources so that they do not have to include i_musicinterns.h anymore.
...
They were already clean of unwanted external references, but including this file made it hard to keep it that way.
This also moves a few useful definitions around to less 'dirty' headers.
2019-09-25 21:47:33 +02:00
Christoph Oelckers
b8824b572f
- adapted the PSX XA decoder from EDuke32 as a music format in GZDoom.
...
Libsndfile cannot decode this format but tries to play these files as regular WAVs and turns them into noise (Both are in a RIFF container.)
2019-09-25 21:11:00 +02:00
Christoph Oelckers
4ba8da290c
- made WildMidi a library.
2019-09-25 19:38:48 +02:00
Christoph Oelckers
4369220335
- refactoring of WildMidi to have proper instrument management
...
Not tested yet, it compiles but may not work as-is.
2019-09-25 17:27:10 +02:00
Christoph Oelckers
d557f609cf
- cleanup of the TimidityMIDIDevice(GUS) backend code to eliminate the storage in global variables and to remove the dependencies on core ZDoom code.
...
The organization here is now the same as for the Timidity++ device, i.e. it is the device owning the instruments to give better control over their lifecycle.
2019-09-24 23:08:56 +02:00
Christoph Oelckers
cf6d0c3127
- implemented an abstract sound font reader interface for Timidity++.
...
The only dependency left on the main GZDoom code are the CVars, which will be dealt with next.
2019-09-23 13:53:28 +02:00
Christoph Oelckers
16ab52c5f3
- thinned out the FSoundFontReader interface a bit more by moving the file open code into the FSoundFontReader class itself.
2019-09-23 12:45:26 +02:00
Christoph Oelckers
2cf8cc47df
- moved the instrument set maintenance out of the Timidity++ library into the player class.
...
This removes the dependency on the sound font manager from the low level library, reducing the direct dependencies to FileReader and SoundFontReader.
2019-09-23 11:27:57 +02:00
Christoph Oelckers
66db894866
- split off all music code from s_sound.cpp
2019-08-23 17:15:19 +02:00
Christoph Oelckers
1595bf30c6
Revert "- removed a few redundant includes"
...
This reverts commit 7cd5bd9773
.
This commit was only meant for testing, not for publishing
2019-08-23 08:31:49 +02:00
Christoph Oelckers
7cd5bd9773
- removed a few redundant includes
2019-08-22 21:15:06 +02:00
Christoph Oelckers
7346288bf5
- moved some more files.
2019-07-14 21:09:49 +02:00
Christoph Oelckers
f50e402e92
- sorted sound backend code into subdirectories.
2019-07-14 16:07:18 +02:00