Commit Graph

5571 Commits

Author SHA1 Message Date
Christoph Oelckers be6daf5d78 - changed instrument lookup in MUS files.
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.

Known variations are:

* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
coelckers 8f149d9048 Merge pull request #455 from edward-san/more_wildmidi_fixes
- Fixed Clang errors/warnings on wildMIDI code.
2015-12-30 12:27:56 +01:00
Edoardo Prezioso a2b377c580 - Fixed Clang errors/warnings on wildMIDI code. 2015-12-30 10:58:52 +01:00
Christoph Oelckers aff42a6186 - don't look up a lump name in PathExpander if we are only looking for real files. 2015-12-30 10:21:17 +01:00
Christoph Oelckers 1def61e3e3 - allow changing the reverb and resampling mode setting for WildMidi.
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
coelckers 2b1730deae Merge pull request #454 from kevans91/timidity-instrum-fix
Fix for __unix__ compilation -- section not changed with the rest of …
2015-12-30 09:16:46 +01:00
Kyle Evans 6c13ba40ac Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588 2015-12-30 01:09:11 -06:00
Randy Heit 3ec6ad5018 Add SysEx retrieval to the MIDI file reader 2015-12-29 22:39:38 -06:00
Randy Heit 92e0bbeee9 Handle WildMidi's supported SysEx messages 2015-12-29 18:25:13 -06:00
Randy Heit 6d2e93254f Fix CreateSMF's SysEx writing
- It was wrong before. It might still be wrong, but at least it doesn't
  look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit 545e2f7c69 Slap WildMidi onto snd_listmididevices's output for Windows 2015-12-29 17:55:20 -06:00
Randy Heit 900937929e Use critical sections for WildMidi locking
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Randy Heit 14361d9313 Remove midi_timiditylike
- Did anybody actually use this? Use WildMidi instead if you want
  something that sounds more like Timidity++ without actually being
  Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers 0cc4bd56d1 - removed the original WildMidi loader and the main playback function because none of those is actually being used anymore. 2015-12-29 23:18:39 +01:00
Christoph Oelckers e0f9a59a9a - add WildMidi config file CVAR to menu. 2015-12-29 22:14:40 +01:00
Christoph Oelckers c3862d9101 - use PathExpander class for WildMidi's file access functions so that it can find Timdity's data on its own. 2015-12-29 21:18:46 +01:00
Christoph Oelckers fe2dcfd588 - refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers 0634205d7f - let WildMidi tokenizer handle quoted strings. 2015-12-29 18:01:15 +01:00
Christoph Oelckers 7fa289109b - removed all uses of __builtin_expect from WildMidi code. 2015-12-29 11:36:56 +01:00
Christoph Oelckers 944360557f - removed unused header stuff. 2015-12-29 11:23:43 +01:00
coelckers 83ef036c03 Merge pull request #452 from edward-san/wildmidi_linux_compilation
- Fixed Linux compiler errors and snd_mididevice.
2015-12-29 10:58:54 +01:00
Edoardo Prezioso 7c82c576a3 - Fixed Linux compiler errors and snd_mididevice.
-- errno.h is required for 'errno';
-- don't use str(n)casecmp and rely on ZDoom CMake handling;
-- add a missing parenthesis around a 'signed char' cast;
-- remove an unneeded GNU_SOURCE redefinition;
-- the non-MSVC side of snd_mididevice was not adapted to the new code, making wildmidi unavailable through the menu.
2015-12-29 10:33:20 +01:00
Randy Heit afc36544b7 Add a WildMidi softsynth device
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Randy Heit ee46799d9e Fix WM_DoGetOutput for big-endian machines
- Besides being little-endian centric, this bit shifting madness
  was unneccessary since the values were already clamped to a 16-bit
  range, so all we need to do is cast them to a short.
2015-12-28 20:51:53 -06:00
Randy Heit b1405921bf Merged WM_GetOutput_Linear and WM_GetOutput_Gauss into WM_DoGetOutput
- With mixing moved into separate functions, these two functions became
  identical except for the function they called to do mixing.
2015-12-28 20:44:10 -06:00
Randy Heit 635b496165 Separate WildMidi mixing from event handling
- In order to use ZDoom's own MIDI sequencer event handling must be
  completely separate from mixing, but WildMidi had them intertwined
  because it wasn't designed for external sequencers.
- Also remove all 'long's defining the output buffers to avoid having
  something that's 32 bits wide on Windows and 64 bits wide on Linux.
2015-12-28 20:33:41 -06:00
Randy Heit a2ebf771d3 Remove '\r' character from beginning of WildMidi error messages 2015-12-28 19:13:34 -06:00
Christoph Oelckers 9d48c84ee3 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-28 21:24:41 +01:00
Christoph Oelckers 060a6b2ff2 - shut down WildMidi when exiting.
The pointless error message in WildMidi_Shutdown was removed to keep the rest of the code simple and allowing to call this even when the device never was used.
2015-12-28 21:23:21 +01:00
Christoph Oelckers a94120b6a4 Merge branch 'master' into WildMidi 2015-12-28 21:01:17 +01:00
Braden Obrzut 96576a6cf6 Merge branch 'gtk-fix' of git://github.com/kevans91/zdoom into gtk-fix 2015-12-28 00:56:14 -05:00
Randy Heit 33a252bf4b Add /LARGEADDRESSAWARE to VC2005 project 2015-12-27 21:52:44 -06:00
Kyle Evans 5346b813da Re-do GTK2_LIBARY_DIRS inclusion on a separate branch 2015-12-27 09:48:22 -06:00
Christoph Oelckers 1070bd9beb - fixed: APlayerPawn::ViewHeight wasn't stored in savegames. 2015-12-26 16:17:56 +01:00
Christoph Oelckers 05b8e275cd Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-26 15:33:11 +01:00
Christoph Oelckers 400038643c - fixed: Strife dialogues could crash on invalid links. 2015-12-26 15:31:59 +01:00
coelckers 7a96f91591 Merge pull request #449 from Blue-Shadow/getmaxinv
Added GetMaxInventory ACS function
2015-12-22 22:30:07 +01:00
Christoph Oelckers beb7a8e4a2 - added /LARGEADDRESSAWARE linker flag to CMake project. 2015-12-22 22:21:59 +01:00
Blue-Shadow c51abb0161 Added GetMaxInventory ACS function 2015-12-22 19:01:09 +03:00
Christoph Oelckers 03ccf03b8f - fixed: UDMF with Doom format specials used the line's ID, not the first arg as the tag parameter for its special. 2015-12-21 01:13:21 +01:00
Christoph Oelckers 792d3906fd - fixed: line activation checks for monster activation could be skipped if the lines also were flagged for player activation. 2015-12-19 20:32:41 +01:00
Christoph Oelckers 60f7217fbb Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-15 22:01:03 +01:00
Chris Moeller 17a216c832 Fix issue #15 / CVE-2006-3668 2015-12-15 14:47:54 -06:00
Chris Moeller e5a4031a70 Fixed another memory leak in an error handler 2015-12-15 14:47:43 -06:00
Chris Moeller 45e031170e Implement missing n_pchannels for AMF format reader 2015-12-15 14:47:34 -06:00
Chris Spiegel 865f083128 Fix memory leaks. 2015-12-15 14:47:25 -06:00
Tuomas Virtanen 3d83ed2ee5 Change dumb.h version information to match release version
Conflicts:
	dumb/include/dumb.h
2015-12-15 14:47:13 -06:00
Randy Heit 8a6dfabedb Revert "- Implemented loop-accurate time position reporting into DUMB"
This reverts commit 153721b1c9f4cde62fa17d6aef56f782b37384bf.

Conflicts:
	dumb/include/dumb.h
	dumb/include/internal/tarray.h
	dumb/src/helpers/tarray.c
	dumb/src/it/itrender.c
2015-12-15 14:29:51 -06:00
Randy Heit d0f1df1132 Revert "Fixed duplicating some timekeeping state variables"
This reverts commit 381ce8ea4237a64d63ac447d1e42463edde356da.
2015-12-15 14:17:02 -06:00
Randy Heit d3000fd838 Revert "Fixed timekeeping"
This reverts commit 68f8a3aa8fb53b98625232d99cc5bd040e67dd96.

Conflicts:
	dumb/src/it/itrender.c
2015-12-15 14:16:34 -06:00