Bill Currie
f8ffb12713
[audio] Clean up jack and alsa dependencies
...
I had forgotten to test with shared libs and it turns out jack and alsa
were directly accessing symbols in the renderer (and in jack's case,
linking in a duplicate of the renderer).
Fixes #16 .
2021-06-27 01:57:59 +09:00
Bill Currie
0be609e0fd
[util] Make PI_LoadPlugin always call general init function
...
As the root cause for #16 was something else, this fixes only the basic
cvar initialization, but does fix #19 (for now, at least).
2021-06-26 16:18:05 +09:00
Bill Currie
a1a89bdb7e
[audio] Clean up a few minor style issues
2021-06-25 16:52:09 +09:00
Bill Currie
580464d6be
[audio] Disable extra update for pull targets
...
This fixes a segfault that snuck in due to testsound not using
S_ExgraUpdate.
2021-06-25 14:24:24 +09:00
Bill Currie
02ff875cd6
[audio] Add optional on_update output function
...
on_update is for pull-model outpput targets to do periodic synchronous
checks (eg, checking that the connection to the actual output device is
still alive and reviving it if necessary)
2021-06-25 13:52:50 +09:00
Bill Currie
db7e99d842
[audio] Allow output plugins to specify model
...
Output plugins can use either a push model (synchronous) or a pull
model (asynchronous). The ALSA plugin now uses the pull model. This
paves the way for making jack output a simple output plugin rather than
the combined render/output plugin it currently is (for #16 ) as now
snd_dma works with both models.
2021-06-25 11:41:42 +09:00
Bill Currie
fc907e232f
[audio] Rework alsa to use a pull model
...
This brings the alsa driver in line with the jack render (progress
towards #16 ), but breaks most of the other drivers (for now: one step at
a time). The idea is that once the pull model is working for at least
one other target, the jack renderer can become just another target like
it should have been in the first place (but I needed to get the pull
model working first, then forgot about it).
Correct state checking is not done yet, but testsound does produce what
seems to be fairly good sound when it starts up correctly (part of the
state checking (or lack thereof), I imagine).
2021-06-24 00:08:05 +09:00
Bill Currie
db322ce88b
[audio] Clean up snd_render.h namespace polution
...
There's no need for the function typedefs and the warts on the member
names were... warty.
Also, group the members logically.
2021-06-22 16:38:17 +09:00
Bill Currie
f1aefc969d
Fix some 64-bit mingw compile issues.
...
Just one more issue to fix (alloca), but with a hack, QF compiles (no clue
yet if it works: wine doesn't seem to be an option at this stage)
2013-01-22 21:02:49 +09:00
Bill Currie
23a38738fc
Massive whitespace cleanup.
...
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525
Nuke the rcsid stuff.
...
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
9a91aff93c
Move the ambient level check out of the sound renderer.
...
Instead, the client gets the current leaf and passes ambient_sound_level
from the leaf to S_Update.
2012-02-13 13:44:29 +09:00
Bill Currie
45288a1a7f
Fix the ghastly sound quality.
...
Due to quake's original sound engine using a push model, the actual place
to which the sound data should be written is not necessarily where the
"hardware" dma cursor is, but rather where the last write finished off.
Thus, the correct output location is indicated by snd_paintedtime rather
than snd_shm->framepos.
2011-12-08 11:02:19 +09:00
Bill Currie
881d4babce
Fix some undefined symbols in snd_alsa.c.
...
Serves me right for testing with only my debug build :P
2011-09-08 18:10:09 +09:00
Bill Currie
a8ea3aaad9
Allow dma sound targets to specify an xfer function.
2011-09-07 17:00:18 +09:00
Bill Currie
efa0105748
Rename some headers to fix doxygen warnings.
2011-07-23 15:58:45 +09:00
Antti Harri
8d1bd58ade
snd_dma.c fixes for non-power-of-two values. From Jacob Meuser.
2011-06-04 09:47:15 +03:00
Bill Currie
4449f10c0a
get alsa and sdl working, though sdl seems to be mono only
2010-08-15 05:15:47 +00:00
Bill Currie
65a748fc3c
floating point mixer now working
...
the resampler is being badly abused for streams, and it's not yet properly
autoconfiscated, but things are working. Better yet, at the correct pitch and
speed.
2010-08-11 23:44:34 +00:00
Bill Currie
2bb2d14b89
make "sample counts" frame based rather than mono sample based
...
that was always horribly confusing
2010-08-11 23:43:35 +00:00
Bill Currie
dd1adc0431
remove S_TouchSound: it doesn't seem to be necessary
2007-05-07 12:20:38 +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
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
62df1f2c31
fix some missing symbols
2007-03-21 12:50:41 +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
0f1cd876b2
cleaner sfx handling in dynamic sounds
2007-03-18 13:29:58 +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
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
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
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
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
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
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
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
Bill Currie
9210829573
PLUGIN_INFO decl cleanup
2003-08-01 19:53:46 +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
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