Chris Robinson
a3863d5834
Add config options to enable the hq ambisonic decoder
2016-03-16 01:36:57 -07:00
Chris Robinson
8ff4a54356
Properly handle negative matrix values and fix decoder initialization
2016-03-15 09:07:03 -07:00
Chris Robinson
3a26d853ba
Replace the custom layout options with an ambdec loader
...
The ambisonic layout options were never very good for clarity or flexibility.
Hopefully using ambdec files will prove to be better.
2016-03-15 08:00:03 -07:00
Chris Robinson
23bce59c66
Rename a couple functions for more informative logging
2016-03-15 07:07:09 -07:00
Chris Robinson
53fadf5497
Add a dual-band ambisonic decoder
...
This uses a virtual B-Format buffer for mixing, and then uses a dual-band
decoder for improved positional quality. This currently only works with first-
order output since first-order input (from the AL_EXT_BFROMAT extension) would
not sound correct when fed through a second- or third-order decoder.
This also does not currently implement near-field compensation since near-field
rendering effects are not implemented.
2016-03-15 05:08:05 -07:00
Chris Robinson
64cb21cb9f
Downgrade some ERRs to WARNs or TRACEs
2016-03-15 04:02:25 -07:00
Chris Robinson
066df88a2c
Always mix to the real output for DirectChannels
2016-03-14 20:25:36 -07:00
Chris Robinson
919b35295e
Add a loader for ambdec files
2016-03-14 20:13:50 -07:00
Chris Robinson
0220404a91
Use second-order coefficients for 5.1
...
Since the panning only drives 5 speakers, it shouldn't use more than 5
ambisonic channels (9 total in second order, minus 4 for unused height).
2016-03-13 03:32:32 -07:00
Chris Robinson
0c4653085c
Don't request a specific HRTF when one isn't specified
2016-03-11 21:01:32 -08:00
Chris Robinson
22abaa287d
Use the real output's left and right channels with HRTF
2016-03-11 20:59:12 -08:00
Chris Robinson
5328972193
Separate writing to the output buffer from HRTF filtering
2016-03-11 20:44:05 -08:00
Chris Robinson
bb03fe227b
Update the current HRTF delays if the stepping is not finished
2016-03-11 19:59:14 -08:00
Chris Robinson
859cc703e7
Use the proper left and right channels for UHJ output
2016-03-10 22:56:44 -08:00
Chris Robinson
d648486bcd
Generalize GetChannelIdxByName
2016-03-10 14:29:44 -08:00
Chris Robinson
da5f75615b
Allocate enough reverb panning gains
2016-03-10 01:45:30 -08:00
Chris Robinson
effb9d1e35
Keep track of the real output's channel names
2016-03-10 01:04:28 -08:00
Chris Robinson
a457157516
Organize the dry buffer properties into a struct
2016-03-09 23:43:57 -08:00
Chris Robinson
3e2672ec9f
Track the virtual and real output buffers ecplicitly
2016-03-09 22:57:38 -08:00
Chris Robinson
3b9fe27cbe
Browse with the current or default device already selected
2016-03-06 12:03:36 -08:00
Chris Robinson
6971e86847
Add a simple About page that shows the library build version
2016-03-06 02:02:37 -08:00
Chris Robinson
101ae7644e
Add a couple helpers for dealing with name-pair lists
2016-03-06 01:50:49 -08:00
Chris Robinson
58aa1751c3
Handle the stereo panning option dynamically
2016-03-05 19:20:38 -08:00
Chris Robinson
1ca45fa3eb
Use the correct index for finding an empty string
2016-03-05 16:45:10 -08:00
Chris Robinson
4e3fdf9f5d
Fix reverb with UHJ encoding
2016-03-03 01:41:42 -08:00
Chris Robinson
457c34c189
Add a backend tab page for JACK options
2016-03-02 23:18:07 -08:00
Chris Robinson
d169fd859d
Use the clicked() signal for the Browse buttons
2016-03-02 15:43:51 -08:00
Chris Robinson
773e2846e7
Add a Wave Writer backend config page
2016-03-02 15:31:14 -08:00
Chris Robinson
71d927333f
Add OSS and Solaris config pages
2016-03-02 12:08:22 -08:00
Chris Robinson
9fdca9e29f
Remove the extra scaling on W for UHJ encoding
...
There seems to be some inconsistent info about whether W should be scaled by
sqrt(2) for encoding. Not applying the scaling results in a wider stereo image,
which seems more appropriate.
2016-03-01 15:48:23 -08:00
Chris Robinson
c89511b95e
Properly remove empty config values
2016-02-28 21:55:58 -08:00
Chris Robinson
abf6a9260a
Add an option to select between UHJ and pair-wise mixing.
2016-02-28 20:55:41 -08:00
Chris Robinson
81384949e2
Properly check for preexisting HRTF names
2016-02-28 18:30:12 -08:00
Chris Robinson
9e3a1942a3
Add an ALSA backend tab
2016-02-28 09:27:52 -08:00
Chris Robinson
11acbfebf7
Hide backend list items for backends that aren't available
2016-02-27 22:12:53 -08:00
Chris Robinson
96520520be
Show the full name in the backend lists
2016-02-27 21:52:36 -08:00
Chris Robinson
6d664367bc
Generalize the backend list
2016-02-27 19:37:42 -08:00
Chris Robinson
a12c420c59
Reorganize the Backends tab and add a PulseAudio section
2016-02-27 19:18:57 -08:00
Chris Robinson
0e1edc151d
Move the Backends tab over
2016-02-27 12:39:25 -08:00
Chris Robinson
adce176a35
Separate the left and right output writes with UHJ encoding
2016-02-27 11:38:40 -08:00
Chris Robinson
99f685d20d
Add an option for pair-wise stereo panning
2016-02-26 21:48:03 -08:00
Chris Robinson
ac91083ceb
Use 2-channel UHJ for stereo output
2016-02-26 16:09:06 -08:00
Chris Robinson
67f086d1d4
Add a function to encode 2-channel UHJ from B-Format
2016-02-26 14:51:56 -08:00
Chris Robinson
3c127dc422
Update and add some tooltips
2016-02-24 05:37:48 -08:00
Chris Robinson
99a49122b8
Sort HRTFs in alsoft-config like in the lib
2016-02-24 05:08:39 -08:00
Chris Robinson
b6824ca716
Add and use a copy-range string function
2016-02-24 04:53:32 -08:00
Chris Robinson
d04970e568
Exclude the file extension from the HRTF name
2016-02-24 04:21:03 -08:00
Chris Robinson
93d73aae4d
Add speed and quality labels for the resampler slider
...
And space out the buffer metric sliders from the edit boxes
2016-02-23 11:12:57 -08:00
Chris Robinson
c9b2a0ae26
Collect HRTF names from the paths list for alsoft-config
2016-02-23 11:03:58 -08:00
Chris Robinson
68a2ae4024
Replace the hrtf_tables option with hrtf-paths
2016-02-23 10:56:06 -08:00