Commit Graph

5828 Commits

Author SHA1 Message Date
Chris Robinson 67b874328d Use static_cast instead of reinterpret_cast where possible 2018-12-28 16:13:28 -08:00
Chris Robinson 01ed98c99b Finish turning ancillary backend methods into member functions 2018-12-28 15:09:51 -08:00
Chris Robinson b7f5166d59 Turn even more methods into member functions 2018-12-28 14:06:15 -08:00
Chris Robinson 200e267b81 Turn some more methods into member functions 2018-12-28 12:58:01 -08:00
Chris Robinson 983904bbdc Add a method to prefix logged function names 2018-12-28 12:29:05 -08:00
Chris Robinson aff58265cb Make more methods into member functions 2018-12-27 23:37:24 -08:00
Chris Robinson 28308226e7 Turn more methods into member functions 2018-12-27 21:50:54 -08:00
Chris Robinson 885f68268f Turn more methods into member functions 2018-12-27 20:24:35 -08:00
Chris Robinson 015a4b060b Make some ancillary methods into member functions 2018-12-27 19:38:02 -08:00
Chris Robinson 0f36459028 Use vectors instead of malloc'd buffers 2018-12-27 18:33:49 -08:00
Chris Robinson 465ab11748 Finish renaming backend struct fields 2018-12-27 17:48:02 -08:00
Chris Robinson e48b8c4cda Rename some more struct members for consistency 2018-12-27 17:09:14 -08:00
Chris Robinson 515edc3dee Fix ring buffer vector methods 2018-12-27 15:05:12 -08:00
Chris Robinson f2c2b7c538 Get rid of the unnecessary STATIC_(UP)CAST macros 2018-12-27 14:27:35 -08:00
Chris Robinson 4782d6107d Use a proper constructor/destructor for the ALCbackend base 2018-12-27 13:40:43 -08:00
Chris Robinson 7880f27054 Rename DSound class members for consistency 2018-12-27 13:07:14 -08:00
Chris Robinson 1a4387d137 Return unique_ptrs instead of raw pointers
For the ring buffer, channel converter, and sample converter.
2018-12-27 12:55:43 -08:00
Chris Robinson 323cf58f02 Simplify resampling with CoreAudio capture
The ringbuffer holds the samples from the device, and we use our own converter
for resampling, calling it on demand with data from the ring buffer.
2018-12-27 12:04:18 -08:00
Chris Robinson 4dca2f2ee5 Use a unique_ptr for the AsyncEvents ringbuffer 2018-12-27 10:44:02 -08:00
Chris Robinson be85ab6f82 Rename some ALSA class members for consistency 2018-12-27 10:34:22 -08:00
Chris Robinson c3f370fa41 Constify and reorder a couple device fields 2018-12-27 10:25:09 -08:00
Chris Robinson 7d821551ac Recognize ambix as an alias for acn+sn3d 2018-12-27 01:18:10 -08:00
Chris Robinson d367093c06 Use std::array for appropriate source and listener properties 2018-12-26 22:27:34 -08:00
Chris Robinson a4ac43b602 Avoid a lambda to find a not-null entry in an array 2018-12-26 21:55:39 -08:00
Chris Robinson 8a0295503d Clean up the ring buffer struct and use member functions 2018-12-26 21:22:17 -08:00
Chris Robinson 4f253a935a Handle HRTF coefficients and values by reference where possible 2018-12-26 15:35:05 -08:00
Chris Robinson c5be03b51e Avoid masking in ApplyCoeffs's inner loop
This unfortunately does not apply to NEON, which would need a bit more
reworking of its method.
2018-12-26 14:59:21 -08:00
Chris Robinson 5c449de73f Improve UHJ2 encoding 2018-12-26 13:20:59 -08:00
Chris Robinson 3b9defa4af Improve some post-process handlers 2018-12-26 12:46:01 -08:00
Chris Robinson 5cc545f157 More aggressively try to decrement an effect's refcount in-place 2018-12-26 12:25:34 -08:00
Chris Robinson 38537a35cc Avoid using a local for a temporary 2018-12-25 22:32:30 -08:00
Chris Robinson b2665a503f Do some pre-mixing fading checks once before preparing to mix 2018-12-25 19:54:14 -08:00
Chris Robinson a7c58decfb Add a couple more ASSUMEs for number of channels and sends 2018-12-25 18:49:12 -08:00
Chris Robinson 497226f11e Add an adjust-latency config option for PulseAudio 2018-12-25 17:04:54 -08:00
Chris Robinson 6a8c791e3c Rework the pulseaudio backend to avoid an explicit mixer thread 2018-12-25 16:31:31 -08:00
Chris Robinson 0314370eb5 Cache the process binary path and name 2018-12-25 11:27:22 -08:00
Chris Robinson 208ea76922 Cleanup some includes 2018-12-25 11:09:41 -08:00
Chris Robinson 8336de6653 Rename a couple filter files for consistency 2018-12-25 10:28:02 -08:00
Chris Robinson 9e19acd9e1 Avoid making static local copies of constexpr values 2018-12-25 10:06:17 -08:00
Chris Robinson 63df7cd537 Construct AsyncEvent objects directly in the ringbuffer 2018-12-25 09:32:38 -08:00
Chris Robinson 3b7f668b28 Avoid an intermediate mixing buffer 2018-12-24 20:44:55 -08:00
Chris Robinson fbae41020d Remove extraneous typedef, struct, and enum keywords 2018-12-24 19:29:01 -08:00
Chris Robinson 194e7ff815 Add an in-progress extension to set the effect slot target 2018-12-24 15:52:37 -08:00
Chris Robinson bbf9e6931c Propagate an effectslot target property 2018-12-24 15:17:38 -08:00
Chris Robinson ae86aef4db Provide effect target parameters through a common struct 2018-12-24 13:29:36 -08:00
Chris Robinson cd213fe6b7 Avoid using select() 2018-12-24 09:58:48 -08:00
Chris Robinson 95631aa358 Make the Compressor more class-like 2018-12-24 09:17:00 -08:00
Chris Robinson d49eeb576c Only check ambisonic attributes with B-Format output 2018-12-24 07:33:38 -08:00
Chris Robinson 68352d3188 Apply the limiter before distance compensation 2018-12-24 07:30:01 -08:00
Chris Robinson ef10152361 Assume alignment for some buffers 2018-12-23 20:56:27 -08:00