Commit Graph

236 Commits

Author SHA1 Message Date
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