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
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
cf3aeadb42
more error checking ala WildCode
2003-03-10 21:28:18 +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
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
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
eeb4e4f9a9
how that got past my compile tests is beyond me
2002-11-06 14:56:39 +00:00
Bill Currie
ca4b3acd6c
big protototype cleanup. Now, except for a few cases, all non-static
...
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
98563c15d6
fix vorbis include handling when --with-vorbis is needed
2002-10-30 02:03:24 +00:00
Bill Currie
a055269654
workaround for buggy glibc memcpy ( Closes : #28 )
2002-10-11 03:29:39 +00:00
Bill Currie
5b9d4fb241
close the file if vorbis doesn't like it
2002-09-26 19:37:01 +00:00
Bill Currie
be8df8bdaa
fix a nasty bug with looped vorbis sound effects. samples with loop lengths
...
smaller than their unlooped sections were causing qf to hang.
2002-08-27 19:44:13 +00:00
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +00:00
Bill Currie
2ce0f2ded2
we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
...
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie
5fd916a0da
looped oggs now work so long as they have a CUEPOINT= comment
2002-07-29 22:25:32 +00:00
Bill Currie
e5d8781150
win32 compile fixes. still have problems with DDActive, but Despair's going
...
to look at that.
2002-07-02 18:45:50 +00:00
Bill Currie
59dba829f2
fix an out-by-one error caused by over-optimisation of floats.
2002-06-17 00:26:13 +00:00
Bill Currie
76704e9daf
the other part of the rename
2002-06-16 04:22:51 +00:00
Bill Currie
930ba48862
other than sounds that are ment to loop not looping (due to losing that info
...
when converting to ogg (I've got some ideas on that)), ogg/vorbis support is
working. Doesn't seem to be too much of a load-time hit.
2002-06-15 05:43:56 +00:00
Bill Currie
ddf4f257f4
*sigh*, sometimes I hate automake
2002-06-15 03:20:59 +00:00
Bill Currie
9f1e6f9c82
make the vorbis support mostly work. qf segs in Cache_TryAlloc when loading
...
a map, but I think that's related to some of our other sound resample bugs.
2002-06-14 22:55:57 +00:00
Bill Currie
f2f6041e05
at long last, vorbis support :) load time only, though, so not yet suitable
...
for huge samples.
Also, change the file search order so that .gz is checked before the
requested file.
2002-06-14 20:36:28 +00:00
Bill Currie
d7c7ac7891
don't add -version-info for static plugins
2002-06-03 16:34:46 +00:00
Bill Currie
44dcf74627
strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
...
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie
08f12355c5
this /should/ fix CoolMoDee's autoconf 2.53 issues
2002-04-29 19:19:26 +00:00
Bill Currie
ef81af9245
the "two birds with one stone" commit
...
1) when /not/ building static plugins, the plugin info name is, once again,
PluginInfo, but is still type_name_PluginInfo for static plugins. This
allows plugins to be symlinked (highly desirable for the debian packages,
and likely others). This also requires plugins to /not/ be loaded with
RTLD_GLOBAL.
2) because of 1, snd_alsa_0_9 has to explicitly load libasound itself. This
just happens to fix my segfault on shutdown in RedHat 6.2.
2002-04-19 20:08:54 +00:00
Bill Currie
72bd704d13
BSD compile fixes
2002-01-31 07:37:56 +00:00
Bill Currie
013f503738
start getting const-correct on vec3_t params
2002-01-03 05:29:38 +00:00
Chris Ison
73f9c3aaa5
some minor tidy/speed up
2001-12-18 03:59:37 +00:00
Bill Currie
46835e79fe
more quakeforge compiling on alpha patches
2001-11-17 05:26:30 +00:00
Bill Currie
d168a3daee
this should remove the requirement for gmake on bsd systems
2001-11-12 16:23:41 +00:00
Bill Currie
85c9e0ab1e
more externs cleaned up
2001-10-29 17:46:03 +00:00
Bill Currie
78a3e398d5
* taniwha gets medieval on extern
2001-10-28 04:23:37 +00:00
Adam Olsen
0a6ae4f36f
- some strlen checking for strcpy. I don't feel like doing the rest
...
of the codebase :)
2001-10-26 00:20:00 +00:00
Bill Currie
2d068c0745
massive windows.h and WIN32 cleanup.
2001-10-16 21:40:45 +00:00
Bill Currie
8b2da8cbec
make the static plugins link properly with older libtool
2001-10-10 15:44:35 +00:00
Bill Currie
eee1aaf283
static plugins (--with-static-plugins to force on, --without-static-plugins
...
to force off, defaults to off for *nix and on for win32). does not work yet
due to lack of support in libs/util/plugin.c, but that's next.
2001-10-10 05:52:14 +00:00
Bill Currie
36508058ea
QFPLUGIN now does the __declspec stuff and all plugins now use it on their
...
plgin info function. doesn't actually /work/ yet :(
2001-10-08 05:54:46 +00:00
Bill Currie
a1d2cf3532
duplicate file name cleanup and make dist works
2001-10-03 17:50:36 +00:00
Chris Ison
b0dc19310a
more compile under cygwin patches
2001-09-30 13:05:20 +00:00
Jeff Teunissen
d63243380f
Aaaaaaand, it's done!
...
Special note: I hope to never do this again. :)
2001-09-28 10:31:20 +00:00
Bill Currie
b1f4a778f9
the rcsid commit from hell }:>
2001-09-28 06:26:31 +00:00
Jeff Teunissen
e6d7aec03a
Build system updates/fixes for audio libs. MUCH cleaner, probably
...
faster, doesn't do anything unnecessary any more as far as I can tell.
2001-09-28 05:33:12 +00:00
Bill Currie
a439170dcf
libasm cleanups
2001-09-25 22:12:55 +00:00
Bill Currie
06da30ac89
mingw build fixes again (including mostly working in sid: got some link issues)
2001-09-25 06:18:30 +00:00
Bill Currie
49a85718f8
total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
...
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Ragnvald Maartmann-Moe IV
7af79b96ec
Lots of whitespace, header cleanups, and a few tiny optimizations.
2001-09-09 21:41:35 +00:00
Adam Olsen
f1a016c8a5
- Refine the Cache_Get callback, to use a void * instead of a char *
...
- Switch alias models over to Cache_Get/Cache_Release
2001-08-31 12:22:45 +00:00
Adam Olsen
f54ef94fd0
remove the failure check from SND_CallbackLoad
2001-08-31 04:02:00 +00:00
Adam Olsen
6cab8cf4e0
- change Cache_Get calls to Cache_TryGet (which I just added), so they
...
can tollerate failure.
- minor error message tweak (an emptry string is not NULL!)
2001-08-31 03:48:26 +00:00
Bill Currie
2c51098ac9
the plugin structs /definitly/ have to be static and remove some debug from
...
alsa_0_9
2001-08-31 03:42:54 +00:00
Bill Currie
e469b934ea
get alsa0_9 working with latest cvs, we need to dlopen the plugin with
...
RTDL_GLOBAL. To use RTDL_GLOBAL, we need to make as much static as possible
and PluginInfo needs a unique name (%s_%s_PluginInfo, type, name).
2001-08-31 00:05:58 +00:00
Bill Currie
2b18896bbb
oh, the joys of asm in shared libs
2001-08-30 22:32:11 +00:00
Bill Currie
a625f178af
better sound_started checking
2001-08-30 22:11:45 +00:00
Adam Olsen
e149094bd2
- rename Qalloc and friends to QA_alloc
...
- add a QA_strdup
- add Cache_{Add,Remove,Get,Release}, for the locking version of the
cache
- Convert libs/audio/* over to locking cache functions
2001-08-30 11:37:50 +00:00