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
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