Commit graph

432 commits

Author SHA1 Message Date
Bill Currie
ce5658416d add support for up to 8 channels in sound effect files
The sounds are down-mixed to 2 channels (qf does not (yet) support more than
2 channel output), but this allows pretty much anything to be used for a
source of music. Only 5.1 (6 channel), stereo and mono have been tested, but
the others should work (any issues would be mis-interpretation/implementation
of the channel layout).
2010-08-12 02:28:27 +00:00
Bill Currie
b1620616b9 reset the "resampler" when seeking 2010-08-11 23:47:31 +00:00
Bill Currie
22e8698827 resampling now works
However, no fallback for when libsamplerate is missing.
2010-08-11 23:47:03 +00:00
Bill Currie
1c985bc925 bah, forgot these 2010-08-11 23:46:28 +00:00
Bill Currie
3499f5257f add a test app and a workaround for the clicking in the resamled stream
the proper fix for the clicking is to either use SRC's callback resampler or
fix snd_mem.c to handle not getting the samples it expects, but I think the
callback will be better in the long run.
2010-08-11 23:45:56 +00:00
Bill Currie
0e3b395943 ok, non-resampled flacs now work beautifully 2010-08-11 23:45:32 +00:00
Bill Currie
7502cd9ec5 making slow progress on sound quality
streamed oggs playback cleaning when not resampling, but flacs are still crap
2010-08-11 23:45:09 +00:00
Bill Currie
65a748fc3c floating point mixer now working
the resampler is being badly abused for streams, and it's not yet properly
autoconfiscated, but things are working. Better yet, at the correct pitch and
speed.
2010-08-11 23:44:34 +00:00
Bill Currie
2bb2d14b89 make "sample counts" frame based rather than mono sample based
that was always horribly confusing
2010-08-11 23:43:35 +00:00
Bill Currie
d0906f1453 conditionally build the sound format support files
Rather than using an ifdef around the entire code, get autoconf to do the work
for us. For one thing, this allows doxygen to produce decent docs. It also
makes for less compalation when building without support for various formats.
2010-08-11 23:42:42 +00:00
Bill Currie
c0a8c6c695 properly prefix all functions, static or not
makes doxygen produce better docs
2010-08-11 23:41:04 +00:00
Bill Currie
ac44950a69 sanitize the code by using defines for old flac libs 2010-08-11 23:40:35 +00:00
Bill Currie
46a067b2f6 Do proper error handling when loading sound files.
This fixes the segfault grg got when trying to play a 5.1 channel file.
2010-08-08 03:02:55 +00:00
Bill Currie
0dfff8fd58 ignore stuff 2010-08-07 10:42:09 +00:00
Bill Currie
adee45d22b add a comment about the valid range of samples 2010-08-06 01:58:12 +00:00
Bill Currie
98a0da742a Prefill the sfx stream buffer to ensure the decoders have allocated any memory they might need. Problem found using jack_interposer (http://repo.or.cz/w/jack_interposer.git). 2010-08-06 00:41:42 +00:00
Bill Currie
dabb720fd1 be a little more honest (don't say "Playing" until we actually can) 2010-08-05 07:23:06 +00:00
Bill Currie
6e2a8f1e3d Do not allow sounds to start when we have no connection to the jack server. This fixes the shutdown hang when the connection to the server is lost. 2010-08-05 07:20:50 +00:00
Bill Currie
997102fea8 audit the usage of "only"
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
f315a122e5 attempt to handle jack shutdown. this should avoid locking up on client shutdown when jack disappears 2009-12-24 06:35:15 +00:00
Bill Currie
8166af6d47 oss patch from Philippe Troin 2009-12-20 05:58:16 +00:00
Bill Currie
0af43cf016 make the resampling state a little more self-contained. this should make 2009-01-08 07:48:08 +00:00
Bill Currie
9c9f79d05c provide the ability to control which jack server to connect to 2007-07-03 10:30:13 +00:00
Bill Currie
d93670df3b cleanup some cruft 2007-06-09 07:48:44 +00:00
Timothy C. McGrath
f850815b8c Fix from raorn for broken compiling. 2007-05-31 14:22:54 +00:00
Bill Currie
6cfaa8a8c5 fix a missing dep (fixes parallel make) 2007-05-31 10:31:21 +00:00
Bill Currie
c6d7a19851 Move all the cd plugins into the audio subdir so things can be built in the correct order (as cd_file depends on libQFsound). 2007-05-31 06:30:46 +00:00
Bill Currie
425fed1a63 don't depend on libQFcd 2007-05-31 06:06:52 +00:00
Bill Currie
ce2ba56c47 gcc 4.2 clean 2007-05-31 05:58:33 +00:00
Bill Currie
e6a5994cd0 patch from raorn for new flac 2007-05-30 22:06:47 +00:00
Bill Currie
201f01b66c hopefully speed up byte swaps 2007-05-26 23:18:46 +00:00
Bill Currie
253795ca7f better handling of missing sound files. fixes the seg when the cd track isn't available. 2007-05-21 21:40:59 +00:00
Bill Currie
1be73a528a don't seg when non-jack isn't available either :P 2007-05-21 21:39:59 +00:00
Bill Currie
cfb13eac71 behave properly when using jack but jackd isn't there 2007-05-21 11:20:36 +00:00
Bill Currie
01f7bd440e slightly cleaner 2007-05-08 10:49:54 +00:00
Bill Currie
fd6a856ae1 clean out some old debug code that's confusing me 2007-05-08 09:33:24 +00:00
Bill Currie
3c78eaaa49 should fix hikaru's seg 2007-05-07 21:50:31 +00:00
Bill Currie
097be5a093 fix file handle leak 2007-05-07 14:03:36 +00:00
Bill Currie
dd1adc0431 remove S_TouchSound: it doesn't seem to be necessary 2007-05-07 12:20:38 +00:00
Bill Currie
72daa2fd2b add some sounds to the menus (not yet finished) 2007-05-07 12:17:12 +00:00
Bill Currie
7af2378e03 turn on graph generation in the doxygen output. very slow, but the diagrams are worth it. Also make the data member of sfx_t a union rather than void so doxygen can see the relationships (and gets rid of a bunch of casts that I never liked anyway). 2007-05-07 05:20:24 +00:00
Bill Currie
b5592b3e6e optionally treat tracks as playlists 2007-05-06 11:50:49 +00:00
Bill Currie
2ee461fc24 this seems to fix the sound cutouts. I /think/ this is the correct fix as cached sfxs are shared and thus nulling the buffer pointer isn't a particularly good idea for every release. 2007-05-06 08:35:28 +00:00
Bill Currie
93ee2e489b more vc2005 patches from phrosty 2007-04-11 22:03:36 +00:00
Bill Currie
323052bd2b survive across gamedir changes 2007-04-07 07:44:07 +00:00
Bill Currie
ff132bb536 64bit windows patch from phrosty 2007-04-04 07:48:14 +00:00
Bill Currie
3cb9e089ef make -nocdaudio wor 2007-03-31 23:36:13 +00:00
Bill Currie
8d5b5fdf04 cleanup of channel stopping and fix cd_file's pause/resume 2007-03-27 06:15:57 +00:00
Bill Currie
f2dc7bd02c Cleanup SND_StaticSound a bit. 2007-03-27 04:12:04 +00:00
Bill Currie
5d73a80887 use ch->sfx in one place only. doesn't really fix anything though. 2007-03-27 03:49:42 +00:00