summaryrefslogtreecommitdiff
path: root/src/i_sound.c
AgeCommit message (Collapse)Author
2015-06-08Replace "opl_type" config variable with DMXOPTION.Simon Howard
Vanilla Doom used the DMXOPTION environment variable to control whether OPL3 output was generated. Emulate this, and use a config file variable that can set DMXOPTION without needing to configure it via an environment variable.
2015-05-29Added OPL3 mode support.Nuke.YKT
2015-05-27opl: Some minor tweaks to the last merge.Simon Howard
Formatting, variable names, don't pollute global variable namespace.
2015-03-10OPL code guideline style fixkhokh2001
2015-03-09Hexen and Heretic use older DMX. Since OPL Voice Allocating algorithm ↵khokh2001
differ. This commit adds old DMX's voice allocating alogrithm for Hexen and Heretic.
2015-02-20Refactor config file API.Simon Howard
The config file API previously relied on binding config variables using M_BindVariable() which took a void pointer. It occurred to me that if used on a boolean variable, this would be erroneous, but the void pointer would make it impossible to tell. Split this into separate M_Bind{Foo}Variable() functions based on type, which allows for proper type checking on the pointers that are passed. Vaguely related to #509.
2014-05-05Clean up file headers.Simon Howard
This change rewrites and simplifies the copyright headers at the top of all source files: * Remove "Emacs style mode select" line; this line was included in the headers for the originally released source files and appears to be to set the file type for old versions of Emacs. I'm not sure entirely why it was required but I don't think it is any more. * Remove "You should have received a copy of..." text from copyright header. This refers to the old 59 Temple Place address where the FSF headquarters used to be located and is no longer correct. Rather than change to the new address, just remove the paragraph as it is superfluous anyway. This fixes #311. * Remove ---- separator lines so that the file headers are barer and more simplified.
2014-05-01opl: Fix crash when using OPL music.Simon Howard
The previous change to add the poll method to the music module interface introduced a crash, as the OPL music struct does not define a poll method.
2014-04-27music: Add loop point Ogg/Flac metadata support.Simon Howard
ZDoom has defined a format for Vorbis metadata comments named LOOP_START and LOOP_END that allow the start and end points to be defined in .ogg and .flac files for looping music. Add support for these (they are used in Brandon Blume's SC-55 recordings).
2014-03-23music: Add config var for external music program.Simon Howard
Mix_SetMusicCMD() allows a program to be specified to configure an external program to be invoked for music playback. Add a config variable (snd_musiccmd) to allow this to be set from a configuration file. Thanks to Holering for his comments on Doomworld about how to do this.
2014-03-23sound: Add config variable to control buffer size.Simon Howard
Add snd_maxslicetime_ms variable to control the size of the output sound buffer, and reduce the default from 70ms to 28ms to match Doom's 35fps timer. Thanks to Holering for reporting this (fixes #345).
2014-01-27sound: Fix swapped parameters for function.Simon Howard
CheckVolumeSeparation() has the sep and vol parameters backwards compared to how they are used when the function is called. Reverse the order to fix this (thanks proteal). Fixes #330.
2013-10-20Use OPL MIDI playback as the default music device.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2714
2013-09-29Add config file variable for controlling libsamplerate conversion scaleSimon Howard
factor. This is an alternative to the approach taken in the version on the trunk version, where all sounds are pre-converted at startup and adjusted based on the maximum value. Subversion-branch: /branches/v2-branch Subversion-revision: 2690
2013-03-03Add GUS pseudo-emulation.Simon Howard
Subversion-branch: /branches/v2-branch Subversion-revision: 2566
2013-03-03Add configuration file variable to specify path to a Timidity configSimon Howard
file. Subversion-branch: /branches/v2-branch Subversion-revision: 2564
2011-03-05Add configuration parameter to limit the amount of memory used forSimon Howard
cached soundss. Subversion-branch: /branches/strife-branch Subversion-revision: 2290
2010-08-31Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1987
2010-04-30Scale up music volume from configuration file value in Heretic/Hexen.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1925
2010-04-30Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1924
2009-11-21Merge from trunk.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1737
2009-06-10Fix build with FEATURE_SOUND disabled.Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1589
2008-10-08Switch configuration file code to common configuration file code, andSimon Howard
remove old code. Subversion-branch: /branches/raven-branch Subversion-revision: 1338
2008-10-05Perform bounds checking on separation and volume values passed to theSimon Howard
low-level sound code, as the Heretic s_sound.c code generates values that are out of range. Subversion-branch: /branches/raven-branch Subversion-revision: 1337
2008-09-25Add option to low-level sound API to disable the DS prefix for soundSimon Howard
effects, for Heretic. Fix sound links. Subversion-branch: /branches/raven-branch Subversion-revision: 1281
2008-09-14Remove i_sdlsound.c dependency on doom/Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1229
2008-09-11Refactor configuration file system to allow configuration file variablesSimon Howard
to be bound in a distributed fashion around the program. Remove dependency of m_config.c on doom/. Subversion-branch: /branches/raven-branch Subversion-revision: 1222
2008-09-08Move s_sound.[ch] to doom/Simon Howard
Subversion-branch: /branches/raven-branch Subversion-revision: 1213
2008-09-08Split off some of the s_sound.c code into i_sound.c and reimplement theSimon Howard
old low-level sound API as a thin wrapper around the module system. Decouple the low-level code from the high-level code. Subversion-branch: /branches/raven-branch Subversion-revision: 1212
2007-06-17Split i_sound.c into i_sdlsound.c, i_sdlmusic.c, with generic "soundSimon Howard
driver" modules, one for PC speaker and one for digital output. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 913
2007-06-16Clean up sound codeSimon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 911
2007-06-14Add configuration file variable to change the sound sample rateSimon Howard
(snd_samplerate) Subversion-branch: /trunk/chocolate-doom Subversion-revision: 906
2007-05-20Fix crash when converting audio down to a lower sample rate.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 883
2007-05-20Stop music on sound shutdown so music isn't left playing at the ENDOOMSimon Howard
screen. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 882
2007-05-16Add FEATURE_SOUND.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 877
2007-03-15Use SDL for endianness byte swapping. m_swap.c removed; m_swap.h renamedSimon Howard
to i_swap.h. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 857
2007-03-14Use SDL's built-in audio conversion routines to convert sound effects toSimon Howard
the output mixer device's sample rate. Simplistic (naive) resampling in cases where SDL's routines can't do a conversion. This needs a bit more work to filter out the high frequency artifacts at 48khz output rate. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 856
2007-03-10Lots of changes/additions:Russell Rice
* Add libpcsound codeblocks project * Use libraries that are built and project dependencies inside main chocolate-doom/setup project and remove source files. * libraries are now built in the "lib" top level directory * Fix some warnings Subversion-branch: /trunk/chocolate-doom Subversion-revision: 852
2007-03-07Use native endianness for sound output, rather than always LSB. Add PCSimon Howard
speaker code! Subversion-branch: /trunk/chocolate-doom Subversion-revision: 844
2007-02-14Read sound length as a 32 bit field, not 16 bit. Fixes death sound inSimon Howard
marina.wad. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 834
2007-01-08More helpful SDL_mixer error messages.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 827
2007-01-06Choose the locations for temporary files more intelligently.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 821
2006-12-26On OSX, make MIDI music disabled by default. There are problems with theSimon Howard
native MIDI code in SDL_mixer. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 811
2006-12-24Javadoc-style self-documenting system for command line options.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 806
2006-12-24Include "SDL.h", not <SDL.h>, as per http://www.libsdl.org/faq.phpSimon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 805
2006-11-14Support running as a screensaver under X!Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 750
2006-10-18Strip out CVS logs, RCS Id tags.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 704
2006-09-21Set default sound devices to SNDDEVICE_SB, so that sfx and music are on by Simon Howard
default. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 649
2006-09-15Interpret the snd_sfxdevice and snd_musicdevice values in the configurationSimon Howard
file and act the same as Vanilla Doom. Subversion-branch: /trunk/chocolate-doom Subversion-revision: 606
2006-09-09Fix the -nomusic parameter.Simon Howard
Subversion-branch: /trunk/chocolate-doom Subversion-revision: 603