Chris Robinson
779eb4b82b
Convert the PulseAudio backend to the new interface
2013-10-29 14:44:07 -07:00
Chris Robinson
d4aa4e16a0
Add a macro to forward methods to a base type
2013-10-29 11:22:18 -07:00
Chris Robinson
d2b3615943
Convert the loopback backend to the new interface
2013-10-29 10:38:55 -07:00
Chris Robinson
0a6eff6a89
Add a GNU-specific AL_PRINT
...
This one makes use of the ', ## __VA_ARGS__' construct to avoid
splitting the output into two *printf calls.
2013-10-28 17:09:52 -07:00
Chris Robinson
21f1e54cb9
Create and use a backend wrapper for capture
2013-10-28 14:38:55 -07:00
Chris Robinson
8d9fb5109b
Move some stuff out of alMain.h
2013-10-28 12:48:13 -07:00
Chris Robinson
f24cb44781
Move the device mutex to the backend
2013-10-28 12:05:33 -07:00
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
f065700ef9
Move the lock/unlock methods to the backend
2013-10-28 05:10:28 -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
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
b42fcce014
Use inline initialization for effect state factory vtables
2013-10-07 14:49:36 -07:00
Chris Robinson
b3841653c6
Remove the last of the al_try code
2013-10-07 12:05:39 -07:00
Chris Robinson
32d3bde261
Use inline functions to lookup and remove objects
2013-10-07 11:39:32 -07:00
Chris Robinson
4f72da0005
Return only true or false from the source getters and setters
2013-10-07 11:10:49 -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
1461903e0d
Add a workaround for KDevelop not recognizing the ALIGN macro
2013-10-07 06:05:42 -07:00
Chris Robinson
5d014ba85f
Start using a simpler method for error handling
...
This helps avoid the al_try/al_throwerr/al_endtry stuff.
2013-10-06 18:01:01 -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
69e64e1ed2
Add a workaround for KDevelop not recognizing 'restrict'
2013-10-06 03:53:20 -07:00
Chris Robinson
ba52ac9bcd
Finalize AL_SOFT_deferred_updates
2013-10-05 06:14:04 -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
7257aa3ed2
Allow enabling HRTF through a context creation attribute
2013-05-31 19:29:32 -07:00
Chris Robinson
69e0c19767
Start an extension that can query the status of HRTF rendering
2013-05-31 16:03:59 -07:00
Chris Robinson
e96cc656e9
Use C99's inline instead of __inline
2013-05-28 22:27:07 -07:00
Chris Robinson
8d874512b6
No-op if DELETE_OBJ is given a NULL pointer
2013-05-27 12:07:54 -07:00
Chris Robinson
9e84f38a46
Use generic VCALL[_NOARGS] macros instead of type-specific wrappers
2013-05-27 11:48:29 -07:00
Chris Robinson
6571d80540
Use a Delete method for deletable objects
2013-05-25 21:04:00 -07:00
Chris Robinson
be4a4d7468
Use fegetenv/fesetenv to backup and restore the FPU state
2013-05-22 23:05:26 -07:00
Chris Robinson
38a9e642df
Check for SSE2 and set the denormals-are-zero bit for mixing if available
2013-05-22 17:04:37 -07:00
Chris Robinson
0a07ed14c2
Rename DELETE to DELETE_OBJ
...
Because Windows.
2013-05-21 23:42:40 -07:00
Chris Robinson
604726c639
Add a DELETE macro to help destroy objects
2013-05-21 13:27:27 -07:00
Chris Robinson
a5d94f5d09
Use factories to create and destroy effect states
2013-05-21 12:47:18 -07:00
Chris Robinson
44da54ec7f
Rename some inheritance macros
2013-05-21 02:30:11 -07:00
Chris Robinson
4c436b106d
Use some macros to help with deriving types
2013-05-20 01:32:02 -07:00
Chris Robinson
1c523df160
Remove an unused macro
2013-05-20 00:14:36 -07:00
Chris Robinson
43b406ad9b
Simplify al_try code
2013-03-24 13:55:41 -07:00
Chris Robinson
d237410d1d
Add a QSA backend for QNX
2013-03-14 01:29:20 -07:00
Chris Robinson
c2adea1999
Make the context's LastError volatile
2012-12-24 05:32:15 -08:00
Chris Robinson
43b9027611
Return the integer from fastf2i with MSVC
2012-11-13 15:12:46 -08:00
Chris Robinson
e2368eb960
Use an array to specify the offset for each channel of the device buffer
...
This effectively inverts the DevChannels array
2012-11-04 04:41:11 -08:00
Chris Robinson
4a3d36a176
Finalize AL_SOFT_source_latency
2012-10-31 05:09:42 -07:00
Chris Robinson
e60281c927
Don't use a loop to determine the next power of 2
2012-10-13 08:58:48 -07:00
Chris Robinson
1212523470
Implement the double and int64 source setters
...
Note that currently the int64 setters do not range check before being passed to
the int setters, erroneously chopping off the upper bits.
2012-10-13 00:56:39 -07:00
Chris Robinson
d598f82722
Don't include alListener.h from alMain.h
2012-10-09 04:48:12 -07:00
Chris Robinson
c22408cb2a
Store a pointer to the listener in the context
2012-10-09 04:44:27 -07:00