Jogamp
openal-soft.git
23 months agoMerge branch 'UPSTREAM' master
Sven Gothel [Thu, 12 Nov 2015 17:19:33 +0000 (18:19 +0100)]
Merge branch 'UPSTREAM'

23 months agoMerge branch 'UPSTREAM'
Sven Gothel [Thu, 12 Nov 2015 17:12:26 +0000 (18:12 +0100)]
Merge branch 'UPSTREAM'

23 months agoRelease 1.17.0 UPSTREAM
Chris Robinson [Thu, 12 Nov 2015 15:40:17 +0000 (07:40 -0800)]
Release 1.17.0

23 months agoUse doubles for the constructed listener matrix
Chris Robinson [Wed, 11 Nov 2015 16:19:33 +0000 (08:19 -0800)]
Use doubles for the constructed listener matrix

This helps the stability of transforms to local space for sources that are at
or near the listener. With a single-precision matrix, even FLT_EPSILON might
not be enough to detect matching positions.

23 months agoMove the bsincTable to a separate file
Chris Robinson [Wed, 11 Nov 2015 02:48:30 +0000 (18:48 -0800)]
Move the bsincTable to a separate file

23 months agoUpdate the bsinc table
Chris Robinson [Wed, 11 Nov 2015 02:40:33 +0000 (18:40 -0800)]
Update the bsinc table

Precision is increased to cover the full 32-bit float range.

23 months agoAdd a tool to generate the bsinc tables
Chris Robinson [Wed, 11 Nov 2015 02:40:11 +0000 (18:40 -0800)]
Add a tool to generate the bsinc tables

23 months agoRemove autowah from the excludefx list
Chris Robinson [Mon, 9 Nov 2015 22:25:20 +0000 (14:25 -0800)]
Remove autowah from the excludefx list

The autowah effect hasn't been enabled for some time due to issues with it
breaking output, and doesn't seem likely to get fixed any time soon.

23 months agoUpdate the fix-rate config option description
Chris Robinson [Mon, 9 Nov 2015 19:47:56 +0000 (11:47 -0800)]
Update the fix-rate config option description

23 months agoBuild with -std=c11 if possible
Chris Robinson [Mon, 9 Nov 2015 19:36:02 +0000 (11:36 -0800)]
Build with -std=c11 if possible

23 months agoRemove some unused function checks
Chris Robinson [Sun, 8 Nov 2015 08:19:55 +0000 (00:19 -0800)]
Remove some unused function checks

23 months agoAdd options to disable Pulse's and ALSA's resamplers
Chris Robinson [Sun, 8 Nov 2015 07:05:45 +0000 (23:05 -0800)]
Add options to disable Pulse's and ALSA's resamplers

23 months agoCorrect a comment about the new bsinc resampler
Chris Robinson [Sat, 7 Nov 2015 14:16:54 +0000 (06:16 -0800)]
Correct a comment about the new bsinc resampler

It always performs anti-aliasing, even when up-sampling.

23 months agoSimplify reverb panning rotations
Chris Robinson [Sat, 7 Nov 2015 14:15:29 +0000 (06:15 -0800)]
Simplify reverb panning rotations

23 months agoRemove a const to silence some warnings
Chris Robinson [Sat, 7 Nov 2015 06:17:15 +0000 (22:17 -0800)]
Remove a const to silence some warnings

23 months agoUse more accurate floating point literals
Chris Robinson [Fri, 6 Nov 2015 18:27:28 +0000 (10:27 -0800)]
Use more accurate floating point literals

23 months agoInclude float.h if present before defining math stuff
Chris Robinson [Fri, 6 Nov 2015 10:38:34 +0000 (02:38 -0800)]
Include float.h if present before defining math stuff

23 months agoAdd another cast for MSVC
Chris Robinson [Fri, 6 Nov 2015 10:23:42 +0000 (02:23 -0800)]
Add another cast for MSVC

23 months agoUse ALuint instead of size_t for a loop iterator
Chris Robinson [Fri, 6 Nov 2015 10:21:24 +0000 (02:21 -0800)]
Use ALuint instead of size_t for a loop iterator

23 months agoAdd a cast to silence an MSVC warning
Chris Robinson [Fri, 6 Nov 2015 10:18:42 +0000 (02:18 -0800)]
Add a cast to silence an MSVC warning

23 months agoUse a more appropriate type in MatchFilter
Chris Robinson [Fri, 6 Nov 2015 10:13:28 +0000 (02:13 -0800)]
Use a more appropriate type in MatchFilter

23 months agoCast a double->float return to silence MSVC
Chris Robinson [Fri, 6 Nov 2015 10:05:22 +0000 (02:05 -0800)]
Cast a double->float return to silence MSVC

23 months agoAdd missing math.h include for sin()
Chris Robinson [Fri, 6 Nov 2015 08:13:02 +0000 (00:13 -0800)]
Add missing math.h include for sin()

23 months agoPan each early/late delay line separately
Chris Robinson [Fri, 6 Nov 2015 07:46:39 +0000 (23:46 -0800)]
Pan each early/late delay line separately

23 months agoManually inline and condense the bsinc resampler
Chris Robinson [Fri, 6 Nov 2015 05:57:12 +0000 (21:57 -0800)]
Manually inline and condense the bsinc resampler

23 months agoRemove an unneeded memset that was overwriting memory
Chris Robinson [Fri, 6 Nov 2015 03:45:04 +0000 (19:45 -0800)]
Remove an unneeded memset that was overwriting memory

23 months agoImplement a band-limited sinc resampler
Chris Robinson [Thu, 5 Nov 2015 17:42:08 +0000 (09:42 -0800)]
Implement a band-limited sinc resampler

This is essentially a 12-point sinc resampler, unless it's resampling to a rate
higher than the output, at which point it will vary between 12 and 24 points
and do anti-aliasing to avoid/reduce frequencies going over nyquist.

Code provided by Christopher Fitzgerald.

23 months agoChange the Kaiser rippling limit to -60dB
Chris Robinson [Thu, 5 Nov 2015 03:13:25 +0000 (19:13 -0800)]
Change the Kaiser rippling limit to -60dB

This improves the transition cutoff, shortening its width and reducing the
amount of error.

23 months agoReplace the Lanczos window with Kaiser for the sinc resampler
Chris Robinson [Wed, 4 Nov 2015 14:40:54 +0000 (06:40 -0800)]
Replace the Lanczos window with Kaiser for the sinc resampler

23 months agoPass in the Q parameter for setting the filter parameters
Chris Robinson [Sun, 1 Nov 2015 12:43:55 +0000 (04:43 -0800)]
Pass in the Q parameter for setting the filter parameters

Also better handle the peaking filter gain.

23 months agoRemove an unused struct field
Chris Robinson [Sun, 1 Nov 2015 08:01:27 +0000 (01:01 -0700)]
Remove an unused struct field

23 months agoFix a comment
Chris Robinson [Sun, 1 Nov 2015 07:13:02 +0000 (00:13 -0700)]
Fix a comment

23 months agoAdd an impulse "waveform" to altonegen
Chris Robinson [Sat, 31 Oct 2015 12:15:13 +0000 (05:15 -0700)]
Add an impulse "waveform" to altonegen

23 months agoUse modff to split the modulation delay components
Chris Robinson [Sat, 31 Oct 2015 08:35:01 +0000 (01:35 -0700)]
Use modff to split the modulation delay components

23 months agoAdd missing config.h entry for modff
Chris Robinson [Fri, 30 Oct 2015 08:37:39 +0000 (01:37 -0700)]
Add missing config.h entry for modff

23 months agoCheck for modff
Chris Robinson [Thu, 29 Oct 2015 23:38:58 +0000 (16:38 -0700)]
Check for modff

23 months agoMix reverb to output in the inner loop
Chris Robinson [Thu, 29 Oct 2015 10:23:50 +0000 (03:23 -0700)]
Mix reverb to output in the inner loop

23 months agoInclude the echo's attenuation of the late reverb in the late reverb gain
Chris Robinson [Thu, 29 Oct 2015 09:10:07 +0000 (02:10 -0700)]
Include the echo's attenuation of the late reverb in the late reverb gain

23 months agoDo up to 256 samples per reverb inner loop iteration
Chris Robinson [Thu, 29 Oct 2015 08:40:23 +0000 (01:40 -0700)]
Do up to 256 samples per reverb inner loop iteration

23 months agoAdd an HRTF example
Chris Robinson [Thu, 29 Oct 2015 01:52:49 +0000 (18:52 -0700)]
Add an HRTF example

Doubles as a psuedo-test to play a sound with HRTF.

23 months agoPass the appropriate BackendInfo explicitly to ProbeDevices
Chris Robinson [Thu, 29 Oct 2015 01:10:12 +0000 (18:10 -0700)]
Pass the appropriate BackendInfo explicitly to ProbeDevices

23 months agoPrint enumerated HRTFs in openal-info
Chris Robinson [Wed, 28 Oct 2015 21:47:58 +0000 (14:47 -0700)]
Print enumerated HRTFs in openal-info

23 months agoFinalize ALC_SOFT_HRTF
Chris Robinson [Wed, 28 Oct 2015 20:38:30 +0000 (13:38 -0700)]
Finalize ALC_SOFT_HRTF

23 months agoRight-align the HRTF Mode label
Chris Robinson [Wed, 28 Oct 2015 10:15:01 +0000 (03:15 -0700)]
Right-align the HRTF Mode label

23 months agoRemove the Reverb Bost option from alsoft-config
Chris Robinson [Wed, 28 Oct 2015 10:09:15 +0000 (03:09 -0700)]
Remove the Reverb Bost option from alsoft-config

It's not really an appropriate setting for most users to play with. The option
still exists, but it's no longer editable in the GUI.

23 months agoAlways update all reverb properties
Chris Robinson [Wed, 28 Oct 2015 09:27:00 +0000 (02:27 -0700)]
Always update all reverb properties

The EAX-only effect properties will be set to compatible defaults when standard
reverb is set, and the EAX-only effects will be skipped during sample
processing.

23 months agoDo multiple samples at once in each reverb component
Chris Robinson [Wed, 28 Oct 2015 08:57:51 +0000 (01:57 -0700)]
Do multiple samples at once in each reverb component

23 months agoRename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFT
Chris Robinson [Tue, 27 Oct 2015 05:34:02 +0000 (22:34 -0700)]
Rename ALC_NUM_HRTF_SPECIFIER_SOFT to ALC_NUM_HRTF_SPECIFIERS_SOFT

23 months agoAdd a comment about fegetenv possibly saving the SSE register for us
Chris Robinson [Mon, 26 Oct 2015 08:49:56 +0000 (01:49 -0700)]
Add a comment about fegetenv possibly saving the SSE register for us

23 months agoSet the current gain immediately if the target is close enough
Chris Robinson [Mon, 26 Oct 2015 08:48:12 +0000 (01:48 -0700)]
Set the current gain immediately if the target is close enough

23 months agoUse the correct position in the SSE resamplers for left-over processing
Chris Robinson [Sun, 25 Oct 2015 21:07:58 +0000 (14:07 -0700)]
Use the correct position in the SSE resamplers for left-over processing

23 months agoFix the SSE4.1 resamplers
Chris Robinson [Sun, 25 Oct 2015 00:37:53 +0000 (17:37 -0700)]
Fix the SSE4.1 resamplers

Apparently the given _mm_extract_epi32 index obeys memory order, rather than
component order.

23 months agoRemove a couple unused parameters
Chris Robinson [Sat, 24 Oct 2015 23:57:32 +0000 (16:57 -0700)]
Remove a couple unused parameters

23 months agoLock the source queue for writing when updating the playback offset
Chris Robinson [Sat, 24 Oct 2015 23:31:28 +0000 (16:31 -0700)]
Lock the source queue for writing when updating the playback offset

23 months agoFix usage of modf
Chris Robinson [Sat, 24 Oct 2015 22:13:56 +0000 (15:13 -0700)]
Fix usage of modf

23 months agoUpdate filter histories even when they're not used
Chris Robinson [Sat, 24 Oct 2015 05:34:46 +0000 (22:34 -0700)]
Update filter histories even when they're not used

If the filter properties are continually updated, and the HF or LF gain goes
from <1, to 1, and later back to <1, the history shouldn't hold stale values
from before it was at 1.

23 months agoSet XYZ channel gains for source sends to 0
Chris Robinson [Sat, 24 Oct 2015 03:16:11 +0000 (20:16 -0700)]
Set XYZ channel gains for source sends to 0

It's cleaner to just set the gains to 0 rather than to special-case B-Format in
the mixer.

23 months agoUse one send gain per buffer channel
Chris Robinson [Fri, 23 Oct 2015 22:11:34 +0000 (15:11 -0700)]
Use one send gain per buffer channel

23 months agoReturn the new vector result from aluMatrixVector
Chris Robinson [Fri, 23 Oct 2015 06:39:56 +0000 (23:39 -0700)]
Return the new vector result from aluMatrixVector

23 months agoConvert the PortAudio backend to the new backend API
Chris Robinson [Thu, 22 Oct 2015 17:46:36 +0000 (10:46 -0700)]
Convert the PortAudio backend to the new backend API

23 months agoRemove the MIDI code
Chris Robinson [Wed, 21 Oct 2015 00:41:53 +0000 (17:41 -0700)]
Remove the MIDI code

The extension's not going anywhere, and it can't do anything fluidsynth can't.
The code maintenance and bloat is not worth keeping around, and ideally the AL
API would be able to facilitate MIDI-like behavior anyway (envelopes, start-at-
time, etc).

23 months agoUse NEW_OBJ in a few more places
Chris Robinson [Tue, 20 Oct 2015 18:20:15 +0000 (11:20 -0700)]
Use NEW_OBJ in a few more places

23 months agoMake VerifyDevice and VerifyContext modify its parameter
Chris Robinson [Tue, 20 Oct 2015 01:48:33 +0000 (18:48 -0700)]
Make VerifyDevice and VerifyContext modify its parameter

23 months agoUse the correct realignment size for post-stepping mixing
Chris Robinson [Sun, 18 Oct 2015 20:46:52 +0000 (13:46 -0700)]
Use the correct realignment size for post-stepping mixing

2 years agoRemove unused channel labels
Chris Robinson [Sun, 18 Oct 2015 17:25:56 +0000 (10:25 -0700)]
Remove unused channel labels

2 years agoUse the correct array indices for SSE register components
Chris Robinson [Sat, 17 Oct 2015 16:59:26 +0000 (09:59 -0700)]
Use the correct array indices for SSE register components

SSE uses reverse ordering, such that component 0 is the last in memory.
_mm_load_* and _mm_loadu_*, and the corresponding stores, do not change the
memory ordering.

2 years agoInclude the fractional part with the source sample/sec offset
Chris Robinson [Fri, 16 Oct 2015 17:52:10 +0000 (10:52 -0700)]
Include the fractional part with the source sample/sec offset

2 years agoUpdate changelog
Chris Robinson [Fri, 16 Oct 2015 15:22:17 +0000 (08:22 -0700)]
Update changelog

2 years agoRound the calculated stepping value
Chris Robinson [Thu, 15 Oct 2015 22:38:07 +0000 (15:38 -0700)]
Round the calculated stepping value

2 years agoUse a constant value for the post-position padding
Chris Robinson [Thu, 15 Oct 2015 22:13:19 +0000 (15:13 -0700)]
Use a constant value for the post-position padding

2 years agoStore the source's previous samples with the voice
Chris Robinson [Thu, 15 Oct 2015 14:29:25 +0000 (07:29 -0700)]
Store the source's previous samples with the voice

This helps avoid different results when looping is toggled within a couple
samples of the loop point, or when a processed buffer is removed while the
source is only a couple samples into the next buffer.

2 years agoFix absolute path detection on Windows
Chris Robinson [Wed, 14 Oct 2015 12:01:34 +0000 (05:01 -0700)]
Fix absolute path detection on Windows

2 years agoSilence implicit double-to-float cast MSVC warning
Chris Robinson [Wed, 14 Oct 2015 12:00:11 +0000 (05:00 -0700)]
Silence implicit double-to-float cast MSVC warning

2 years agoProperly limit the calculated source offset components
Chris Robinson [Wed, 14 Oct 2015 10:23:19 +0000 (03:23 -0700)]
Properly limit the calculated source offset components

2 years agoPrint the wave type being played
Chris Robinson [Wed, 14 Oct 2015 09:41:39 +0000 (02:41 -0700)]
Print the wave type being played

2 years agoMake the tonegen sampling rate match the device rate by default
Chris Robinson [Wed, 14 Oct 2015 08:54:50 +0000 (01:54 -0700)]
Make the tonegen sampling rate match the device rate by default

2 years agoAdd a tone generator test program
Chris Robinson [Tue, 13 Oct 2015 18:43:25 +0000 (11:43 -0700)]
Add a tone generator test program

Currently used to test the general output, particularly the resampler, by
checking the results with a spectrum analyzer and/or oscilloscope (for example
using PulseAudio's "Monitor of ..." devices feeding an external app).

2 years agoShut GCC up
Chris Robinson [Tue, 13 Oct 2015 18:38:53 +0000 (11:38 -0700)]
Shut GCC up

2 years agoRename a couple HRTF Mode combo box entries
Chris Robinson [Tue, 13 Oct 2015 10:21:00 +0000 (03:21 -0700)]
Rename a couple HRTF Mode combo box entries

2 years agoProperly apply fractional source offsets when a user offset is set
Chris Robinson [Tue, 13 Oct 2015 10:01:34 +0000 (03:01 -0700)]
Properly apply fractional source offsets when a user offset is set

2 years agoFix HRTF group box size
Chris Robinson [Mon, 12 Oct 2015 13:42:28 +0000 (06:42 -0700)]
Fix HRTF group box size

2 years agoReplace the resample_fir6 declaration with resample_fir8
Chris Robinson [Mon, 12 Oct 2015 13:34:55 +0000 (06:34 -0700)]
Replace the resample_fir6 declaration with resample_fir8

2 years agoRemove 96khz from the combo box
Chris Robinson [Mon, 12 Oct 2015 13:23:50 +0000 (06:23 -0700)]
Remove 96khz from the combo box

It can still be entered in manually, as can any value between 8khz and 192khz,
but having it selectable can create the mistaken idea that selecting it is
better than picking 44.1khz or 48khz.

2 years agoReorganize the HRTF group box
Chris Robinson [Mon, 12 Oct 2015 12:52:34 +0000 (05:52 -0700)]
Reorganize the HRTF group box

The three radio buttons are moved to a combo box, which gives a bit more width
for the file list contents.

2 years agoOnly show certain options that are available at build-time
Chris Robinson [Mon, 12 Oct 2015 06:56:45 +0000 (23:56 -0700)]
Only show certain options that are available at build-time

2 years agoReformat the CPU Extensions' checkboxes
Chris Robinson [Sun, 11 Oct 2015 19:03:50 +0000 (12:03 -0700)]
Reformat the CPU Extensions' checkboxes

2 years agoAvoid multiple sin, cos, and sqrt calls for filter calculations
Chris Robinson [Sun, 11 Oct 2015 17:21:37 +0000 (10:21 -0700)]
Avoid multiple sin, cos, and sqrt calls for filter calculations

2 years agoUpdate changelog
Chris Robinson [Sun, 11 Oct 2015 14:40:09 +0000 (07:40 -0700)]
Update changelog

2 years agoReplace the sinc6 resampler with sinc8, and make SSE versions
Chris Robinson [Sun, 11 Oct 2015 14:37:22 +0000 (07:37 -0700)]
Replace the sinc6 resampler with sinc8, and make SSE versions

2 years agoMove the FIR4 from SSE2 to SSE3
Chris Robinson [Sun, 11 Oct 2015 13:38:00 +0000 (06:38 -0700)]
Move the FIR4 from SSE2 to SSE3

SSE3 can avoid the slow _MM_TRANSPOSE_PS4 call thanks to the inclusion of
horizontal adds.

2 years agoSlightly improve the FIR4 SSE resamplers
Chris Robinson [Sun, 11 Oct 2015 12:31:14 +0000 (05:31 -0700)]
Slightly improve the FIR4 SSE resamplers

2 years agoUse doubles to calculate the Lanczos coefficients
Chris Robinson [Fri, 9 Oct 2015 15:30:33 +0000 (08:30 -0700)]
Use doubles to calculate the Lanczos coefficients

2 years agoUpdate changelog
Chris Robinson [Wed, 7 Oct 2015 12:48:58 +0000 (05:48 -0700)]
Update changelog

2 years agoAllow apps to request a specific HRTF
Chris Robinson [Wed, 7 Oct 2015 10:29:53 +0000 (03:29 -0700)]
Allow apps to request a specific HRTF

2 years agoUse the enumerated HRTF list for selecting an HRTF
Chris Robinson [Tue, 6 Oct 2015 13:48:53 +0000 (06:48 -0700)]
Use the enumerated HRTF list for selecting an HRTF

Also report the proper specifier of the one currently in use.

2 years agoStore the Hrtf struct with the corresponding HrtfEntry
Chris Robinson [Tue, 6 Oct 2015 11:01:53 +0000 (04:01 -0700)]
Store the Hrtf struct with the corresponding HrtfEntry

Also store the filename with the Hrtf struct so it can be reused for multiple
HrtfEntry objects.

2 years agoTry to use the full path for the CWD instead of .
Chris Robinson [Tue, 6 Oct 2015 08:26:15 +0000 (01:26 -0700)]
Try to use the full path for the CWD instead of .

2 years agoEnumerate and list HRTFs per-device
Chris Robinson [Tue, 6 Oct 2015 07:23:11 +0000 (00:23 -0700)]
Enumerate and list HRTFs per-device

2 years agoSkip empty data directory entries
Chris Robinson [Mon, 5 Oct 2015 00:24:12 +0000 (17:24 -0700)]
Skip empty data directory entries

2 years agoImplement SearchDataFiles for Windows
Chris Robinson [Sun, 4 Oct 2015 10:17:52 +0000 (03:17 -0700)]
Implement SearchDataFiles for Windows

http://JogAmp.org git info: FAQ, tutorial and man pages.