Commit graph

429 commits

Author SHA1 Message Date
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
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
ff2a40a7c6 WildCode's dx cleanups 2003-03-11 06:31:30 +00:00
Bill Currie
cf3aeadb42 more error checking ala WildCode 2003-03-10 21:28:18 +00:00
Bill Currie
cbd2c42178 WildCode's win32 sound fixes 2003-03-10 21:21:22 +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
c788a2ea57 remove a redundant call to S_Init_Cvars and call S_ClearBuffer when sound
is blocked and unblocked.
2003-01-31 17:56:05 +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
f8eda03b63 fix a const correctness issue 2003-01-09 17:06:27 +00:00
Bill Currie
0926ab64ec make the plugin cvars rom rather than archive 2003-01-08 22:42:55 +00:00
Bill Currie
e7d138e727 string const correctness 2003-01-06 21:41:46 +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
ee30860cef fix a bunch of ;; typos 2002-11-20 21:44:04 +00:00
Bill Currie
261dcfe2a3 FreeBSD patch from q (see what happens for the other BSDs) 2002-11-20 17:20:52 +00:00