Latest Raze Changes
Latest 50 commits, skipping 6000
Unofficial development builds at DRD Team
29-Sep-2019 (Sunday) at 17:22:53 PDT by Christoph Oelckers
- moved the CD Audio code to ZMusic, too.
This was the last player class. This code was also cleaned up for non-Windows systems where CD Audio is not implemented. Instead of providing an empty implementation, all related code is now explicitly deactivated.
29-Sep-2019 (Sunday) at 17:10:00 PDT by Christoph Oelckers
- moved the main music classes to ZMusic
What's left is the CD-Audio playback and some global functions.
29-Sep-2019 (Sunday) at 16:51:53 PDT by Christoph Oelckers
- fixed compilation with XCode and silenced several warnings
29-Sep-2019 (Sunday) at 16:34:16 PDT by Christoph Oelckers
- hooked up a few more CVARs and other values the music backend needs to know about and moved the MusInfo base class into zmusic.
29-Sep-2019 (Sunday) at 15:02:31 PDT by Christoph Oelckers
- moved the sound system's sound stream for the music out of the song objects.
It is now being handled by the controlling code. While of no benefit for GZDoom itself, this finally allows to separate the entire music code into a separate, engine independent project that merely provides streamed music data when not playing on a hardware device (WinMM Midi or CD Audio.) The tight coupling of the music code with the sound backend made this nearly impossible before
29-Sep-2019 (Sunday) at 13:54:13 PDT by Christoph Oelckers
- reordering code a bit to see where the stream must be started.
29-Sep-2019 (Sunday) at 13:32:42 PDT by Christoph Oelckers
- a bit of cleanup - moving internal class declarations into the sources.
Now i_musicinterns.h doesn't bleed the entire implementation everywhere anymore.
29-Sep-2019 (Sunday) at 13:03:14 PDT by Christoph Oelckers
- renamed the configuration file.
29-Sep-2019 (Sunday) at 13:01:19 PDT by Christoph Oelckers
- moved all configuration code to zmusic project.
The CVARs are now just getting forwarded without any own logic.
29-Sep-2019 (Sunday) at 11:01:57 PDT by Christoph Oelckers
- first state of music configuration refactor.
29-Sep-2019 (Sunday) at 06:10:06 PDT by Christoph Oelckers
- did a bit of reordering on I_RegisterSong.
The way CDDA was treated as an afterthought made handling of stream songs somewhat problematic, because the state could be unclear. CDDA is an easily identifiable format so it should be tested first.
29-Sep-2019 (Sunday) at 06:07:25 PDT by alexey.lysiuk
- fixed inventory scroll arrows in alternative HUD
29-Sep-2019 (Sunday) at 05:47:10 PDT by Christoph Oelckers
- moved MIDI format detection and source creation into zmusic project.
29-Sep-2019 (Sunday) at 05:13:01 PDT by Christoph Oelckers
- configuration key enums. Not used yet.
29-Sep-2019 (Sunday) at 04:33:09 PDT by Christoph Oelckers
- moved the stream sources to zmusic project.
29-Sep-2019 (Sunday) at 04:06:40 PDT by Christoph Oelckers
- removed ZDoom dependencies from music_libsndfile.cpp
29-Sep-2019 (Sunday) at 03:48:12 PDT by Christoph Oelckers
- moved the sound decoding code to the zmusic project.
Since this gets used by both the sound backend and the music code it needs to be in a place accessible to both.
28-Sep-2019 (Saturday) at 16:44:59 PDT by Christoph Oelckers
- XA, too.
28-Sep-2019 (Saturday) at 16:31:42 PDT by Christoph Oelckers
- ... and the raw OPL format.
28-Sep-2019 (Saturday) at 16:00:15 PDT by Christoph Oelckers
- gave music_gme.cpp the treatment.
28-Sep-2019 (Saturday) at 15:41:13 PDT by Christoph Oelckers
- dependency cleanup in music_dumb.cpp.
28-Sep-2019 (Saturday) at 14:17:16 PDT by Christoph Oelckers
- 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.)
28-Sep-2019 (Saturday) at 11:33:25 PDT by Christoph Oelckers
- uncoupled the stream sources from the low level implementation. The entire setup had the stream sources depend on the SoundStream class, severely limiting reusability. This was changed that there is one SoundStream class that uses the StreamSources as mere data source that has no knowledge and no connection to the underlying system, similar to how the MIDI system works. With this there are only 3 top level music classes left - MIDIStreamer, StreamSong and CDSong.
Also made the decode_vorbis function in DUMB a function pointer so that the library does not depend on high level code and can just ignore the vorbis case if no supported.
28-Sep-2019 (Saturday) at 09:32:25 PDT by Christoph Oelckers
- created a new zmusic library which will eventually contain all the music playback code.
Currently all it contains are the MIDI sources and the MIDI devices, the rest needs to be reworked first.
28-Sep-2019 (Saturday) at 07:50:00 PDT by Christoph Oelckers
- more dependency removal, this time from the MIDI devices.
28-Sep-2019 (Saturday) at 04:59:46 PDT by Christoph Oelckers
- removed all dependencies on ZDoom code from the MIDI sources (including TArray and FileReader.)
28-Sep-2019 (Saturday) at 02:46:40 PDT by alexey.lysiuk
- fixed compilation of Linux targets
src/sound/music/i_musicinterns.h:111:7: error: no template named 'shared_ptr' in namespace 'std' src/sound/music/i_musicinterns.h:133:7: error: no template named 'shared_ptr' in namespace 'std' src/sound/music/i_musicinterns.h:152:7: error: no template named 'shared_ptr' in namespace 'std'
28-Sep-2019 (Saturday) at 02:45:20 PDT by alexey.lysiuk
- disabled code signing in Xcode by default
It’s impossible to build GZDoom without valid code signing identity with Xcode 11 using a project
28-Sep-2019 (Saturday) at 02:09:08 PDT by alexey.lysiuk
- fixed compilation of debug targets
libraries/oplsynth/opl_mus_player.cpp:272:25: error: use of undeclared identifier 'ticky'
28-Sep-2019 (Saturday) at 01:07:20 PDT by drfrag
- Fixed player sprites not being affected by sector light level in the classic software renderer.
28-Sep-2019 (Saturday) at 01:04:09 PDT by Christoph Oelckers
- fixed typo.
28-Sep-2019 (Saturday) at 01:00:22 PDT by Christoph Oelckers
- moved the stream handling out of the MIDI device into the MIDIStreamer class.
This isn't the final location but this means that the device is merely a data provider, with the sole exception of the Win32 MIDI device whose unwieldy usage requirements unfortunately dictate much of the needed interface here.
27-Sep-2019 (Friday) at 22:47:50 PDT by Christoph Oelckers
- split out the MIDIDevice implementation into its own source file.
27-Sep-2019 (Friday) at 22:47:10 PDT by Christoph Oelckers
- fixed a merge error.
27-Sep-2019 (Friday) at 15:11:54 PDT by Christoph Oelckers
Merge branch 'midi_work_2'27-Sep-2019 (Friday) at 15:10:39 PDT by Christoph Oelckers
- WildMidi also done.
27-Sep-2019 (Friday) at 13:19:00 PDT by Christoph Oelckers
- Timidity++ done.
27-Sep-2019 (Friday) at 11:40:19 PDT by Christoph Oelckers
- moved the last static variable - def_inst_name into the Instruments class.
With this the GUS device should be fully reentrant.
27-Sep-2019 (Friday) at 11:08:03 PDT by Christoph Oelckers
- fixed the GUS MIDI device.
The sound font reader may not be deleted because its ownership is transferred to the instrument set. The gus_patchdir variable was not transferred to the config struct.
27-Sep-2019 (Friday) at 10:43:32 PDT by Christoph Oelckers
- 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.
27-Sep-2019 (Friday) at 00:13:41 PDT by alexey.lysiuk
- fixed compilation on Linux
libraries/oplsynth/oplio.cpp:59:32: error: ‘memset’ was not declared in this scope src/sound/mididevices/midi_cvars.cpp:43:31: error: expected initializer before ‘GetSystemDirectoryA’
26-Sep-2019 (Thursday) at 17:31:27 PDT by Christoph Oelckers
- work on GUS MIDI device plus some cleanup
This is not tested yet!
26-Sep-2019 (Thursday) at 16:51:05 PDT by Christoph Oelckers
- Gave OPN device the same treatment
Also made some improvements to the interface.
26-Sep-2019 (Thursday) at 16:42:56 PDT by Christoph Oelckers
- fixed compilation on XCode and silenced several warnings in the music code
26-Sep-2019 (Thursday) at 16:01:52 PDT by Christoph Oelckers
- same treatment for the OPL Midi player.
26-Sep-2019 (Thursday) at 15:23:49 PDT by Christoph Oelckers
- missed an 'else'.
26-Sep-2019 (Thursday) at 15:16:32 PDT by Christoph Oelckers
- cleared FluidSynthMIDIDevice of most ZDoom dependencies.
26-Sep-2019 (Thursday) at 13:30:07 PDT by Christoph Oelckers
-
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.
26-Sep-2019 (Thursday) at 12:29:06 PDT by Christoph Oelckers
- removed most dependencies on ZDoom code in ADL Midi device.
26-Sep-2019 (Thursday) at 11:06:39 PDT by Christoph Oelckers
- made the OPL synth backend a separate library.