Chris Robinson
2912d130c2
Separate compatibility declarations
2013-10-28 11:26:26 -07:00
Chris Robinson
034935b2e1
Modify how VCALL is handled
...
Now instead of specifying the arguments as a third argument to the macro, like
VCALL(object,function,(arg1, arg2));
they are specified separately after the macro, like
VCALL(object,function)(arg1, arg2);
Also, VCALL_NOARGS has been removed in favor of VCALL0, which behaves like
above but expects an empty argument list (a separate macro is needed to work
around preprocessor limitations).
2013-10-28 11:06:04 -07:00
Chris Robinson
c1cdd3095b
Convert the Null backend to the ALCbackend style
2013-10-28 08:29:19 -07:00
Chris Robinson
dc7ed39fa7
Add a backend factory base type
2013-10-28 07:27:35 -07:00
Chris Robinson
c8603092d3
Add a default getLatency to ALCbackend
...
And make sure the backend is properly deleted.
2013-10-28 05:57:07 -07:00
Chris Robinson
f065700ef9
Move the lock/unlock methods to the backend
2013-10-28 05:10:28 -07:00
Chris Robinson
e54983694b
Add missing header to git
2013-10-27 16:37:40 -07:00
Chris Robinson
3ed425d7ef
Move the ALCdevice handle to the ALCbackend base
2013-10-27 16:20:47 -07:00
Chris Robinson
af8be56f17
Use an ALCbackend object to access playback backends
...
This is the start of a backend redesign. Currently, a wrapper object is used to
avoid having to redo all the backends at once, but they should slowly be
converted to derive from ALCbackend instead. The ALCbackend interface can
change as needed.
2013-10-27 14:24:55 -07:00
Chris Robinson
bf465eb2eb
Move SetThreadName to threads.c
2013-10-27 08:32:58 -07:00
Chris Robinson
8ceb800def
Rework threading functions
2013-10-27 08:14:13 -07:00
Chris Robinson
f93bfab824
Set a name for the mixer and recording threads
2013-10-27 07:00:44 -07:00
Chris Robinson
ff5277f4d7
Add a method to set the running thread's name
2013-10-26 12:39:19 -07:00
Chris Robinson
54b8690781
Fix a comment
2013-10-26 08:49:37 -07:00
Chris Robinson
a421e515be
Use a helper macro for pi*2
2013-10-08 16:31:23 -07:00
Chris Robinson
11365b42c7
Use helper macros to convert between degrees and radians
2013-10-08 12:39:22 -07:00
Chris Robinson
b42fcce014
Use inline initialization for effect state factory vtables
2013-10-07 14:49:36 -07:00
Chris Robinson
fc31a41473
Constify the effect parameter of effect getters
2013-10-07 12:56:41 -07:00
Chris Robinson
997f6228de
Use the UNUSED macro in the effects
2013-10-07 08:34:54 -07:00
Chris Robinson
32e85d469b
Use the UNUSED macro in the backends
2013-10-07 08:00:18 -07:00
Chris Robinson
1518895e15
Use an UNUSED macro instead of void-tagging unused parameters
2013-10-07 07:44:09 -07:00
Chris Robinson
b5fece0381
Add a CMake option to not define the IDs used on Windows
...
This includes the GUIDs, IIDs, CLSID, and PropertyKeys. It is up to the user
to ensure the appropriate IDs are defined when linked.
2013-10-07 06:36:58 -07:00
Chris Robinson
79edd2cf3b
Use a macro for the silence threshold
2013-10-06 17:25:47 -07:00
Chris Robinson
6425480d40
Don't store the effect slot in SendParams
...
This makes it much more like DirectParams.
2013-10-06 10:11:01 -07:00
Chris Robinson
8448b94c0b
Rename Filter param member to LpFilter
2013-10-06 09:33:02 -07:00
Chris Robinson
9ee3d01f6e
Use a simpler U64 macro to make 64-bit constants
2013-10-06 04:21:03 -07:00
Chris Robinson
ba52ac9bcd
Finalize AL_SOFT_deferred_updates
2013-10-05 06:14:04 -07:00
Chris Robinson
43c375716a
Only rest as long as needed in the Null renderer
2013-10-05 00:33:56 -07:00
Chris Robinson
ead8573aaf
Add some more missing enums
2013-10-03 07:57:54 -07:00
Chris Robinson
41175ec84c
Implement the Compressor effect
2013-10-03 07:55:12 -07:00
Chris Robinson
b9fd3f9eb4
Add missing enum to the list
2013-10-03 07:32:01 -07:00
Chris Robinson
01a5946a2e
Compile using -std=c99 when available
2013-10-03 05:45:12 -07:00
Chris Robinson
2e605590a2
Convert autowah.c line-endings
2013-10-03 05:04:39 -07:00
Chris Robinson
764ea95781
Use helpers to set channel gain arrays
...
Also avoid unnecessary clearing.
2013-10-03 05:02:16 -07:00
Chris Robinson
99fa5911bc
Implement the Autowah effect.
2013-10-03 03:37:03 -07:00
Chris Robinson
2f676832bc
Avoid a divide-by-0 when distortion edge is 1
2013-09-04 15:46:05 -07:00
Chris Robinson
94884ed04b
Use a separate value for the maximum buffer channels
...
Unlike the device, input buffers are accessed based on channel numbers
instead of enums. This means the maximum number of channels they hold
depends on the number of channels any one format can have, rather than
the total number of recognized channels. Currently, this is 8 for 7.1.
2013-07-23 00:13:15 -07:00
Chris Robinson
2219ce2475
Implement master high-pass filter for EAXREVERB
2013-07-21 22:12:50 -07:00
Chris Robinson
51791e6a54
Remove an unused function
2013-07-21 03:22:14 -07:00
Chris Robinson
d85f0c0bb2
Improve the source's low-pass filter response
2013-07-20 22:18:44 -07:00
Chris Robinson
52096234e1
Limit the source step to 10
...
This means the combination of the buffer frequency, source pitch, and
doppler shift can't exceed 10x the device playback frequency.
This is needed to keep the mixer from starving with a really high
increment, causing small DstBufferSize values that require a lot of
iterations.
2013-07-02 06:57:27 -07:00
Chris Robinson
ed0568bb24
Fix a potential infinite loop.
...
If the first XDG_CONFIG_DIRS entry isn't a proper relative path,
it would never break the loop.
2013-06-19 23:24:06 -07:00
Chris Robinson
a9fac12969
Work around some problems with KDevelop's parser
2013-06-18 14:33:39 -07:00
Chris Robinson
3c90ed95af
Look for alsoft.conf in the XDG_CONFIG_DIRS and XDG_CONFIG_HOME directories
...
This follows the XDG Base Directory Specification. The old files/locations are
still supported, but configs found in XDG_CONFIG_DIRS take precedence over
/etc/openal/alsoft.conf, and a config found in XDG_CONFIG_HOME takes precedence
over $HOME/.alsoftrc.
2013-06-16 22:55:11 -07:00
Chris Robinson
48d5002190
Trace config file names being loaded
2013-06-16 20:43:31 -07:00
Chris Robinson
784e396cc7
Don't split config sections into separate blocks
2013-06-16 19:52:56 -07:00
Chris Robinson
8bd77be522
Improve parsing of the config files
...
This will also now recognize (and strip) quotation marks from around values.
2013-06-16 18:42:27 -07:00
Chris Robinson
a5471ce0a4
Better handle spaces between string list entries
2013-06-16 15:44:41 -07:00
Chris Robinson
817ca82e4b
Fix input and feedback in the echo effect
2013-06-10 05:57:27 -07:00
Chris Robinson
68898dad1e
Don't open the log file with both 'truncate' and 'append' flags
2013-06-07 03:38:09 -07:00