Chris Robinson
a6aefeccd8
Use enum class for a couple enums
2020-09-01 05:46:19 -07:00
Chris Robinson
02e51c0525
Avoid using a deprecated function
2020-08-31 17:48:26 -07:00
Chris Robinson
af97a92952
Move more processing to the ConvolutionFilter struct
2020-08-31 06:43:42 -07:00
Chris Robinson
88425becb2
Remove a couple unnecessary pointers
2020-08-30 04:41:19 -07:00
Chris Robinson
82873486b7
Dynamically allocate the convolution channel mixing data
2020-08-30 04:28:01 -07:00
Chris Robinson
ebe0765ce3
Reorganize some convolution fields
2020-08-30 03:42:44 -07:00
Chris Robinson
8724c1ce4b
Remove extraneous parenthesis
2020-08-28 23:28:20 -07:00
Chris Robinson
3fdee6c814
Calculate the correct number of convolution segments
2020-08-28 23:08:44 -07:00
Chris Robinson
ecfb0d4f5b
Limit convolution processing to the output ambisonic order
2020-08-28 06:47:21 -07:00
Chris Robinson
7266cd8b6c
Don't dereference a null convolution filter
2020-08-28 06:44:05 -07:00
Chris Robinson
52531d8b72
Support B-Format impulse responses for convolution
2020-08-28 05:48:26 -07:00
Chris Robinson
986a58d5b4
Pass a BufferStorage to EffectState::createBuffer
2020-08-28 00:44:55 -07:00
Chris Robinson
1f486f820e
Use a separate structure for buffer storage
2020-08-28 00:09:46 -07:00
Chris Robinson
ecf30de36f
Rename buffer_formats to buffer_storage
2020-08-27 23:02:17 -07:00
Chris Robinson
a9ebcdcb7f
Handle 0-length convolution buffers
2020-08-27 21:32:25 -07:00
Chris Robinson
0ad7bb577a
Don't allow callback buffers for effect slots
2020-08-27 21:10:00 -07:00
Chris Robinson
3c09f17421
Blend panned B-Format source directivity given its radius
2020-08-27 08:44:29 -07:00
Chris Robinson
2a01940041
De-duplicate LoadSampleArray and FmtTypeTraits
2020-08-26 21:29:16 -07:00
Chris Robinson
97ecf5810f
Base the convolution example on the simpler stream example
2020-08-26 17:23:50 -07:00
Chris Robinson
577a8234f2
Recognize float32 format names for the example healpers
2020-08-26 17:15:30 -07:00
Chris Robinson
9dab2db33b
Avoid copying the convolution filter history to shift it
...
Instead, the current/head/newest segment is tracked, and decremented with each
process to overwrite the oldest.
2020-08-25 15:43:48 -07:00
Chris Robinson
309be1c6f6
Add an example using convolution reverb
2020-08-25 04:59:04 -07:00
Chris Robinson
801c7a9226
Initial implementation of the convolution effect
...
Currently limited to mono and stereo impulse responses, and stereo IRs try to
use direct/real output rather than panning.
2020-08-25 04:21:10 -07:00
Chris Robinson
e98a058595
Fix handling doubles
2020-08-25 02:38:44 -07:00
Chris Robinson
a6bd53c4e1
Store a reference to the effect buffer as an active property
2020-08-24 20:40:24 -07:00
Chris Robinson
1a9fbc1b2f
Stub out a convolution effect state
2020-08-24 20:04:16 -07:00
Chris Robinson
b955479e18
Recognize a convolution reverb effect type
2020-08-24 20:00:58 -07:00
Chris Robinson
9e5a388dfe
Add a method for effects to create persistent buffer data
2020-08-24 19:13:46 -07:00
Chris Robinson
9d61484e4b
Move storable buffer format info to a separate source
2020-08-24 17:59:07 -07:00
Chris Robinson
73ab9d46c8
Use an intrusive_ptr to hold the unapplied effect state
2020-08-24 16:34:53 -07:00
Chris Robinson
f9d6aa2f48
Allow setting a buffer on an effect slot
2020-08-24 16:08:09 -07:00
Chris Robinson
54a0972bfe
Clean up some comments
2020-08-24 14:26:47 -07:00
Chris Robinson
ff5c9d1c15
Use an intrusive_ptr for ALeffectslotProps::State
2020-08-24 14:09:26 -07:00
Chris Robinson
01f76f2b67
Allow intrusive_ptr::reset to take a new pointer
2020-08-24 14:09:26 -07:00
HALX99
de060ce09a
macOS osx/ios dynamic framework support ( #466 )
...
* OSX bundle support
* Disable framework by default, and fix domain name typo
* Remove info.plist, add efx.h for framework public header
* Fix osx/ios framework PUBLIC_HEADER doesn't work
* Refine comment message
* Auto set CFBundleShortVersionString by var LIB_VERSION
* Set CFBundleVersion from git commit count
* Use space to separate elements in a list
* Specific framework name to variable 'IMPL_TARGET'
* Solve cmake try_compile failed with code sign, and disable framework code sign
* Make ios travis to build dynamic framework bundle by default
* Update ios.toolchain.cmake
Since we solve code sign issue for cmake to generate dynamic framework xcode project, enable strict try_compile by default
* Remove MAKE_CXX_EXTENSIONS from travis-ci
* Combined flat lib armv7;arm64 support
* Remvoe ios.toolchain.cmake since we don't need
[skip appveyor] [skip travis]
* Sets framework name to soft_oal,
avoid ambiguous with system OpenAL.framework
* Fix missing BUNDLE, FRAMEWORK's DESTINATION
Build osx/ios dynamic framework required them.
* Use @rpath instead fullPath to mac local disk
see also:
c80ddef7a4
* CMake, use TRUE for bool value
* Don't disable examples, utils, install
* Make ALSOFT_OSX_FRAMEWORK for APPLE spec
* Remove unused flag and more clearly comment
* More clearly comment for solve armv7 target issue
Co-authored-by: deal <deal@dealdeMac.local>
Co-authored-by: bel <bel@beldeMac.local>
2020-08-24 14:09:02 -07:00
Chris Robinson
4eba5c34e9
Use CMAKE_DLLTOOL instead of looking for dlltool manually
2020-08-20 16:46:51 -07:00
Chris Robinson
34b29a48a4
Ensure enough space is allocated for structs with a FlexArray
2020-08-15 23:53:43 -07:00
Chris Robinson
23259b48dd
Avoid a zero-length array for the FlexArray definition
...
Newer GCCs are warning about FlexArray being used at the end of another struct.
Though not the most ideal to always allocate space for at least 1 element,
actual 0-sized uses are rare and for smaller element types.
2020-08-15 23:22:10 -07:00
Chris Robinson
2fa842a04c
Avoid allocating for each HRIR reconstruction
2020-08-14 18:22:20 -07:00
Chris Robinson
3796e407b5
Rename ALSOFT_INSTALL_HRTF_DEFS to ALSOFT_INSTALL_HRTF_DATA
2020-08-13 18:04:09 -07:00
Chris Robinson
aafcb1f6fc
Simplify StrSubst in makemhr
2020-08-13 16:02:13 -07:00
Chris Robinson
8e7199cbb6
Avoid a cmake check for determining the size of long
2020-08-13 14:04:29 -07:00
Chris Robinson
fd52c828a9
Improve handling main() with UTF-8 args on Windows
2020-08-12 17:40:00 -07:00
Chris Robinson
476e9d7522
Cleanup some warnings with ffmpeg/alffplay
2020-08-12 17:39:08 -07:00
Chris Robinson
b12cd77d32
Use a wait predicate instead of a while loop
2020-08-12 10:00:43 -07:00
Chris Robinson
ed1135f7ae
Fix configure-time ffmpeg version detection
2020-08-12 09:48:17 -07:00
Chris Robinson
57d6df29b4
Update .gitignore for QtCreator files
2020-08-11 10:11:20 -07:00
Chris Robinson
529049dc59
Remove an unused variable
2020-08-11 10:06:12 -07:00
Chris Robinson
475ed0f039
Use a FlexArray instead of a vector for distance compensation
2020-08-11 05:59:20 -07:00
Chris Robinson
c549797af0
Make osme things constexpr
2020-08-10 15:11:52 -07:00