Commit Graph

466 Commits

Author SHA1 Message Date
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 8205ac4544 this should fix the asla seg 2007-03-18 01:15:57 +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 58523becc7 oops 2007-03-10 07:30:12 +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 99e05d2188 warning cleanup patch from raorn 2007-01-06 21:31:03 +00:00
Bill Currie a2b2261913 this should fix a couple warnings found by raorn 2006-09-11 22:56:16 +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 6705140f76 can't adjust dmix's buffer size, so print a message when it seems it's
likely to be an issue
2005-08-12 02:39:37 +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 72e375d96a this should fix the snd_output_alsa0_9_PluginInfo undefined symbol issue 2005-06-19 05:30:54 +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 2cc2da74ba fix the 0x0 dma buffer mis-reportage 2005-06-14 11:43:42 +00:00
Bill Currie 76305e7e6b attempt to fix choppy audio in alsa caused by non-power-of 2 buffer size 2005-06-14 05:37:26 +00:00
Bill Currie df91ce0275 automaticly select the best available sound output driver as default 2005-06-08 10:12:28 +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
Bill Currie c456eb1f80 fix a 64bit warning 2004-04-29 01:13:37 +00:00
Ragnvald Maartmann-Moe IV db1f68347b Fixes compilation with current GCC. Also a safety improvement (if macro should
use param more than once), taniwha tells me.
2004-03-21 04:59:02 +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
Ragnvald Maartmann-Moe IV 6880b42182 More improvements from ashridah. 2004-02-08 02:39:44 +00:00
Bill Currie f6cac11478 another tidy-up patch from ashridah 2004-02-07 07:50:11 +00:00
Bill Currie 85cd891d8c loop cleanup patch from ashridah 2004-02-07 07:00:25 +00:00
Bill Currie 6342a9bdd7 comment fixups 2004-02-07 06:21:57 +00:00
Bill Currie 6b2d5b6d64 implement pause properly. works for me, hopefully for others 2004-02-07 06:18:56 +00:00
Bill Currie 9038ae2be9 correct a couple function calls 2004-02-07 06:09:06 +00:00
Ragnvald Maartmann-Moe IV e4410cd914 Grr. 2004-02-07 05:56:49 +00:00
Bill Currie eee61d261c ashridah's cd info patch with some whitespace and string handling tweaks 2004-02-07 05:46:43 +00:00
Ragnvald Maartmann-Moe IV 7ae804b8cf Whitespace, codingstyle, clean out dead comments, redundant returns, and
generally sanitize the cd plugins.
2004-02-07 05:35:15 +00:00
Jeff Teunissen 5e3ea6c00c strip a couple of unnecessary braces 2004-02-07 04:48:36 +00:00
Jeff Teunissen 8811dd520e Misc. cleanups. 2004-02-07 04:47:38 +00:00
Jeff Teunissen cad6fedad8 Whitespace and coding style. 2004-02-06 15:16:50 +00:00
Jeff Teunissen 950a5b34c4 Updates from ashridah. 2004-02-06 14:59:29 +00:00
Bill Currie 50f83f7701 cleanup patch from ashridah
basically, moves all the tracklist work into a single function, moves a few
functions around, cleans up a few issues with things like reset, and whatnot
2004-02-06 05:44:54 +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
Timothy C. McGrath 53f8424912 Patch from Grievre to fix cd_file so it does not cause the game to segmentation
fault when snd_output is set to null. Also some debugging stuff added just in
case.

This was tested only with making sure that it works when snd_output is null and
non null. Whoever authored this might want to go test this and make sure it
still works :)

Timothy C. McGrath
(Hikaru)
2004-01-28 10:07:31 +00:00
Bill Currie e763507c71 segfault fix from ashridah 2004-01-26 01:21:06 +00:00
Bill Currie c376982588 this should fix thuglife's segfault 2004-01-25 19:59:49 +00:00
Bill Currie f1ae56a8a7 make "file" the default cd plugin 2004-01-21 21:06:13 +00:00
Bill Currie e379238126 used the function I'd created for loading sounds :P (fixes cd_file plugin
loading)
2004-01-21 19:35:17 +00:00
Bill Currie 62c3d7cefb oops, uninitialized variable 2004-01-21 03:16:16 +00:00
Bill Currie 93b01bdf25 make some prints developer 2004-01-21 02:59:09 +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 9aa9d4e3dc whitespace 2004-01-20 22:20:38 +00:00
Bill Currie 9f79e620c8 snd_alsa.c doesn't work for 0.9.x so don't mention it :) 2004-01-20 22:14:11 +00:00
Bill Currie 1583961b36 fix a couple of compile issues with older gcc 2004-01-20 08:47:19 +00:00
Bill Currie f7fe0a4a8c remove two redundant functions from cd_funcs_t and convert all the cd
plugins to using pre-initialized structs
2004-01-20 08:34:57 +00:00
Bill Currie 52968be46d ashridah's file based cd plugin (ie, it will play any sound file QF can
load as background music).
2004-01-20 06:58:42 +00:00
Bill Currie 283d49bd8e first chunk of Mike Gorchak's <mike@malva.ua> QNX patches 2004-01-20 05:57:39 +00:00
Bill Currie e154c9add5 be consistent with WIN32 and _WIN32 (now all _WIN32) 2004-01-20 03:47:27 +00:00
Ragnvald Maartmann-Moe IV 459503e61b Argh. 2004-01-19 21:48:45 +00:00
Bill Currie 77b2942982 several libs can now get built as dlls in windows: console, gamecode,
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +00:00
Chris Ison 1d8cb8614c add snd_bits/rate/stereo cvars to win and dx sound targets 2004-01-18 09:18:45 +00:00
Ragnvald Maartmann-Moe IV 25a8748dc9 Bring back alsa 0.9 support as a separate module. 2004-01-17 22:41:53 +00:00
Ragnvald Maartmann-Moe IV a42a0aa974 Check return conditions during ALSA setup.
Error checking during setup is a good thing...
2004-01-17 22:03:58 +00:00
Bill Currie 17db1f42f2 don't block if the sound device is busy (from Grievre) 2004-01-16 02:50:26 +00:00
Chris Ison 9113ea6fd4 fix dereferencing type-punned pointer errors 2004-01-12 05:34:46 +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
Ragnvald Maartmann-Moe IV 2485bed45a Codestyle. Grr! 2004-01-07 08:45:18 +00:00
Bill Currie e4416c1f66 fix some weird whitespace 2004-01-07 08:16:59 +00:00
Ragnvald Maartmann-Moe IV 3d14b29b38 Whitespace 2004-01-06 03:24:46 +00:00
Ragnvald Maartmann-Moe IV 5f76017d2a Update ALSA sound target to support 1.0.
Breaks 0.9 support, but 1.0 is in 2.6.0. So either update, or revert to older
snd_alsa.c & alsa_funcs_list.h.
2003-12-22 01:07:49 +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 0e6c56aa92 drop alsa 0.5 support and rename snd_alsa_0_9.c to snd_alsa.c. also rename
the alsa0_9 plugin to alsa.
2003-09-09 18:43:38 +00:00
Bill Currie ba4ca3515d make the default pcm device "default" 2003-09-08 22:56:06 +00:00
Bill Currie 07d7f81e14 hopefully fix the alsa-lib assertion bug 2003-08-04 03:36:55 +00:00
Bill Currie 9210829573 PLUGIN_INFO decl cleanup 2003-08-01 19:53:46 +00:00
Bill Currie 14a9ff2e6b make dx default 2003-07-23 16:43:25 +00:00
Bill Currie 6efa0ca736 if at first you don't succeed... 2003-07-10 22:20:29 +00:00
Bill Currie 855fc53709 handle alloca properly 2003-07-09 06:28:09 +00:00
Bill Currie 21f7365bcc make "win" the default for snd_output on windows 2003-07-08 20:09:23 +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 06608fbf37 round the mmap length up to the nearest page size 2003-04-30 14:55:58 +00:00
Bill Currie 95ae17acc1 I don't know why MAP_SHARED is needed, but it's not compatable with
write-only mode, so make it part of snd_oss_rw
2003-04-30 02:52:41 +00:00
Bill Currie 30b25af44b bring back the rw/wo code 2003-04-29 03:14:37 +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