Latest Raze Changes

Latest 50 commits, skipping 6000

Unofficial development builds at DRD Team

Newer commits | Older commits

29-Sep-2019 (Sunday) at 17:22:53 PDT by Christoph Oelckers
Commit d0cf21654e
Parents: 352365189f

  • 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
Commit 352365189f
Parents: 6bfa1bf692

  • 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
Commit 6bfa1bf692
Parents: 2c33e47988

  • fixed compilation with XCode and silenced several warnings

29-Sep-2019 (Sunday) at 16:34:16 PDT by Christoph Oelckers
Commit 2c33e47988
Parents: 7c27cd0c57

  • 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
Commit 7c27cd0c57
Parents: c7b379483e

  • 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
Commit c7b379483e
Parents: d06ec56c2e

  • reordering code a bit to see where the stream must be started.

29-Sep-2019 (Sunday) at 13:32:42 PDT by Christoph Oelckers
Commit d06ec56c2e
Parents: b9b706e951

  • 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
Commit b9b706e951
Parents: 44a6b6e87c

  • renamed the configuration file.

29-Sep-2019 (Sunday) at 13:01:19 PDT by Christoph Oelckers
Commit 44a6b6e87c
Parents: b7b57b904d

  • 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
Commit b7b57b904d
Parents: ab016be6b9

  • first state of music configuration refactor.

29-Sep-2019 (Sunday) at 06:10:06 PDT by Christoph Oelckers
Commit ab016be6b9
Parents: 6d7b6fb9fd

  • 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
Commit ef7a356644
Parents: e00a4a53a6

  • fixed inventory scroll arrows in alternative HUD

https://forum.zdoom.org/viewtopic.php?t=65976

29-Sep-2019 (Sunday) at 05:47:10 PDT by Christoph Oelckers
Commit 6d7b6fb9fd
Parents: 54b994e863

  • moved MIDI format detection and source creation into zmusic project.

29-Sep-2019 (Sunday) at 05:13:01 PDT by Christoph Oelckers
Commit 54b994e863
Parents: 859028b35a

  • configuration key enums. Not used yet.

29-Sep-2019 (Sunday) at 04:33:09 PDT by Christoph Oelckers
Commit 859028b35a
Parents: 247346e821

  • moved the stream sources to zmusic project.

29-Sep-2019 (Sunday) at 04:06:40 PDT by Christoph Oelckers
Commit 247346e821
Parents: cdf2a17c5a

  • removed ZDoom dependencies from music_libsndfile.cpp

29-Sep-2019 (Sunday) at 03:48:12 PDT by Christoph Oelckers
Commit cdf2a17c5a
Parents: b883d27a1f

  • 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
Commit b883d27a1f
Parents: dbabc3c0f6

  • XA, too.

28-Sep-2019 (Saturday) at 16:31:42 PDT by Christoph Oelckers
Commit dbabc3c0f6
Parents: dbb4539f4f

  • ... and the raw OPL format.

28-Sep-2019 (Saturday) at 16:00:15 PDT by Christoph Oelckers
Commit dbb4539f4f
Parents: 5eed3dab59

  • gave music_gme.cpp the treatment.

28-Sep-2019 (Saturday) at 15:41:13 PDT by Christoph Oelckers
Commit 5eed3dab59
Parents: 7468c0f36d

  • dependency cleanup in music_dumb.cpp.

28-Sep-2019 (Saturday) at 14:17:16 PDT by Christoph Oelckers
Commit 7468c0f36d
Parents: d94b63b486

  • 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
Commit d94b63b486
Parents: cfe89ef6e6

  • 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
Commit cfe89ef6e6
Parents: fc6eba0c26

  • 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
Commit fc6eba0c26
Parents: 820cbcc689

  • more dependency removal, this time from the MIDI devices.

28-Sep-2019 (Saturday) at 04:59:46 PDT by Christoph Oelckers
Commit 820cbcc689
Parents: d8a1005c76

  • 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
Commit e00a4a53a6
Parents: 9f190e76e3

  • 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
Commit 9f190e76e3
Parents: 663c45f6b6

  • 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
Commit 663c45f6b6
Parents: 634ef60c78

  • 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
Commit 634ef60c78
Parents: 67169b80e5

  • 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
Commit d8a1005c76
Parents: 123ed9d01d

  • fixed typo.

28-Sep-2019 (Saturday) at 01:00:22 PDT by Christoph Oelckers
Commit 123ed9d01d
Parents: 67169b80e5

  • 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
Commit 67169b80e5
Parents: d13766f2ee

  • split out the MIDIDevice implementation into its own source file.

27-Sep-2019 (Friday) at 22:47:10 PDT by Christoph Oelckers
Commit d13766f2ee
Parents: c5f2578ff5

  • 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
Commit 61bc25d781
Parents: 890db1fbf9

  • WildMidi also done.

27-Sep-2019 (Friday) at 13:19:00 PDT by Christoph Oelckers
Commit 890db1fbf9
Parents: 9aecabc887

  • Timidity++ done.

27-Sep-2019 (Friday) at 11:40:19 PDT by Christoph Oelckers
Commit 9aecabc887
Parents: 1cb668e895

  • 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
Commit 1cb668e895
Parents: 98a4a77f6b

  • 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
Commit 98a4a77f6b
Parents: ed7b73d8cb

  • 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
Commit b5e1656c8e
Parents: 315e15c7f0

  • 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
Commit ed7b73d8cb (midi_work_2)
Parents: b3b870d67e

  • 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
Commit b3b870d67e
Parents: 315e15c7f0

  • 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
Commit 315e15c7f0
Parents: 621945905f

  • fixed compilation on XCode and silenced several warnings in the music code

26-Sep-2019 (Thursday) at 16:01:52 PDT by Christoph Oelckers
Commit 621945905f
Parents: d67fcd3887

  • same treatment for the OPL Midi player.

26-Sep-2019 (Thursday) at 15:23:49 PDT by Christoph Oelckers
Commit d67fcd3887
Parents: 647abf040b

  • missed an 'else'.

26-Sep-2019 (Thursday) at 15:16:32 PDT by Christoph Oelckers
Commit 647abf040b
Parents: 8d2c67fe95

  • cleared FluidSynthMIDIDevice of most ZDoom dependencies.

26-Sep-2019 (Thursday) at 13:30:07 PDT by Christoph Oelckers
Commit 8d2c67fe95
Parents: 9b0529b8a3

  • 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
Commit 9b0529b8a3
Parents: d3df422031

  • removed most dependencies on ZDoom code in ADL Midi device.

26-Sep-2019 (Thursday) at 11:06:39 PDT by Christoph Oelckers
Commit d3df422031
Parents: b085ac3efb

  • made the OPL synth backend a separate library.

Newer commits | Older commits