Chris Robinson
e5e3b05015
Fix capture device closing in the CoreAudio backend
2018-03-24 09:25:49 -07:00
kcat
eccf679ca9
Merge pull request #181 from jhasse/sdl2-include
...
Also add SDL2's include path
2018-03-24 09:25:13 -07:00
Jan Niklas Hasse
3fc9d3a1be
Also add SDL2's include path
2018-03-24 16:45:13 +01:00
Chris Robinson
3f071a90a4
Use proc_pidpath to get the process path on macOS when available
2018-03-24 08:25:58 -07:00
Chris Robinson
413d55aaa5
Fix a couple comments about coordinate handedness
2018-03-24 07:02:27 -07:00
Raulshc
6d8062a2a7
EFX: Align some arrays used in intrinsics ( #180 )
2018-03-24 05:43:56 -07:00
Chris Robinson
6990478369
Rename ALfilterState/Type to BiquadState/Type
2018-03-23 14:52:59 -07:00
Chris Robinson
e37634e908
Remove an unused struct and move some functions to where they're used
2018-03-23 11:58:11 -07:00
Chris Robinson
63c9d95b84
Combine multiple allocations into one
2018-03-23 11:39:07 -07:00
Chris Robinson
63c35248be
Some formatting cleanup
2018-03-22 11:32:23 -07:00
Chris Robinson
6685e0a078
Don't use an ALsizei for a potentially negative value
2018-03-22 11:11:45 -07:00
Chris Robinson
7789cc8e32
Define the Hanning window globally once for the pitch shifter
2018-03-22 09:55:15 -07:00
Chris Robinson
1d6622aa2b
Fix a delta phase offset calculation in the pitch shifter
...
tmp can be negative, and &1 is not the same as %2 in that case.
2018-03-22 08:56:48 -07:00
Chris Robinson
eeff730034
Hold some immediate values on the stack
2018-03-22 08:49:35 -07:00
Chris Robinson
23fd7451d0
Avoid some memset calls in the pitch shifter process loop
2018-03-22 08:49:22 -07:00
Chris Robinson
bc3a96308e
Use appropriately-sized buffers for the pitch shifter
2018-03-22 08:05:48 -07:00
Chris Robinson
8e976a92f7
Move NFC filters to the filter directory
2018-03-22 07:17:48 -07:00
Chris Robinson
7a23330ffe
Move the filter implementation to a separate directory
2018-03-22 07:05:40 -07:00
Chris Robinson
6ea3b5445f
Rename mixer_inc.c to hrtf_inc.c
2018-03-22 05:41:42 -07:00
Chris Robinson
091e676db3
Move mixer sources into a sub-directory
2018-03-22 05:06:15 -07:00
Chris Robinson
6ad171781a
Use the global MixSamples for the pitch shifter output
2018-03-22 03:13:09 -07:00
Chris Robinson
d157d66678
Change a parameter type to float since that's what it's used as
2018-03-22 02:13:40 -07:00
Chris Robinson
4da6364fc2
Slightly restructure the pitch-shifter process loop
2018-03-22 02:10:51 -07:00
Chris Robinson
7b95753cf7
Fix typo (Substraction -> Subtraction) and rename related function
2018-03-21 23:10:12 -07:00
Chris Robinson
8f3d496541
Avoid duplicate path searches in the router
...
And avoid inadvertently increasing the priority of the system path over the
executable's path, or either of them over the current working directory.
2018-03-21 20:39:04 -07:00
Chris Robinson
0a6c17c544
Don't auto-attenuate the pitch shifter output
2018-03-21 09:32:04 -07:00
Chris Robinson
f11d7eeadf
Don't use mutable fields for constant values
2018-03-21 09:23:58 -07:00
Chris Robinson
22a7bcd5ad
Avoid placing a 2K sample buffer on the stack
2018-03-21 09:01:32 -07:00
Chris Robinson
ecc51c8c55
Clean up some code formatting in the pitch shifter source
...
Clean up excessive newlines and extra-long comments, move static inline
definitions to their declarations.
2018-03-21 08:56:26 -07:00
Chris Robinson
55a73b8df9
Fix for older MSVC lacking strtof
2018-03-21 08:35:37 -07:00
kcat
c40b4ce3f2
Merge pull request #177 from Raulshc/Pitch-shifter
...
EFX:Pitch shifter
2018-03-21 08:35:09 -07:00
Chris Robinson
47260fc70b
Update the multi-reverb example with improved transitions
...
This better calculates the environment coverage by correctly calculating the
portal's extents, improves the panning direction when close to the portal, and
applies attenuation based on contribution. Movement has changed to make the
listener move back and forth between environments with a stationary source,
rather than continually looping environments with a position-relative source.
2018-03-20 23:58:32 -07:00
Raulshc
c38854fe3d
EFX:Own size for pitch shifter buffers
2018-03-19 16:48:00 +01:00
Chris Robinson
df6e4617e4
Fix the reverb panning behavior to better fit the spec
...
Previously it would attenuate the response from direction opposite to the
vector, whereas the property descriptions say it should simply move all
reflections toward the given direction.
2018-03-19 06:41:38 -07:00
Raulshc
56423b9ef1
Alsoft-config: Add pitch shifter effect
2018-03-18 17:53:07 +01:00
Raulshc
6fd23f0984
EFX:Pitch Shifter implementation
...
Add pitch shifter effect using standard phase vocoder, based on work of Stephan Bernsee. Only mono signal processing by now.
2018-03-18 17:47:17 +01:00
Chris Robinson
325fca5215
Change the presets for the multireverb example
2018-03-16 05:01:00 -07:00
Chris Robinson
3fde27d890
Use a macro template to define similar functions
2018-03-15 00:28:49 -07:00
Chris Robinson
445f63f350
Remove an extraneous +
2018-03-14 23:59:20 -07:00
Chris Robinson
603e3e23ac
Remove an outdated comment
2018-03-14 23:51:13 -07:00
Chris Robinson
2011421e18
Release the PulseAudio mainloop lock sooner
2018-03-14 23:48:46 -07:00
Chris Robinson
7c0e68a33e
Store the filter history in local variables
...
Despite being marked as restrict (and const for src) to mark the pointers as
being non-aliased, it seems the compiler optimizes better this way.
2018-03-14 17:27:41 -07:00
Chris Robinson
f65e83c349
Avoid using pa_stream_begin_write with PulseAudio
...
It seems to actually have a negative performance impact when the system is
under load. Without having actual measurements for any potential benefits,
simply go with the recommended (and previous fallback) method of allocating
space for the write and passing the free method.
Ideally some kind of ring buffer could be used, so rather than constantly
allocating and freeing blocks of memory, it uses the same memory over again
with the callback marking each one as reusable. Unfortunately the callback
isn't given much information to work with, and the update size (minreq) can
potentially change during playback, which complicates things.
2018-03-14 03:21:26 -07:00
Chris Robinson
942abab8f9
Move a loop into a function
2018-03-13 03:45:24 -07:00
Chris Robinson
8eb7a94e1c
Apply a distance decay on the source send for the reverb's DecayLFRatio
2018-03-11 22:40:08 -07:00
Chris Robinson
6b35a4534f
Comment and clarify some code
2018-03-11 22:18:11 -07:00
Chris Robinson
dac9379449
Add methods to clean up althrd and altss data
2018-03-10 12:10:58 -08:00
Chris Robinson
a6ddeaf5f1
Rename the mmdevapi backend to wasapi
2018-03-09 18:56:24 -08:00
Chris Robinson
30821e978b
Add extern "C" to some headers
2018-03-09 17:24:03 -08:00
Chris Robinson
c0e7a5b8b0
Prefix SDL2 device names on Windows
2018-03-09 11:41:28 -08:00