Commit graph

18383 commits

Author SHA1 Message Date
Brad Hefta-Gaub
2e63aba8c9 when getting unexpected codec in the mixer, send a message to the client to select a different codec 2016-07-18 22:29:05 -07:00
Brad Hefta-Gaub
20824f038c include codec in audio stream packets so that each side can discard packets that don't match 2016-07-18 21:59:44 -07:00
David Kelly
3df373252f Several minor things
We could only partially fill the _scratchBuffer - .wav files may not
be exactly N frames long.  Doh.

While at it, I needed to call finishLocalInjection() after local
injectors are done, and the access to the injector vector needs to
be locked, given that we do a QtDirectConnection with the networking
and thus the outputLocalInjectors is on a different thread.

The clicking was just 0-ing out the _scratchBuffer.
2016-07-18 14:00:41 -07:00
David Kelly
a30b631a0a Merge branch 'master' of github.com:highfidelity/hifi into dk/localNoEcho 2016-07-18 11:15:58 -07:00
Brad Hefta-Gaub
2cd38064a5 Merge pull request #8235 from jherico/more_shapes
Support triangle and hexagon shapes, add shape support to overlays.
2016-07-18 09:05:24 -07:00
Brad Hefta-Gaub
dc2741950a Merge pull request #8259 from kencooke/improved-hrtf
Fix the AudioMixer distance attenuation.
2016-07-15 22:36:51 -07:00
Brad Davis
03cb6175ab Support triangle and hexagon shapes, add shape support to overlays. 2016-07-15 22:02:17 -07:00
David Kelly
8c0eb1e4d2 Fixed some bad logic
When I "fixed" my or instead of and issue, I did it in the wrong
direction.  But it looked right :)  Now it is.  Sigh.  Long story
how it got there, but it seems good now.
2016-07-15 19:48:15 -07:00
Ken Cooke
1ee608ad2c Cleanup 2016-07-15 18:23:12 -07:00
Philip Rosedale
4925980cbb Merge pull request #8255 from jherico/search_circle
Make search line termination a circle, like 2D UI
2016-07-15 17:51:50 -07:00
David Kelly
fb99828e30 PR feedback
Code a bit more readable.  Sadly (and I guess it makes sense), a
enum class XXX is not a class, so you cannot have member functions
for it.  I can imagine no way to have a vtable if you are really
representing it as a uint8_t or whatever.  So, I put a stateHas
function in the AudioInjector instead.  Definite improvement.
2016-07-15 17:09:27 -07:00
David Kelly
8df4ed01d9 fixed typo
which oddly I was sure I already did.  Seems I didn't push it?  OK
now it is pushed.
2016-07-15 16:22:41 -07:00
Brad Davis
b31300406a Don't extend glow line length 2016-07-15 16:20:05 -07:00
Brad Davis
317dee1b23 Fix decoration inflation 2016-07-15 16:15:53 -07:00
Brad Hefta-Gaub
496f3b14c7 Merge pull request #8205 from AndrewMeadows/model-cache-cleanup
decouple Geometry from its GeometryResource in ModelCache
2016-07-15 12:38:46 -07:00
Brad Hefta-Gaub
7bb31fe075 Merge pull request #8240 from jherico/hand_controller
Menu & hand controller polish
2016-07-15 12:36:31 -07:00
David Kelly
0fcc427d41 Merge branch 'master' of github.com:highfidelity/hifi into dk/localNoEcho 2016-07-15 11:01:42 -07:00
David Kelly
e1212c54cb Updated to deal with streaming out of both buffers
So gotta keep track of when finished streaming to network and
locally separately.  That means the State needed to be more of a
bitflag and less of an enum.
2016-07-15 09:55:50 -07:00
Brad Hefta-Gaub
878a01cbaf Merge pull request #8242 from kencooke/improved-hrtf
Improved HRTF
2016-07-15 09:02:15 -07:00
Ken Cooke
2674df6095 Fix the distance-attenuation model (for injectors only)
The original attenuation model seems wrong, under-attenuating at close distance but completely muting after 45m.

This uses a physics-based model of -6dB per doubling of distance in free space, for the injectors. The AudioMixer model and domain settings still need to be reworked in a future PR.
2016-07-14 18:34:07 -07:00
Ken Cooke
d84c7524bf Remove global HRTF headroom.
The initial HRTF reduced overall gain by -6dB to avoid clipping at spectral peaks. With the addition of a peak limiter, this is no longer necessary. Changing to 0dB improves the loudness match between spatialized and unspatialized sounds.
2016-07-14 14:56:58 -07:00
Brad Davis
44500889f8 Remove 'updating reverb' logspam 2016-07-14 13:34:56 -07:00
Brad Davis
882139ebcf Allow scripts to override the navigation focus state set by QML dialogs 2016-07-14 12:10:46 -07:00
Ken Cooke
fa55fc84f5 Optimized compute of distance filters using log-quantized lookup tables.
Magnitude error < 0.25dB for entire parameter space.
2016-07-14 12:04:05 -07:00
Ken Cooke
7a4bdc1779 enable in Interface and AudioMixer, by passing distance between source and listener 2016-07-14 11:30:55 -07:00
Ken Cooke
c7c02d7a59 Fix compiler warning 2016-07-14 11:24:48 -07:00
Ken Cooke
d7399f5781 Improved HRTF.
Adds a distance filter to model the frequency-dependent attenuation of sound propagation in open air.
Optimized using SIMD and computing all biquads in parallel. Performance impact is almost zero.
Filter updates are continuously interpolated and clean to -90dB.

Not enabled yet (distance hardcoded to 0.0f)
2016-07-14 10:34:42 -07:00
Brad Davis
091e798267 Make hand pointer lasers 'click' on fully pressing and clicking the vive controller 2016-07-14 10:30:35 -07:00
Chris Collins
1c6b5e89ac Merge pull request #8239 from ZappoMan/codecPlugins
fix razor blades in your ears when switching between domains with no codecs installed
2016-07-13 17:25:47 -07:00
Chris Collins
ff2d7addd7 Merge pull request #8232 from birarda/ignore
add a script to ignore other avatars
2016-07-13 17:10:49 -07:00
Brad Hefta-Gaub
a267843e3e fix razor blades in your ears when switching between domains with no codecs installed 2016-07-13 16:37:30 -07:00
David Kelly
dde4d16759 Merge branch 'master' of github.com:highfidelity/hifi into dk/firstLameAttempt 2016-07-13 15:15:35 -07:00
Andrew Meadows
cba49be9ea fix compile bug 2016-07-13 15:13:35 -07:00
Andrew Meadows
c106f4c3a0 fix crash for null pointer 2016-07-13 15:13:35 -07:00
Andrew Meadows
3e43859139 setCollisionModelURL() more symmetric with setURL() 2016-07-13 15:13:35 -07:00
Andrew Meadows
4bebb682dc namechange: fetchResource --> getGeometryResource 2016-07-13 15:13:35 -07:00
Andrew Meadows
c50d41c532 finish name changes as per PR feedback 2016-07-13 15:13:35 -07:00
Andrew Meadows
25fdea6bac fix for change of API after rebase 2016-07-13 15:13:35 -07:00
Stephen Birarda
30f55418db only prepare packet list packets if they need a message number 2016-07-13 15:06:31 -07:00
Stephen Birarda
cc9b72daa4 fix seeking in packet, use nodeActivated for ignore list send 2016-07-13 15:06:31 -07:00
Stephen Birarda
b68958317a re-send ignore requests when mixers are re-added 2016-07-13 15:06:31 -07:00
Stephen Birarda
07c1777485 push the packet version for NodeIgnoreRequest 2016-07-13 15:06:31 -07:00
Stephen Birarda
39c7805ca2 don't process packets for ignored avatars 2016-07-13 15:06:31 -07:00
Stephen Birarda
609900f246 move ignore set handling to NodeList 2016-07-13 15:06:31 -07:00
Stephen Birarda
6b6513d5f9 immediately fade out ignored avatars 2016-07-13 15:06:31 -07:00
Stephen Birarda
d5af323057 don't self-ignore from UsersScriptingInterface 2016-07-13 15:06:31 -07:00
Stephen Birarda
095bd7e6c8 cleanup logging, move packet parsing to mixers 2016-07-13 15:06:31 -07:00
Stephen Birarda
441b6d2813 fix recursive mutex lock, conditional, logging 2016-07-13 15:06:31 -07:00
Stephen Birarda
bb68e777e6 add a scripting interface to ignore users 2016-07-13 15:06:31 -07:00
Stephen Birarda
a134ac72de add packet type and plumbing for node ignore 2016-07-13 15:06:31 -07:00