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
|
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 |
|
Bill Currie
|
72a1aeb74b
|
d'oh
|
2007-03-27 03:43:52 +00:00 |
|
Bill Currie
|
e994e622b5
|
I'm getting pretty annoyed with this cache-release bug :P
|
2007-03-27 03:42:11 +00:00 |
|
Bill Currie
|
3bc7921a99
|
plug a potential channel leak
|
2007-03-27 00:50:08 +00:00 |
|
Bill Currie
|
522b069433
|
wow, wasn't thinking well with that one. fixes the seg with the default renderer
|
2007-03-27 00:49:20 +00:00 |
|
Bill Currie
|
b987d5e887
|
mixer is a bit more reliable, but still getting cut-offs :(
|
2007-03-26 13:30:56 +00:00 |
|
Bill Currie
|
970408769f
|
opps, that wasn't meant to go in
|
2007-03-26 11:49:54 +00:00 |
|
Bill Currie
|
f2e524491d
|
reduce a lot of duplicated code. should have done it this way in the first place. anyway, now I can get on with fixing the cut-off bug (I hope).
|
2007-03-26 11:44:52 +00:00 |
|
Bill Currie
|
b93615940e
|
remove some debug
|
2007-03-25 08:30:06 +00:00 |
|
Bill Currie
|
1d1982fddf
|
more improvements to the sound offsetting
|
2007-03-25 08:12:43 +00:00 |
|
Bill Currie
|
2f7d686a3c
|
make things a little quieter (less likely to clip)
|
2007-03-25 08:11:52 +00:00 |
|
Bill Currie
|
f2d7630ac1
|
better sound offsetting
|
2007-03-25 07:45:13 +00:00 |
|
Bill Currie
|
33a7c395dc
|
allow initially silent channels to be active incase they are later audible
|
2007-03-25 06:48:19 +00:00 |
|
Bill Currie
|
0a142265cc
|
ensure silent channels get freed
|
2007-03-25 06:42:14 +00:00 |
|
Bill Currie
|
6678e67f05
|
clamp the default renderer to 44100 too, and spew messages when running out of channels.
|
2007-03-25 01:02:03 +00:00 |
|
Bill Currie
|
cc6ec57772
|
fix a weird naming issue that caused uninitialized error (weird mostly because it snuck past me)
|
2007-03-24 11:46:41 +00:00 |
|
Bill Currie
|
984d42df3b
|
fix an unitialized variable (won't fix the bug, though)
|
2007-03-24 11:11:19 +00:00 |
|
Bill Currie
|
da1b11ff3b
|
I'm tired of the cache bug, but it hides nicely behind gamedir changes, so I'll just leave it for now with a FIXME
|
2007-03-24 10:42:34 +00:00 |
|
Bill Currie
|
02c41feabc
|
make gamedir change a two phase operation so things can be done both before and after the cache is flushed. (still having problems with cached sounds, though)
|
2007-03-24 10:13:10 +00:00 |
|
Bill Currie
|
54139a1742
|
don't try to release an sfx when the cache has been flushed: our held sfx gets ripped out from underneath us.
|
2007-03-24 08:37:04 +00:00 |
|
Bill Currie
|
b8c11cc7ec
|
bah, that line was needed after all. still don't know why (it shouldn't be)
|
2007-03-23 14:41:53 +00:00 |
|
Bill Currie
|
4ccb6675a6
|
fix the "Cache_Release: already released!" error
|
2007-03-23 12:33:04 +00:00 |
|
Bill Currie
|
81a57bb3fa
|
patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years.
|
2007-03-22 23:20:57 +00:00 |
|
Bill Currie
|
9d165f317f
|
fix lost channels (fixes both running out of channels and non-stop loops)
|
2007-03-22 08:27:54 +00:00 |
|
Bill Currie
|
04639c7ab8
|
remove some stuff I forgot about
|
2007-03-21 14:37:16 +00:00 |
|
Bill Currie
|
5a1c57fd87
|
better channel selection: don't bother. having problems with looped sounds that can't be stopped and getting the wrong sfx at times.
|
2007-03-21 12:56:43 +00:00 |
|
Bill Currie
|
62df1f2c31
|
fix some missing symbols
|
2007-03-21 12:50:41 +00:00 |
|
Bill Currie
|
f0a4c4ace5
|
remove a bogus "done" and use 1 instead of 2 (holdover from a previous itteration of the code)
|
2007-03-21 11:41:34 +00:00 |
|
Bill Currie
|
7252ef1e54
|
allow the mixer to run even when sound blocked. prevents sounds piling up
|
2007-03-21 11:39:01 +00:00 |
|
Bill Currie
|
03e5ae136e
|
print noisy reminder to fix resampler
|
2007-03-20 13:37:38 +00:00 |
|
Bill Currie
|
988898ca4a
|
fix segfault when setting ambient_level to 0
|
2007-03-20 13:29:10 +00:00 |
|
Bill Currie
|
e52940a3db
|
add snd_force_unblock as an attempt to work around stuck sound on focus changes
|
2007-03-19 22:20:13 +00:00 |
|
Bill Currie
|
48e7b65f51
|
don't seg on shutdown when jackd wasn't there
|
2007-03-18 22:09:51 +00:00 |
|
Bill Currie
|
0f1cd876b2
|
cleaner sfx handling in dynamic sounds
|
2007-03-18 13:29:58 +00:00 |
|
Bill Currie
|
d9b7ccd5e3
|
seems to fix going from start to e1m1 in nq
|
2007-03-18 13:07:20 +00:00 |
|
Bill Currie
|
d67cbeae7f
|
bring cd_file in line with the new sound api
|
2007-03-18 12:54:59 +00:00 |
|
Bill Currie
|
9baefa94bb
|
write 0s to the buffer when sound is blocked
|
2007-03-18 11:58:54 +00:00 |
|
Bill Currie
|
bbdca8428a
|
channel leak plugged
|
2007-03-18 11:20:47 +00:00 |
|
Bill Currie
|
1315d4178f
|
found the missing retain
|
2007-03-18 10:45:29 +00:00 |
|
Bill Currie
|
5a0e2460a3
|
whee, lockless channel management. still have a problem with unbalanced retain/release, though.
|
2007-03-18 10:32:01 +00:00 |
|
Bill Currie
|
7043dd14f9
|
forgot to do midi's stream_open
|
2007-03-18 01:51:37 +00:00 |
|
Bill Currie
|
44aaec4f22
|
make the cache/stream setup code common.
|
2007-03-18 01:44:46 +00:00 |
|
Bill Currie
|
3a6ab1ae38
|
enable blocking control (doesn't fix the thread problems, though)
|
2007-03-17 09:33:21 +00:00 |
|
Bill Currie
|
ee12f44ff6
|
d'oh. anyway, with midi, sounds great (so long as jackd isn't suffering xruns)
|
2007-03-17 07:28:32 +00:00 |
|
Bill Currie
|
b4cb4afdb0
|
oops, didn't have wildmidi installed, so this bitrotted a bit
|
2007-03-17 07:18:01 +00:00 |
|
Bill Currie
|
916a698ac5
|
it makes noise, but dies due to caching bugs
|
2007-03-17 07:05:24 +00:00 |
|
Bill Currie
|
9691afb782
|
connects to jack server and auto-wires the ports
|
2007-03-17 06:20:52 +00:00 |
|
Bill Currie
|
973cf9acce
|
forgot to add these
|
2007-03-17 03:14:41 +00:00 |
|
Bill Currie
|
cde6e60848
|
most of the hacking needed to break out the common code from snd_dma.c
|
2007-03-17 03:10:45 +00:00 |
|
Bill Currie
|
0105754f6f
|
clean out some no-op functions
|
2007-03-10 14:17:52 +00:00 |
|
Bill Currie
|
99c0954b47
|
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
|
2007-03-10 12:00:59 +00:00 |
|
Bill Currie
|
17875bee39
|
move the handling of -nosound out of the plugin so it can control loading of the plugin
|
2007-03-10 07:22:32 +00:00 |
|
Bill Currie
|
d8f6d8a5fb
|
split out the resample code from the memory code
|
2007-03-10 06:38:24 +00:00 |
|
Bill Currie
|
81a5a90450
|
all static data now
|
2007-03-10 06:31:50 +00:00 |
|
Bill Currie
|
b0543b9ca2
|
asm's been ditched for sound...
|
2007-03-10 06:17:09 +00:00 |
|
Bill Currie
|
d4719db021
|
a bunch of docs for snd_render.h and a some cleanup of namepace and old cruft
|
2007-03-10 04:21:32 +00:00 |
|
Bill Currie
|
87cc09233c
|
"long" audit. can't use long when we want 32 bits. May be a few more cases.
|
2005-10-23 13:19:21 +00:00 |
|
Bill Currie
|
3fb03fc2be
|
hah, should have been using __attribute__((used)) all that time (rather
than __attribute__((unused))). fixes the missing console in -x11
|
2005-08-04 15:27:09 +00:00 |
|
Bill Currie
|
bcb45a7958
|
oops, messed up HAVE_VORBIS and HAVE_FLAC (cut&paste error:)
|
2005-06-19 05:24:19 +00:00 |
|
Bill Currie
|
9b7d8a9eca
|
cached and 8 bit and/or mono flacs now work
|
2005-06-16 00:35:55 +00:00 |
|
Bill Currie
|
d083fb4150
|
read the samples out of the buffer properly. fixes the horrible sounds :)
streamed flacs now work. cached not tested yet (haven't got any flacs that
small:)
|
2005-06-16 00:06:37 +00:00 |
|
Bill Currie
|
a2f0cd94e8
|
fix gcc-4 warnings
|
2005-06-15 22:20:40 +00:00 |
|
Bill Currie
|
13e8b00da5
|
almost works. samples are mangled
|
2005-06-15 11:56:03 +00:00 |
|
Bill Currie
|
98f53c2c1c
|
forgot to update the header
|
2005-06-15 10:06:55 +00:00 |
|
Bill Currie
|
dff68bfed0
|
beginnings of flac support. compiles but untested. if this doesn't crash,
I'll be surprised :)
|
2005-06-15 10:02:50 +00:00 |
|
Bill Currie
|
501180aaac
|
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
|
2005-06-08 06:35:48 +00:00 |
|
Bill Currie
|
9f0903e4ba
|
wildcode and despair's automake 1.9 patch
This is an imperfect revision of history.
|
2004-11-18 06:08:00 +00:00 |
|
Bill Currie
|
201252c1c0
|
FIXME cleanup and a missed win32 compile fix
This is an imperfect revision of history.
|
2004-11-06 02:21:00 +00:00 |
|
Bill Currie
|
c99a011f21
|
make sure sample length is never 0
|
2004-04-29 03:00:25 +00:00 |
|
Ragnvald Maartmann-Moe IV
|
d2a2ac036e
|
Slightly ugly fix for an optimization bug.
|
2004-03-01 21:09:56 +00:00 |
|
Ragnvald Maartmann-Moe IV
|
08de21404f
|
Space, the final frontier...
|
2004-03-01 11:51:34 +00:00 |
|
Ragnvald Maartmann-Moe IV
|
2342dfcd8f
|
A couple of small optimizations. If you are exiting early, avoid some stuff
only needed later. And reduce worst-case number of if tests in a few places.
|
2004-03-01 11:51:01 +00:00 |
|
Bill Currie
|
9784ba5954
|
Grievre's gamedir callback patch to fix mangled sounds on gamedir change
plus a couple minor tweaks I notcied needed doing.
|
2004-02-03 03:01:06 +00:00 |
|
Bill Currie
|
e763507c71
|
segfault fix from ashridah
|
2004-01-26 01:21:06 +00:00 |
|
Bill Currie
|
d5a33c9545
|
extend the sound api slightly to ease things like cd_file and make cd_file
work as intended :)
|
2004-01-21 02:52:12 +00:00 |
|
Bill Currie
|
e154c9add5
|
be consistent with WIN32 and _WIN32 (now all _WIN32)
|
2004-01-20 03:47:27 +00:00 |
|
Bill Currie
|
1bfef95a29
|
name changes to make figuring out what's private and what's not easier
|
2004-01-09 03:48:00 +00:00 |
|
Bill Currie
|
ccfa9081b0
|
fix shm properly :)
|
2004-01-08 03:46:11 +00:00 |
|
Bill Currie
|
deb8137db7
|
more sound static cleanup
|
2004-01-08 01:48:02 +00:00 |
|
Bill Currie
|
e639e5efc3
|
clean up snd.c a little
|
2004-01-08 00:25:52 +00:00 |
|
Chris Ison
|
d2d0cb211c
|
proper implementation to prevent the fastforward effect
|
2003-10-15 20:40:53 +00:00 |
|
Chris Ison
|
392902f5af
|
added SND_NoResampleStereo so that streams that don't need resampling aren't forced to, also added midi support via libWildMidi, MIDI FILES RULE
|
2003-09-10 05:20:51 +00:00 |
|
Bill Currie
|
89833cb4d7
|
support streams that don't want any resampling
|
2003-09-09 22:20:10 +00:00 |
|
Bill Currie
|
9210829573
|
PLUGIN_INFO decl cleanup
|
2003-08-01 19:53:46 +00:00 |
|
Bill Currie
|
855fc53709
|
handle alloca properly
|
2003-07-09 06:28:09 +00:00 |
|
Brian Koropoff
|
9e57425f4f
|
Make the playcenter hack not screw up sound spatialization.
|
2003-05-28 04:49:09 +00:00 |
|
Brian Koropoff
|
124d90f84f
|
Add the playcenter command to play a sound without 3d spatialization.
|
2003-05-15 22:39:34 +00:00 |
|
Bill Currie
|
5f3573143a
|
the beginnings of a jihad against buffer overflows
|
2003-05-08 23:24:02 +00:00 |
|
Bill Currie
|
4a73d5dc45
|
this seems to fix the "end of file" issues on streams
|
2003-04-26 04:30:07 +00:00 |
|
Bill Currie
|
7d06343b2f
|
make the opened sfx name usable
|
2003-04-21 18:09:53 +00:00 |
|
Bill Currie
|
848bb891b3
|
win32 compile fix
|
2003-04-21 17:28:56 +00:00 |
|
Bill Currie
|
eac5b83ea5
|
remove some debug info
|
2003-04-21 01:44:55 +00:00 |
|
Bill Currie
|
194c9aa097
|
fix the file handle leak
|
2003-04-21 01:39:07 +00:00 |
|
Bill Currie
|
efe9dd844f
|
fix the segfault on starting a map only to die from file handle starvation :P
|
2003-04-21 01:24:53 +00:00 |
|
Bill Currie
|
714bd341fc
|
'copy' streams on openning. fixes the shared stream issues, though other
problems might arrise (eg, running out of file handles or memory)
|
2003-04-20 07:19:51 +00:00 |
|
Bill Currie
|
52f41f8095
|
make streams work in chunks of 256 samples (won't work so well for non power
of 2 resample rates :/)
|
2003-04-20 03:42:19 +00:00 |
|
Bill Currie
|
e4ba0ad5e5
|
move to static initialization for plugin info
|
2003-04-20 02:05:28 +00:00 |
|
Bill Currie
|
49571b257d
|
crystal clear playback on resampled streams :) (still borked when shared,
though :/)
|
2003-04-17 17:43:21 +00:00 |
|
Bill Currie
|
51f7b934d1
|
more headpos resetage
|
2003-04-17 03:58:16 +00:00 |
|
Bill Currie
|
28cc2e24ef
|
headpos needs resetting too at sfx end
|
2003-04-17 03:53:54 +00:00 |
|
Bill Currie
|
772b8d5961
|
more triage :P
|
2003-04-17 02:55:26 +00:00 |
|
Bill Currie
|
87025a4598
|
get sound (generally) working again
|
2003-04-17 02:40:17 +00:00 |
|
Bill Currie
|
eb099ae0d3
|
make qf gcc 3.3 clean
|
2003-04-17 00:01:48 +00:00 |
|
Bill Currie
|
63e6ae2869
|
report the name of the stream if reading is truncated
|
2003-04-15 21:11:41 +00:00 |
|
Bill Currie
|
37fa93e8e5
|
horrible hack for `fixing' glitchy sound effects when a stream is shared by
more than one object
|
2003-04-15 04:19:33 +00:00 |
|
Bill Currie
|
5505aba316
|
minor cleanups
|
2003-04-15 04:03:02 +00:00 |
|
Bill Currie
|
130a3f4d59
|
fix the -ve reads
|
2003-04-15 03:21:29 +00:00 |
|
Bill Currie
|
da44c783fb
|
get the new sound system mostly working. just getting a bogus read count
in the stream reader at the moment, otherwise it's working wonderfully :)
|
2003-04-15 02:34:17 +00:00 |
|
Bill Currie
|
dfff6bcdb7
|
duplicate the vorbis file info when creating a stream
|
2003-04-14 16:28:20 +00:00 |
|
Bill Currie
|
9fda72c119
|
streamed sounds /almost/ work. sound like crap but no crashes
|
2003-04-14 15:47:08 +00:00 |
|
Bill Currie
|
aab4dcf931
|
getting there with streams. just need to get the painters working, I think.
(streaming currently disabled for anything < 30s :)
|
2003-04-14 06:11:53 +00:00 |
|
Bill Currie
|
38ef81ca78
|
set the buffer length as early as possible for cached sounds
|
2003-04-14 01:40:40 +00:00 |
|
Bill Currie
|
1b2d7b79a6
|
streams getting closer, not working yet, though
|
2003-04-13 06:46:24 +00:00 |
|
Bill Currie
|
23278d0706
|
fix looping
|
2003-04-12 00:03:56 +00:00 |
|
Bill Currie
|
4eaeb91cc4
|
disable debug
|
2003-04-11 23:52:18 +00:00 |
|
Bill Currie
|
b7ff08fba4
|
effectively disable streamed oggs for now
|
2003-04-11 23:50:45 +00:00 |
|
Bill Currie
|
e3f8c833ad
|
getting closer. wav's successfully load, but playback is always looped (?).
oggs hang
|
2003-04-11 21:14:38 +00:00 |
|
Bill Currie
|
948c97a6a4
|
cached wav files almost work (seems cached ogg are borked now :/)
|
2003-04-11 18:59:14 +00:00 |
|
Bill Currie
|
725f1d0595
|
don't compile any vorbis code if it's unavailable
|
2003-04-11 14:38:31 +00:00 |
|
Bill Currie
|
8012a408b8
|
90% there for cache wav support. will likely segfault :)
|
2003-04-11 04:39:51 +00:00 |
|
Bill Currie
|
12724f5fa7
|
cached oggs work
|
2003-04-11 02:58:24 +00:00 |
|
Bill Currie
|
21e0e342a0
|
fix the calling of a null pointer (oops:)
|
2003-04-11 02:21:25 +00:00 |
|
Bill Currie
|
ccb56eea39
|
half way though the sfx loader re-write. nothing works :)
|
2003-04-11 01:17:48 +00:00 |
|
Bill Currie
|
c9f0652a95
|
start of split-out wav loader. not done yet (probably doesn't compile) but
easier to keep track of here :)
|
2003-04-09 07:30:49 +00:00 |
|
Bill Currie
|
b80357afda
|
change _FOpenFile to take a dstring for foundname plugging a potential
buffer overflow.
|
2003-04-09 05:55:41 +00:00 |
|
Bill Currie
|
dd297bc12a
|
start work on support for stereo samples
|
2003-04-08 22:23:16 +00:00 |
|
Bill Currie
|
cf3aeadb42
|
more error checking ala WildCode
|
2003-03-10 21:28:18 +00:00 |
|
Bill Currie
|
7f37260a9c
|
this bit shouldn't know about windows
|
2003-02-28 16:22:42 +00:00 |
|
Bill Currie
|
6a687f5e45
|
rename all the globals in quakefs.[ch] to be QFS_* or qfs_*
|
2003-02-14 19:46:07 +00:00 |
|
Bill Currie
|
963fa8ef98
|
fix non-vorbis compile
|
2003-02-02 04:54:40 +00:00 |
|
Bill Currie
|
3fcc6ae176
|
a bit more cleanup with more _null deaths
|
2003-01-31 23:16:28 +00:00 |
|
Bill Currie
|
e6a6f7099b
|
don't need this any more
|
2003-01-31 22:34:47 +00:00 |
|
Bill Currie
|
05fb5f9fb2
|
partial cleanup. more to come later :)
|
2003-01-31 20:51:04 +00:00 |
|
Bill Currie
|
93b767d4e0
|
reduce the heavy pointer dereferencing needed to access the sound plugins
|
2003-01-31 20:19:42 +00:00 |
|
Bill Currie
|
c103d77157
|
make SND_ClearBuffer get called directly by Block/UnblockSound and remove
S_ClearBuffer from the api
|
2003-01-31 19:55:21 +00:00 |
|
Bill Currie
|
881e7918c2
|
cut some overhead on sound rendering
|
2003-01-31 19:14:12 +00:00 |
|
Bill Currie
|
570a72497f
|
patches from the FreeBSD ports that are still applicable
|
2003-01-31 18:19:55 +00:00 |
|
Bill Currie
|
761a7546dd
|
re-arrange things so __attribute__ and __builtin_expect are properly
autoconfiscated so rcsid will continue to work with gcc 3.3
|
2003-01-15 15:31:36 +00:00 |
|
Bill Currie
|
71196fedf6
|
make gcc more anal about prototypes, string constants and function
visibility (ie, global functions must have a prototype)
|
2003-01-06 18:28:13 +00:00 |
|
Bill Currie
|
eeb4e4f9a9
|
how that got past my compile tests is beyond me
|
2002-11-06 14:56:39 +00:00 |
|
Bill Currie
|
ca4b3acd6c
|
big protototype cleanup. Now, except for a few cases, all non-static
prototypes are in headers files.
|
2002-11-05 19:12:51 +00:00 |
|
Bill Currie
|
98563c15d6
|
fix vorbis include handling when --with-vorbis is needed
|
2002-10-30 02:03:24 +00:00 |
|
Bill Currie
|
a055269654
|
workaround for buggy glibc memcpy (Closes: #28)
|
2002-10-11 03:29:39 +00:00 |
|
Bill Currie
|
5b9d4fb241
|
close the file if vorbis doesn't like it
|
2002-09-26 19:37:01 +00:00 |
|