summaryrefslogtreecommitdiff
path: root/indra/newview/llvoiceclient.h
AgeCommit message (Collapse)Author
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
A shocking number of LLSingleton subclasses had public constructors -- and in several instances, were being explicitly instantiated independently of the LLSingleton machinery. This breaks the new LLSingleton dependency-tracking machinery. It seems only fair that if you say you want an LLSingleton, there should only be ONE INSTANCE! Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the friend class LLSingleton<whatevah>; and explicitly declare a private nullary constructor. To try to enforce the LLSINGLETON() convention, introduce a new pure virtual LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might suspect, defined by the macro. If you declare an LLSingleton subclass without using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro() implementation -- which will hopefully remind the coder. Trawl through ALL LLSingleton subclass definitions, sprinkling in LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit constructor declarations, public or private, along with relevant 'friend class LLSingleton<myself>' declarations. Where destructors are declared, move them into private section as well. Where the constructor was inline but nontrivial, move out of class body. Fix several LLSingleton abuses revealed by making ctors/dtors private: LLGlobalEconomy was both an LLSingleton and the base class for LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance contained another instance of the LLGlobalEconomy "singleton.") Extract LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that. LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy. LLToolGrab, an LLSingleton, was also explicitly instantiated by LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated, with trivial subclass LLToolGrab, the LLSingleton instance. (WARNING: LLToolGrabBase methods have an unnerving tendency to go after LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship between the instance in LLToolCompGun and the LLToolGrab singleton instance.) LLGridManager declared a variant constructor accepting (const std::string&), with the comment: // initialize with an explicity grid file for testing. As there is no evidence of this being called from anywhere, delete it. LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD parameter wasn't used, and as there is no evidence of it being passed from anywhere, delete the parameter. LLViewerWindow::shutdownViews() was checking LLNavigationBar:: instanceExists(), then deleting its getInstance() pointer -- leaving a dangling LLSingleton instance pointer, a land mine if any subsequent code should attempt to reference it. Use deleteSingleton() instead. ~LLAppViewer() was calling LLViewerEventRecorder::instance() and then explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the LLSingleton instance pointer pointing to an allocated-but-destroyed instance. Use deleteSingleton() instead.
2016-04-04merge with 4.0.3-releaseOz Linden
2015-12-09Voice session state now in coro (includes all sub states as part of the coro)Rider Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-03-22Mic setting changes some device list is up to date, mic loop test works,Bjoseph Wombat
removed obsolete code and fine tuned voice state machine to avoid frequent neccessary code paths.
2015-03-06More voice related changes to improve the user's experience.Bjoseph Wombat
2014-08-15Allegedly hides voice position on teleport. Needs testing.Aura Linden
2013-08-19MergeXiaohong Bao
2013-07-11Merged in viewer-releaseAura Linden
2013-06-05merge with viewer-releaseRichard Linden
2013-05-15Thanks mercurial.Aura Linden
2013-05-05Spring cleaning: removed unused .cpp and.h files, and cleaned up header ↵Richard Linden
dependencies
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-08Interim version with SLIM removed from voice.Aura Linden
2012-12-12CHUI-427 FIXED Added callback to track changing in mUserPTTState. It's ↵maxim@mnikolenko
needed to synchronize both buttons
2010-09-24Added the VoiceDisableMic debug setting to completely disable the ability to ↵Monroe Linden
open the mic. Also hoisted PTT key handling from LLVivoxVoiceClient up to LLVoiceClient. This cleans up LLVoiceModuleInterface a bit and makes the PTT logic more centralized. Reviewed by Richard.
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-05-28EXT-7138 FIXED Merge Voice Morphing from aimee/viewer-trunk_voice-featuresAimee Linden
2010-05-24EXT-7335 WIP Added notification of expiring voice effectsAimee Linden
2010-05-23EXT-7337 WIP Removed now redundant isPreviewReady() method.Aimee Linden
2010-05-23EXT-7337 WIP Voice morph previewingAimee Linden
Separate Play and Stop callbacks, to allow single click previews in the effect list.
2010-05-22EXT-7138 WIP Voice Morphing - Go into stateCaptureBufferPaused as soon as ↵Aimee Linden
the Voice Effects preview is opened. Disconnecting from voice on hitting record was taking too long and causing the start of the voice recording to be cut off.
2010-05-19EXT-7337 WIP Added template voice fonts to the voice font list for previewingAimee Linden
2010-05-18EXT-7337 WIP Added capture buffer for previewing voice fonts to the voice ↵Aimee Linden
client.
2010-05-14EXT-7138 WIP added a refreshVoiceEffectLists() method to LLVoiceEffectInterfaceAimee Linden
2010-05-13EXT-7138 WIP Merged Voice fonts work into the newly modularized LLVoiceClient.Aimee Linden
Created LLVoiceEffectInterface as an optional interface to be implemented by voice modules that support voice effects.
2010-05-12EXT-7138 WIP Enumerate template voice fonts.Aimee Linden
Also simplified LLPanelVoiceFont some.
2010-05-04Fix linux build breakRoxie Linden
2010-05-04Automated mergeRoxie Linden
2010-05-04re-merge e7cef87fae39 - EXT-6031 refactoring of voice volume representationRoxie Linden
2010-04-29Make a proper XUI commit_callback for the Voice Font comboAimee Linden
2010-04-28Persist Voice Font selection.Aimee Linden
Added 'VoiceFontDefault' saved setting. Implemented LLVoiceClientFontsObserver to update the UI when the voice font list is received. Renamed LLVoiceClientParticipantObserver::onChange() to onParticipantsChanged to avoid ambiguity and make the code more readable. Made the Voice Font combo in the VCP auto resize to make best use of the available space when the 'Leave Call button is not visible.
2010-04-20Sort out the state machine in LLVoiceClient to wait for voice fonts properly.Aimee Linden
2010-04-19CR Changes from AimeeRoxie Linden
2010-04-19Identify fonts with UUIDs rather than using the font indexes directly as ↵Aimee Linden
they are not guaranteed unique across sessions. Replaced all references to "Font" with "Voice Font" where possible to reduce confusion for anyone grepping code in future.
2010-04-14DEV-48904 - p2p acceptance dialog vanishes too quicklyRoxie Linden
DEV-48903 - malformed names in p2p dialogs for Diamondware In the merge there were some changes that didn't get propagated that resulted in some failures with respect to diamondware name processing. THe determination as to whether a p2p session was with an avatar or with an alcatel (pbx) wasn't propagated into the diamondware code. I fixed that by merging the changes to the vivox module with respect to that into the diamondware module. Also, the acceptance dialog was vanishing too quickly as the determination as to whether there was still a p2p invite pending was not updated when the calling code was updated. The calling code initially was changed to look into vivox state which isn't really valid. that was changed in the 'trunk' to another mechanism, but that still assumed visibility into the voice code. I fixed that by creating an API call to ask whether a call was pending. CR: Karina
2010-04-09Added a method to clear the session font listAimee Linden
2010-04-07Re-insert backed out SLE checkin so we can fix itRoxie Linden
2010-04-07Automated merge with ssh://hg.lindenlab.com/q/viewer-trunkAimee Linden
2010-04-07Backed out changeset 63b699f90efdTofu Linden
2010-04-06Added voice font selection to the voice floater.Aimee Linden
2010-03-01fix linux build breakRoxie Linden
2010-02-22Added stateFontListReceived to the voice client state machine.Aimee Linden
This makes sure we have the voice font list before attempting to start a session.
2010-02-22Enumerate available voice fonts.Aimee Linden
2010-02-03No ticket. Added comments regarding EXT-4758 and ↵Andrew Dyukov
LLVoiceClient::voiceWorking() in general to clear things up a bit. --HG-- branch : product-engine
2010-01-22Fixed normal bugs EXT-4450 ([BSI] call buttons enabled when voice is ↵Andrew Dyukov
disabled) and EXT-4313 (Should not be able to start a call when voice is disabled). Call buttons state now reacts on voice changes in time. - Added voiceWorking() method to LLVoiceClient to determine real availability of voice, because voiceEnabled() doesn't take into account possible errors. Perhaps there is no need in two methods- some investigation will be made and depending on its results they may become one non-static method. voiceWorking() uses state of voice client(mState) to determine voice availability. Also some states which are not currently counted by voiceWorking() as valid may be added if testing reveals problems. - To enable/disable call buttons in time, LLVoiceClientStatusObserver is used. Its trigger uses states from its enum only to skip updating button in some states(to avoid button blinking), but to determine button state LLVoiceClient's voiceWorking() is used. --HG-- branch : product-engine
2010-01-14Work on major bug EXT-3976 (Voice chat speaking indicators should only ↵Mike Antipov
display when users are in the same voice channel) -- improvements: replace std::vector with std::set to avoid duplicated speaker UUIDs. Added method to get a set of voice participants UUIDs --HG-- branch : product-engine
2010-01-04implemented EXT-3642 Default mic states for voice callsIgor Borovkov
--HG-- branch : product-engine
2009-12-15Merge from default branch.Vadim Savchuk
Resolved conflicts in llalertdialog.h and llnotify.cpp (local deletion vs remote change) by removing them. --HG-- branch : product-engine
2009-12-15EXT-3394: Reverting removal of prefs volume slider.Lynx Linden
This change reverts the code parts of e038c0211968 that relate to the sound preferences slider. Lis has already re-enabled the slider in the panel_preferences_sound.xml XUI file. So the overall change for EXT-3394 is now: - remove the volume slider from the Voice Controls panel - make 50 be the default volume level, not 62