Commit Graph

30 Commits

Author SHA1 Message Date
Latif Khalifa
93e62a375c WIP[win64]: Rebuilt jpeglib, libpng, fixed loading of fmodex 2013-10-20 20:17:03 +02:00
Shyotl
03c4535648 Made further refinements to the audioengine:
-Looping syncslaves are stopped when there is no syncmaster.
-Hardened against edge cases regarding soundsource priority sorting.
-Fixed issue with syncmasters being marked as having looped when instead they just started playing (caused double-start of syncslaves).
-Updated some comments.
2013-10-16 21:32:08 -05:00
Shyotl
dbfd0cb7a6 Fixed a shutdown crash in LLAudioEngine::assetCallback, and fixed behavior when soundsource re-issues a sound whilst a sound is currently playing for same source. (LLAudioChannel[Impl]::play now re-starts sound if already playing) 2013-10-13 16:22:24 -05:00
Shyotl
daa07d031c Fixed a couple of compilation errors when using GCC. 2013-10-12 12:13:58 -05:00
Shyotl
7fb05e6a48 Audio engine changes:
-Idle tick is now responsible for dispatching all pending sound sources, as such improves priority sorting.
-Added ui sound precache mechanisms (to fetch sounds without associated soundsources)
-Audio engine no logner available pre-login or upon disconnect, for simplicity.
-General cleanup to the audio engine/impl.
-Fixed some gAudiop calls that were lacking prerequisite null checks.
-Added 'isUpstreamOK' procuedure to LLAssetStorage to allow avoidance of making requests when there is no upstream host connection.
2013-10-12 02:49:11 -05:00
Shyotl
72c186f0f4 Fixed some unused variable warnings/errors when not compiling with assertions enabled. (eg 'release' configuration). Also snagged a nullcheck from upstream. 2013-06-06 02:12:45 -05:00
Shyotl
909fc0d9ce Blah blah fix non-windows builds. 2013-06-04 17:08:59 -05:00
Shyotl
3a7955192e Temporary super-obsessive audioengine debugging/diagnostics. 2013-06-04 04:39:51 -05:00
Shyotl
821fd1f7d6 Handle fmodex internal channel release by registering channel callbacks. Harden channel<->source associations. Assign console output for audio system "AudioEngine" and "AudioImpl" tags. Added base LLAudioChannel::cleanup() vfunc to handle non-impl-related variable cleanup. Killed some redundant code. 2013-06-04 03:46:26 -05:00
Shyotl
2b30a5a4e7 Catch case in llaudioengine where audio buffers are released with channels still consuming them(A proper fix should be done to avoid this scenario in the future).
Added stricter checking for fmodex errors.
Demote a harmless message from llinfos to lldebugs when audio buffers are all consumed.
Initialize LLAudioBuffer member variables.
-LLAudioBuffer::mInUse is inited to TRUE to avoid buffers that just got created from getting deleted during the same frame by new audio sources further down the chain.
2013-05-16 01:58:35 -05:00
Melanie
72db1a02b7 Fix audio the proper way 2013-04-23 03:16:31 +02:00
Shyotl
dbf646f266 More verbose fmodex llinfos output upon init. (will be useful when I add more output options.. if we keep fmodex) 2013-02-19 01:52:29 -06:00
Siana Gearz
de74443d76 Merge branch 'master' of https://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/llvovolume.cpp
	indra/newview/skins/default/xui/fr/panel_overlaybar.xml
2012-08-09 00:42:23 +02:00
Shyotl
081ae32d35 Disable diagnostic fmodex stream allocation overrides. (will break on ogg streams. badly.) 2012-07-25 23:08:37 -05:00
Siana Gearz
9c1e74b0c0 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/llaudio/llstreamingaudio_fmodex.cpp
	indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml
2012-07-23 03:04:33 +02:00
Shyotl
85da7163a7 Changing the rolloff settings now immediately apply (with fmodex). Also added AudioLevelUnderwaterRolloff now that the underwater rolloff 3d setting doesnt immediately get clobbered. Also, divvied up sound channels into channelgroups if using the fmod profiler, so it actually has useful info to show now. 2012-07-20 04:00:02 -05:00
Siana Gearz
a4d2cb3d12 Some fighting with Shyotl over FMOD Ex 2012-07-19 05:35:17 +02:00
Siana Gearz
8ad40c5d66 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/llaudio/llaudioengine_fmodex.cpp
2012-07-19 04:44:01 +02:00
Shyotl
643844c01d GCC being GCC-ey. Fix a couple errors and warnings 2012-07-18 21:27:46 -05:00
Shyotl
5fcdbfdd9e FMODEx diagnostics.
SHFMODExStreamBufferSize added. Determines stream buffer size in ms. (stream restart required)
SHFMODExDecodeBufferSize added. Determines decode buffer size in ms. (stream restart required)
Streams will mute themselves if they are starving, until they are free of starvation for 5 full seconds.
Streams that fail to accumulate any buffer progress while starving for 10 full updates will be stopped.
Stream buffer progress(buffer percent) is llinfos spewed every update. (temporary)
Doubled default stream buffer size
Increased default decode buffer size to 1000ms (from 400)
Temporarily using FMOD::Memory_Initialize to display raw stream/decode buffer sizes via llinfos.
Added llwarns messages for SigmaTel hardware or bad audio acceleration configuration.
2012-07-18 21:05:24 -05:00
Siana Gearz
96fa4af939 Initialize FMOD Ex with 44100 Hz, like FMOD 2012-07-19 03:26:02 +02:00
Siana Gearz
fe65e19b67 Fix wind on multichannel systems 2012-07-10 15:08:20 +02:00
Lirusaito
20f138b31f Merge branch 'V2MultiWear' of git://github.com/Shyotl/SingularityViewer into V2MultiWear 2012-05-30 21:16:27 -04:00
Shyotl
063ce180d3 Fmodex stereo fallback wasn't done quite right. 2012-05-30 18:56:36 -05:00
Drake Arconis
5a2d160ac4 Fixed FMOD Ex support under linux 2012-05-15 10:36:48 -04:00
Shyotl
e1cbeb7e02 Oopsies. Undoing a change that shouldn't have made it into the previous commits. Was simply a part of an experiment. 2011-12-24 11:30:09 -06:00
Shyotl
a2fb56bf48 Removed soundgroups. Unneeded and redundant. Any potential usefulness is ursuped by LLAudioEngine's channel management, which I do not want to alter. 2011-12-23 18:29:13 -06:00
Shyotl
37095dc2cd Provide FMOD Ex with format hints. Use software mixing only. Fixed issue with channels being silently stolen due to maxchannels being too low (Wind and streaming audio + 30 sound sources were exceeding max channel count) 2011-12-23 18:00:54 -06:00
Shyotl
b4dad425aa Fixed wind not mixing with other audio. Play no more than 30 world sounds at once (new sounds just muted until channels free up). Add fmod profiler support (SHEnableFMODExProfiler). Use FMOD_UNICODE on windows instead of loading files manually and sending raw data to fmod. Incl other misc cleanup. 2011-12-23 02:29:49 -06:00
Shyotl
c73414f1a1 A stab at fmodex support on windows. To use, install 'FMOD Ex Programmers API' to its defualt program files directory, and run develop.py with -DFMODEX:BOOL=ON set. That /should/ be all it takes. 2011-12-22 18:01:07 -06:00