Chris Robinson
d43226631d
Set reverb density based on the environment size
2014-07-15 23:04:53 -07:00
Braden Obrzut
fa5dfe79ae
- Disable cubic and spline resamplers on 64-bit with fmod 4.26 since they crash.
2014-07-15 21:07:07 -04:00
Chris Robinson
90fa215da2
Replace another std::vector with a TArray
2014-06-28 23:30:58 -07:00
Chris Robinson
ae95a2d5cf
Fix creating effect map entries
...
TMap apparently doesn't clear the memory for new entries like std::map...
2014-06-28 05:41:11 -07:00
Chris Robinson
7f3be7bf14
Show the name of unsupported sound formats with OpenAL
2014-06-28 01:25:25 -07:00
Chris Robinson
afcada4a3b
Remove an unused field
2014-06-28 00:46:45 -07:00
Chris Robinson
7908116fef
Use a separate function to update an openal stream's volume
2014-06-28 00:37:12 -07:00
Chris Robinson
c73d97af44
Use TArray and TMap instead of std::vector and std::map
2014-06-28 00:33:15 -07:00
Chris Robinson
6f8545e694
Use a TArray for SoundDecoder::readAll
2014-06-27 21:51:05 -07:00
Chris Robinson
a16f9d061c
Work around a libsndfile bug related to converting float samples to shorts
...
Do the conversion ourselves to ensure it's properly clamped.
2014-06-27 01:29:34 -07:00
Chris Robinson
1a40c95f84
Rename some FMOD references to be generic sound system
...
Since they relates to other sound backends as well, there's no need to single
out FMOD in these places.
2014-06-26 16:58:18 -07:00
Chris Robinson
0adfdf31dd
Fix calling SetPosition when not playing
2014-06-25 21:50:52 -07:00
Chris Robinson
a6900b48ba
Use AL_SOFT_deferred_updates to sync updates when availeble
2014-06-25 21:48:13 -07:00
Chris Robinson
c6bb52c866
Get the length from sounds when possible
2014-06-25 21:14:35 -07:00
Chris Robinson
fd25ec2a62
Implement GetPosition for OpenAL streams, and display it in the stats
2014-06-25 20:03:24 -07:00
Chris Robinson
3d33f565a4
Use a proper, more unique, pointer formatter for the open callback
2014-06-25 17:10:17 -07:00
Chris Robinson
7f5b538110
Implement SetPosition for OpenAL streams
2014-06-25 04:59:18 -07:00
Chris Robinson
9c12abeb2d
Better report the amount buffered in an OpenAL stream
2014-06-25 04:53:08 -07:00
Chris Robinson
0017e1e6e8
Use a FileReader to handle music resources and audio decoding
...
Instead of the previous method where there'd be a filename and offset, and/or a
memory pointer, this uses a class to access resource data regardless of its
underlying form.
2014-06-25 04:25:36 -07:00
Chris Robinson
075c5d872d
Always use the pitch multiplier when underwater
2014-06-22 22:22:45 -07:00
Chris Robinson
b2f9430fb1
Use the correct diffusion value for reverb
...
I don't know what the Density and Diffusion values correspond to, but
EnvDiffusion is the actual diffusion setting.
2014-06-22 19:38:47 -07:00
Chris Robinson
a434af92ee
Handle sounds marked as 'area sounds'
...
Note, the area radius is 128 units for it to actually do something, unlike FMOD
where it's only 32.
2014-06-22 19:35:09 -07:00
Chris Robinson
845e369b87
Don't set a room rolloff factor
...
The reverb engine already handles an initial attenuation based on the
attenuation of the dry path.
2014-06-20 05:03:20 -07:00
Chris Robinson
f0c9aae670
Rework manual rolloff handling
...
For distance models OpenAL doesn't handle, alter the source's distance to get
the appropriate attenuation instead of the source's gain.
2014-06-20 04:38:48 -07:00
Chris Robinson
ef7ce41d07
Don't purge sources in an initial state
2014-06-20 01:17:48 -07:00
Chris Robinson
fb07f7ef07
Cast OpenAL IDs to/from void*
2014-06-20 01:12:47 -07:00
Chris Robinson
906b828d87
Partially implement OpenALSoundRenderer::SetInactive
2014-06-20 00:41:19 -07:00
Chris Robinson
42fdc3c059
Use structs to store available extensions
2014-06-19 23:49:46 -07:00
Chris Robinson
0f234fb36d
Remove an unused function
2014-06-19 23:10:36 -07:00
Chris Robinson
4f6861d798
Move specific decoder classes to separate headers
2014-06-19 23:03:13 -07:00
Chris Robinson
e2708c8b3e
Cleanup creating decoders
2014-06-19 22:46:46 -07:00
Chris Robinson
9f493fca5f
Move the generic DecodeSample implementation to the base class
2014-06-19 22:42:12 -07:00
Chris Robinson
72ddc0d935
Remove a non-existent friend class
2014-06-19 22:33:39 -07:00
Chris Robinson
a661797aa8
Be less noisey about loop points
2014-06-19 22:31:19 -07:00
Chris Robinson
73d8659f23
Remove an unnecessary cast
2014-06-19 22:21:05 -07:00
Chris Robinson
07a50c604e
Use the correct formatter type
2014-06-19 22:13:20 -07:00
Chris Robinson
e39165655d
Don't call the sfx volume cvar callback in the OpenALSoundRenderer constructor
...
I_InitSound already does that after creating it.
2014-06-19 21:51:16 -07:00
Chris Robinson
364065f121
Handle file sources with mpg123
2014-06-19 20:14:16 -07:00
Chris Robinson
1310a4a814
Fix libsndfile file handler
2014-06-19 18:35:12 -07:00
Chris Robinson
eeae36fbf7
Rename the decoder sources
2014-06-19 17:53:37 -07:00
Chris Robinson
b1c98acf33
Close the file handle in the sndfile decoder
2014-06-19 17:50:03 -07:00
Chris Robinson
73d51a4446
Check for ID3 tags in MPG123Decoder::open
2014-06-19 17:19:59 -07:00
Chris Robinson
77b1febd0e
Add an mp3 decoder using libmpg123
...
Does not currently handle direct file sources
2014-06-19 06:40:27 -07:00
Chris Robinson
14618cbf30
Remove use of SDL_sound
2014-06-19 04:33:00 -07:00
Chris Robinson
b38589e2dc
Implement and use a libsndfile decoder
2014-06-19 04:13:42 -07:00
Chris Robinson
5370a1cb46
Add a SoundDecoder base class and a stub method to create one
2014-06-19 01:00:46 -07:00
Chris Robinson
b94a2949e5
Don't use air absorption for being underwater
2014-06-18 23:41:45 -07:00
Chris Robinson
34c9a47435
Fix some typos
2014-06-17 23:11:19 -07:00
Chris Robinson
7ff7c151a8
Merge remote-tracking branch 'origin/master' into openal
...
Conflicts:
src/CMakeLists.txt
2014-06-15 12:04:15 -07:00
Chris Robinson
0e21057a2a
Merge remote-tracking branch 'origin/openal' into openal
...
Conflicts:
src/sound/fmodsound.cpp
src/sound/oalsound.cpp
src/sound/oalsound.h
2014-06-15 09:59:24 -07:00
Chris Robinson
160e70f8f2
Fix getting the actual device name
2014-06-15 09:27:00 -07:00
Randy Heit
8b02bb55aa
Fix compiling with FMOD 4.36
...
- That stuff I thought that went poof in FMOD Ex 4.37 was apparently
already gone in 4.36.
2014-01-30 20:30:40 -06:00
Braden Obrzut
d8ff4ec281
- Fixed: All clang 5.0 warnings.
...
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Christoph Oelckers
7cb70f60b3
- removed duplicate #define warning in fmodsound.cpp.
...
- commented out output of Cr0NpxState for floating point state because this variable was renamed in most recent Windows headers.
- added CMAKE option to generate assembly output for release builds.
- added my CMake-based project directory to .gitignore.
2013-11-28 11:03:19 +01:00
Braden Obrzut
f0b946c3cf
- Allow use of system GME library. It defaults to forcing the use of the internal library at least for now though.
2013-11-06 13:37:34 -05:00
Braden Obrzut
2142e857a9
- Applied VoidMage's OpenAL patch.
2013-10-23 19:41:58 -04:00
Braden Obrzut
97d7b1e59e
Merge branch 'origin/maint'
...
Conflicts:
src/sound/fmodsound.cpp
2013-10-23 19:39:22 -04:00
Christoph Oelckers
bba092cc0b
Merge branch 'master' into scripting
...
Conflicts:
src/d_player.h
src/g_doom/a_archvile.cpp
src/thingdef/thingdef.h
src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Edoardo Prezioso
4ce0574b3f
- Use a more conformant C++ preprocessor macro identifier for Unix systems.
...
The 'unix' identifier isn't defined when '-std' is passed to the compiler (tested with gcc and clang), so use '__unix__' which is well enough documented.
2013-07-30 11:46:14 +02:00
Randy Heit
9c86f1c220
Merge branch 'master' into scripting for plugged userinfo memory leak
...
Conflicts:
src/d_player.h
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Christoph Oelckers
db562142f0
- Fix c++11 literal suffix warnings / patch by Edward-san.
2013-07-22 22:25:44 +02:00
Chris Robinson
665d685a44
Implement GetStats for OpenAL streams
2013-06-30 20:31:41 -07:00
Chris Robinson
68988ab93c
Handle S8 and U16 samples from SDL_sound
2013-06-30 08:16:49 -07:00
Chris Robinson
c4492f88ee
Make sure streams are "pumped"
2013-06-30 08:04:41 -07:00
Chris Robinson
ba3cc38d09
Support float stream callbacks with AL_EXT_FLOAT32
2013-06-30 08:04:08 -07:00
Chris Robinson
69af01d629
Use SDL_sound when available to decode files
2013-06-30 07:45:57 -07:00
Chris Robinson
99209c4a2a
Remove an unnecessary function
2013-06-30 04:47:10 -07:00
Chris Robinson
5d1cd7b7fe
Small fixups
...
find -> std::find
AL_EXT_loop_points -> AL_SOFT_loop_points
2013-06-30 01:32:48 -07:00
Chris Robinson
4f2e367ec6
Remove GStreamer support
2013-06-30 01:07:09 -07:00
Chris Robinson
b31a729ab8
Fix compilation with OpenAL
2013-06-29 22:44:46 -07:00
Chris Robinson
18597a93a7
Merge remote-tracking branch 'origin' into openal
...
Conflicts:
src/sound/fmodsound.cpp
2013-06-29 19:02:04 -07:00
Randy Heit
4deeb8d8ae
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_doom/a_doomweaps.cpp
src/p_local.h
src/p_map.cpp
src/sdl/i_main.cpp
src/thingdef/thingdef_codeptr.cpp
2013-06-25 19:28:25 -05:00
Christoph Oelckers
a6ba2ce8b9
- added DavidPH's patch for compiling with FModEx 4.44.01.
2013-06-23 18:47:39 +02:00
Randy Heit
459ad5abff
- Updated scripting branch to latest version in trunk.
...
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
1b9c71b252
- Added S_ChangeSoundVolume() to change the volume of an already playing sound, accessible
...
through the new ACS function SoundVolume.
SVN r4318 (trunk)
2013-06-01 17:46:50 +00:00
Randy Heit
612d16e11c
- Added Oktalyzer loading support to ZDoom.
...
SVN r4081 (trunk)
2013-02-08 00:25:30 +00:00
Randy Heit
f45c624769
- Changed default FluidSynth reverb and chorus parameters to the ones suggested here: http://forums.scummvm.org/viewtopic.php?p=72972&sid=d139e99a13359541ead07073112e3888#72972
...
SVN r3995 (trunk)
2012-12-21 23:59:55 +00:00
Randy Heit
3123925fa8
- Fixed: Changing fluid_chorus and fluid_reverb did not take effect until the next song started.
...
SVN r3994 (trunk)
2012-12-21 23:58:33 +00:00
Randy Heit
849f30daab
- Changed synth.chorus.active and synth.reverb.active settings to use fluid_settings_setint(),
...
since they're int and not string settings.
- Fixed: FluidSynthMIDIDevice::FluidSettingInt() interpreted the return value from fluid_settings_setint() wrongly.
SVN r3993 (trunk)
2012-12-21 23:22:59 +00:00
Randy Heit
93bd380fee
- Optimize the Java-based OPL3 emulator some by not calling expensive math functions liberally during the rendering loop.
...
SVN r3968 (trunk)
2012-11-16 06:27:03 +00:00
Randy Heit
e59d7bc8b8
- Since we have two OPL cores now, what's one more? Added a straight, (highly) unoptimized port
...
of the Java OPL3 emulator.
SVN r3967 (trunk)
2012-11-15 05:23:24 +00:00
Randy Heit
3ec387ac32
- Renamed opl_stereo to opl_fullpan, since DOSBox's core is emulating an OPL3, which is stereo
...
but only supports three pan positions and not the full 127 MIDI pan positions.
- Added opl_core cvar to select emulator core. 0 is MAME and 1 is DOSBox.
- Added DOSBox's LGPL OPL core, distantly related to one adlibemu.c written by Ken Silverman
(not to be confused with the ancient MAME-derived and GPL-licensed core also found in DOSBox).
I believe this corresponds to their "compat" emulator, but I'm not sure.
SVN r3946 (trunk)
2012-11-08 05:45:58 +00:00
Randy Heit
12ee3271c4
- Replaced the opl_onechip cvar with opl_numchips. You can now emulate up to 8 of them for MIDI
...
playback. (Raw OPL playback will still clamp it to 2, since there's no use for more than that
with any of the raw OPL formats.)
SVN r3945 (trunk)
2012-11-06 06:10:04 +00:00
Randy Heit
3b0ad55285
- Since our OPL chips are emulated, we can give them a feature that real OPL2 chips lacked:
...
Full stereo panning for the MIDI player. (The raw OPL players are unaffected.) To get the
mono output back, you can set opl_stereo to false.
- Changed SoftSynthMIDIDevice::OpenStream() to allocate the same number of samples for stereo
and mono streams.
SVN r3929 (trunk)
2012-11-02 03:25:50 +00:00
Randy Heit
4f71176ed6
- Support loading either fluidsynth.dll or libfluidsynth.dll on Windows.
...
SVN r3927 (trunk)
2012-11-01 03:01:04 +00:00
Randy Heit
e7efa1d802
- Update to latest version in trunk.
...
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
3ddac32b4f
- Because setting a DSP unit inactive completely ceases all processing on it, including timing,
...
sounds queued up while the Channel Group Target Unit is inactive will all play at the same time
once the unit is made active. To avoid this, it is now only deactivated when the gamestate is
GS_LEVEL. Otherwise, it just gets muted. Fixes http://forum.zdoom.org/viewtopic.php?f=2&t=33592 "Strife voices overlap"
SVN r3818 (trunk)
2012-08-10 03:49:50 +00:00
Randy Heit
6e81216bbd
- Fixed: The softsynths did not reset the tempo to its initial value when restarting a song.
...
SVN r3804 (trunk)
2012-08-04 02:14:32 +00:00
Randy Heit
26f9540d3c
- Fixed: I missed a nuance of the MIDI spec when writing MIDIStreamer::CreateSMF(): Running status
...
is supposed to be canceled by sysex events and meta events. This confused FMOD when the
resulting song used used running status right after these events.
SVN r3803 (trunk)
2012-08-04 01:42:49 +00:00
Randy Heit
12ef53a2ff
- snd_midipatchset and fluid_patchset are now processed through NicePath() for variable
...
substitution. In addition, on Windows, if they contain no path separator, they will
automatically have $PROGDIR prepended to them.
SVN r3781 (trunk)
2012-07-21 03:46:36 +00:00
Randy Heit
562cf04db2
- Update scripting branch to trunk.
...
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
fd784b05c2
- Fix some GCC 4.7.1 warnings.
...
SVN r3747 (trunk)
2012-07-07 03:43:11 +00:00
Randy Heit
a85b751f7a
- Fix warnings warned by GCC.
...
SVN r3552 (trunk)
2012-04-11 04:44:12 +00:00
Randy Heit
d6c3d77a38
- Fixed: Stereo sound volume reduction should only be done for stereo sounds played in 3D. Head-
...
relative ones should remain full volume.
SVN r3540 (trunk)
2012-04-08 04:57:59 +00:00
Randy Heit
bff5a9b8d8
- Fixed: Trying to init FMOD with profiling enabled when the network socket was in use would fail.
...
We now fallback to no profiling when this happens.
SVN r3468 (trunk)
2012-03-22 22:40:30 +00:00
Randy Heit
cd122f944b
- Similar fix to the previous: The child TiMidity++ process quitting would not necessarily be
...
detected, so S_ChangeMusic() would not restart one-shot songs that had finished if it was
the MIDI device.
SVN r3463 (trunk)
2012-03-22 21:23:18 +00:00
Randy Heit
78d28dedda
- Fixed: S_ChangeMusic() would not necessarily restart non-looping songs that had finished playing.
...
SVN r3462 (trunk)
2012-03-22 21:09:20 +00:00
Randy Heit
ce43552ebb
- Use _exit() instead of exit() when Timidity++ cannot be execed, because
...
exit() can (and does) make the process hang. (It sure would be nice if
POSIX-land had a simple CreateProcess API, but I guess that would be too
easy, huh?)
SVN r3432 (trunk)
2012-03-12 04:05:15 +00:00
Randy Heit
162ad601ba
- Fixed bug introduced in r3412: The SetStyle() call needs to come after the scissoring check,
...
because the latter can flush the quads, including the one SetStyle() just set a style for.
SVN r3429 (trunk)
2012-03-12 01:22:19 +00:00
Randy Heit
f94b38fd7f
- Fixed: The softsynths could get stuck on the last notes of nonlooping songs.
...
SVN r3426 (trunk)
2012-03-11 04:30:35 +00:00
Randy Heit
957f67f7cc
- Fixed: FMOD as MIDI device always looped the song, even when it shouldn't (such as the title music).
...
SVN r3425 (trunk)
2012-03-11 03:56:20 +00:00
Randy Heit
9457a1b3f8
- So, apparently the XMIDI library uses a fixed 120 Hz clock for MIDI events. As a result, we
...
should ignore any tempo events in XMIDI songs that were left over from the original MIDI
files, since the converter didn't remove them.
SVN r3384 (trunk)
2012-02-23 02:22:56 +00:00
Randy Heit
c3dba9ca9a
- Added writemidi console command. If the currently playing song is a MIDI variant, this will
...
write it to disk.
SVN r3383 (trunk)
2012-02-22 03:28:33 +00:00
Randy Heit
d3ad8ca3d8
- Fixed: XMISong::ProcessInitialMetaEvents() did not set the Division for tempo events. (Why
...
does XMI modify the division based on the tempo?)
SVN r3382 (trunk)
2012-02-22 02:05:12 +00:00
Randy Heit
170284ad57
- Added Gez's HMI/XMI division fixes, and partially the XMI tempo fix (not currently used).
...
SVN r3377 (trunk)
2012-02-21 20:19:25 +00:00
Randy Heit
ebd115e7ca
- Removed snd_3dspread, because it totally does not do what I want. I was using it to preserve
...
some of the stereoness of stereo sounds played in 3D. My testing was done only with stereo
speakers, however, and I did not realize that it was moving the perceived physical location
of the sound itself (because it sounded fine with my two speakers). So when 3D spread started
working with mono sounds as well in FMOD 4.28, sound positioning was completely broken for
everything when outputting to more than two speakers, because sounds were being spread
across a 180 degree arc.
Whoops!
Stereo sounds are now completely mono when not played by you, the listener.
SVN r3357 (trunk)
2012-02-14 03:15:13 +00:00
Randy Heit
68fbd75897
- Fixed compilation with FMOD 4.38+. The removal of hardware voices and EAX was a fairly
...
major change, so I'm making no provisions for using older FMOD DLLs when compiled with the
4.38 API. However, sound positioning is still broken like in 4.28, so you are recommended
to continue building with 4.26. Also, the Freeverb-based DSP unit is no longer present in
FMOD, so the underwater effect is currently unavailable when using 4.38 until I can figure
out how to make it work with the SFX Reverb unit instead. (And on that topic, the Freeverb
DSP was officially only for stereo outputs, so I really shouldn't have been using it in the
first place.)
- Since I would like to eventually figure out the sound positioning issues with the newer
FMODs, the following have been added:
* snd_drawoutput now labels its outputs with the speakers they represent.
* DCanvas::DrawTextA was added as an alias for DrawText, since the Windows headers #define
DrawText to a Unicode/non-Unicode variant.
* The loopsound console command was added to spawn an actor at the player's location and
have it loop a sound infinitely.
Hopefully I can figure it out. FMOD's 3D example works, so I assume the problem lies with
my code, though I don't really know where to begin looking for the problem.
SVN r3350 (trunk)
2012-02-10 00:53:50 +00:00
Randy Heit
c12538c346
- Fixed crash when trying to play a MIDI file with no notes.
...
SVN r3294 (trunk)
2011-09-14 23:34:28 +00:00
Braden Obrzut
5c81cf20ba
- Merged r1236, r1237, and r1240 of GZDoom.
...
SVN r3279 (trunk)
2011-08-14 23:53:20 +00:00
Braden Obrzut
f42358ad08
- Backported FMOD Ex 4.34 fixes from gzdoom-macosx. (With changes to continue to allow compilation with 4.22-4.28.)
...
SVN r3278 (trunk)
2011-08-13 21:11:09 +00:00
Christoph Oelckers
f84368677a
- updated OpenAL branch.
...
SVN r3269 (openal)
2011-07-08 22:00:23 +00:00
Randy Heit
1579fd1c1c
- Fixed: Selecting TiMidity++ as a MIDI device without a working timidity.exe, then switching to a different MIDI device would leave music silent until a new song was started.
...
(The discrepancy between mus_playing.handle and currSong is one which should probably be handled properly at some point.)
SVN r3212 (trunk)
2011-05-20 00:26:22 +00:00
Randy Heit
37b7595db7
- Oh my goodness, maybe I need to try compiling things before committing them!
...
SVN r3181 (trunk)
2011-04-14 21:48:48 +00:00
Randy Heit
dd5e8e9333
- Add fix for MUS volume controller changes with 8-bit values.
...
SVN r3180 (trunk)
2011-04-14 16:29:57 +00:00
Randy Heit
d3b44a4172
- Fix errors/warnings from MinGW 4.5.0 (tdm-1).
...
- Disable the missing field initializers warnings that -Wextra produces from GCC.
SVN r3173 (trunk)
2011-03-29 05:20:33 +00:00
Christoph Oelckers
1993e969b7
- GCC warning fixes (GCC stupidity for the most part.)
...
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Randy Heit
869b9c9ccc
- Fixed: FMODSoundRenderer::DrawWaveDebug() only allocated enough space for the wavearray based
...
on the window_size, so for large numbers of output channels, it would not allocate enough
space for the spectrum data (which is definied by SPECTRUM_SIZE, not the window_size) and
write junk on the stack when drawing the spectrums, causing a crash.
SVN r3087 (trunk)
2011-01-02 18:11:48 +00:00
Christoph Oelckers
dff4553663
- fixed: When playing non-looping songs GMESong::Read could return without releasing the critical section.
...
SVN r2988 (trunk)
2010-11-07 14:25:08 +00:00
Christoph Oelckers
f3d05e2699
- applied Chriss OpenAL patch to make it uzable without GStreamer.
...
SVN r2984 (openal)
2010-11-07 07:17:57 +00:00
Randy Heit
4a9892725d
- Use the so-called SafeTerminateProcess() function to kill the child TiMidity++ process instead
...
of signaling an event. I would have preferred to use GenerateConsoleCtrlEvent(), but since it
requires the caller be attached to the same console as the process it wants to kill, it's
pretty much worthless. We will continue to look for the presence of the event name in the
TiMidity++ binary despite no longer using it, because standard TiMidity++ builds do not write
to stdout in binary mode on Windows systems.
SVN r2980 (trunk)
2010-11-04 03:47:49 +00:00
Christoph Oelckers
7068c1df48
- added a ResetEvent call in case that Timidity++ did not react to signalling the KillerEvent.
...
SVN r2942 (trunk)
2010-10-14 14:40:26 +00:00
Braden Obrzut
394a37421a
- NULL pointer checks in music_pseudo_mididevice.cpp to prevent crashes on startup if fmod fails to play a midi.
...
SVN r2927 (trunk)
2010-10-09 04:37:31 +00:00
Christoph Oelckers
0490c35347
- added Edward-san's improvements for changemus command.
...
SVN r2902 (trunk)
2010-10-05 22:35:59 +00:00
Christoph Oelckers
5ff3b3f329
- added Gez's VOC loader.
...
SVN r2901 (trunk)
2010-10-05 22:31:22 +00:00
Braden Obrzut
f26e65e550
- Fixed Linux compilation errors. (I'm not too sure what I was supposed to do with PrepTimidity() though.)
...
SVN r2882 (trunk)
2010-10-02 16:49:44 +00:00
Christoph Oelckers
d3ca1fddcc
- added new action special Ceiling_LowerAndCrushDist. It's similar to Ceiling_LowerAndCrush but allows to explicitly set the distance from the floor where the ceiling stops moving. This is used to remove the special behavior for Strife from the code that unlike the other games moved the ceiling to the floor, not to 8 units above it.
...
SVN r2881 (trunk)
2010-10-02 16:26:10 +00:00
Christoph Oelckers
6d78ff3469
- Backported GZDoom revisions 1018-1019: Fixed spelling of "pseudo" because it bugged me too much. ;)
...
SVN r2880 (trunk)
2010-10-02 13:49:33 +00:00
Randy Heit
b2b84ad11f
- Fixed snd_mididevice so that changing it immediately restarts the song for all devices, not
...
just Windows system devices.
- Remove SMF generation from i_music.cpp, since the psuedo-MIDI devices do this now.
SVN r2875 (trunk)
2010-10-02 04:12:21 +00:00
Randy Heit
90dd40c58f
- Reimplemented TiMidity++ playback so that it also can handle XMI subsongs.
...
SVN r2874 (trunk)
2010-10-02 03:36:19 +00:00
Randy Heit
fa429ad844
- Fix incorrect parameters to PrintMidiDevice().
...
- Add music_psuedo_mididevice.cpp to CMakeLists.txt.
SVN r2873 (trunk)
2010-10-02 02:23:42 +00:00
Randy Heit
b6941be55f
- Reimplemented FMOD MIDI playback as a psuedo-MIDI device so that it can take advantage of XMI subsongs.
...
SVN r2872 (trunk)
2010-10-02 02:19:50 +00:00
Christoph Oelckers
5464676603
- cleaned up i_music.cpp.
...
SVN r2866 (trunk)
2010-09-29 19:29:14 +00:00
Randy Heit
bc08502132
- Pass SMF files through the MIDI conversion process too, to give TiMidity++ and FMOD some
...
degree of support for songs that use loop controllers to loop the song back to a point after
the very beginning of the song.
- Enable loops during SMF generation. Infinite loops will be clamped to some finite amount. (This is currently 30, so a 3 minute song will still restart from the very beginning after 90 minutes)
- Fixed: The SMF, HMI, and XMI readers all generated invalid MEVT_NOP events.
- Fixed: SMF generation died on songs that set their tempo during the initial beat.
SVN r2864 (trunk)
2010-09-29 03:35:53 +00:00
Christoph Oelckers
e2c105b447
- fixed: XMI music files were not converted for playback with FMod or Timidity++.
...
- Was there any reason why the MIDI_GUS device was so well hidden from the user? It sure does not sound broken. Added it to MIDI menu and $mididevice.
SVN r2862 (trunk)
2010-09-29 00:35:47 +00:00
Randy Heit
5a3b3631c3
- Added XMIDI support (including subsongs).
...
- Moved unaligned accessors into m_swap.h.
SVN r2859 (trunk)
2010-09-28 03:58:41 +00:00
Christoph Oelckers
2d5755a80e
- fix GCC warning.
...
SVN r2858 (trunk)
2010-09-27 22:42:35 +00:00
Randy Heit
4397ef3323
- Added HMP file support.
...
SVN r2849 (trunk)
2010-09-24 02:46:48 +00:00
Randy Heit
46eebe29a4
- Update the HMI player to use the division information stored in the song and check the full file signature.
...
SVN r2848 (trunk)
2010-09-23 22:37:25 +00:00
Randy Heit
5871712fd4
- Fixed incorrect definition of FLUID_FAILED when building with DYN_FLUIDSYNTH enabled.
...
SVN r2818 (trunk)
2010-09-18 02:12:49 +00:00
Randy Heit
99670b708c
- Sync scripting branch with what was in trunk on Sunday. I believe that would be revision 2739.
...
SVN r2790 (scripting)
2010-09-16 03:14:32 +00:00
Christoph Oelckers
d64fcbd01e
- applied Chris's latest OpenAL patch.
...
SVN r2781 (openal)
2010-09-15 13:45:08 +00:00
Christoph Oelckers
5e824ba0e0
- sync OpenAL branch with trunk.
...
SVN r2780 (openal)
2010-09-15 12:31:18 +00:00
Christoph Oelckers
579502ab74
- merged menu branch back into trunk.
...
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Braden Obrzut
3dbf807345
- Applied Chris's patch to fix hmi compilation error on Linux.
...
SVN r2689 (trunk)
2010-09-04 18:21:51 +00:00
Randy Heit
84b9de8c14
- Make sure Tempo is initialized before creating SMFs.
...
SVN r2684 (trunk)
2010-09-04 02:57:36 +00:00
Randy Heit
070ec75785
- Cleaned up the ugly MIDI song creating code a little.
...
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp
is no longer used but is kept around as a reference.
SVN r2677 (trunk)
2010-09-03 05:08:05 +00:00
Randy Heit
81e21b0688
- Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
...
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the
same implementation.
- Added a player for HMI midi files.
SVN r2675 (trunk)
2010-09-02 23:17:58 +00:00
Christoph Oelckers
1dd3ecd6e2
- fixed: -nosfx deactivated the entire sound system which also made music inoperable. Changed it so that all it does is block sound effects from being started.
...
SVN r2621 (trunk)
2010-08-28 13:36:41 +00:00
Christoph Oelckers
eed5812799
- added 'fluidsynth' option for $mididevice command.
...
SVN r2598 (trunk)
2010-08-26 16:46:01 +00:00
Randy Heit
c058c644a4
- MinGW did not like this assignment in the FluidSynth loader.
...
SVN r2573 (trunk)
2010-08-24 02:35:10 +00:00