If the current voice chat's floater is undocked, grab it by session id so that it's not labeled blank
When the button is clicked, open the current voice chat floater, not the communications floater, this is the intended action.. how it should have acted in the first place.
Minor updates to code, mostly just a migration with some v3 stuff commented, since we don't have LLAvatarList and must use buttons since scrolllist menus don't actually exist nicely yet.
Added toggleMuteVoice and isVoiceMuted to LLAvatarActions
Added a minor touch to the voice volume slider, it'll now offer changing your own volume while in an active voice session.. nice to not drop out of an import voice session just to fix yourself.
Also, fix a bug with SpeakerMgr's not flagging speakers for removal properly, causing external speakers and speakers managed by LLActiveSpeakerMgr to never actually get removed.
Condenses the three moderation responders to one.
Adds Speakers settings.
Uses dedicated timer class to track speakers on the list
Adds temporary getSpeakerManager() function to LLFloaterIMPanel to play the role of LLIMModel::getSpeakerManager
Migrate a bunch of classes out of llvoiceclient.* and into new llvoicevivox.*
Update most of these to match their counterparts
Introduce VoiceFonts support (voice morphing, floater still to come)
Support for a bunch of v3 voice settings.
Move volume settings management from LLMutelist into LLSpeakerVolumeStorage
Support for Avaline mutes (WIP)
Adds voice section to LLAgent
Moved llfloatervoicedevicesettings to llpanelvoicedevicesettings, v3's voice device panel design is more intuitive.
This should fix 'Received 302 (Moved Temporarily) for responder
"AgentStateResponder" which has no followRedir().
Some responders want to deal with redirections themselves, I checked if
this (new, pathfinder related) responder wants that in viewer-release,
but it doesn't. Turning this on requires to also keep track of cookies,
so it's a bit slower and therefore left at the old default: to not let
curl follow redirections. Optionally we would turn it on by default and
explicitely off for those responders that want to deal with 302's
themselves and for those that really don't need it and are used most
heavily.
Cleans up llfloatergroupinfo, makes it an instance tracker... pretty much as nice as llfloateravatarinfo now ^*^
Adds notifications JoinGroupNoCost and JoinedTooManyGroups (added to our existing translations, of course)
Cleans up all around, placing groupactions around.
Touches up bits for avataractions
Rlva style~ So update to RLVa stuff!
Adds support for @startim and @startimto
Enables hasOpenIM and hasOpenProfile, Yay functionality!
RLV_BHVR_STARTIM and RLV_BHVR_STARTIMTO added
While I was working, I was updating LLAgentHandler, after long enough it was identical enough to the one in llpanelprofile, so we're using that now.
Cleans up llfloateravatarinfo to the point of being a floater and instancetracker wrapper for a panelavatar (profile panel)
Bypasses looking up expired names that we know via get, this should avoid chats (and profiles, but that bug never got out) never opening for people we already know the name of on a bad connection; of course, this will only cause a faster reaction on the UI's part, messages may never get sent still (and profiles may never load) if the connection is truly terrible.
Cleans up llfloaterfriends and some parts of llfloateravatarlist (avatarlist could be cleaned up more from this perhaps in the future)
May slightly look better with copy detection and without space changes..
llgivemoney.cpp changes fix up some dummy view warnings I noticed while testing these changes
llpreview.cpp changes avoid segfault caused by llfloateravatarinfo not being a preview anymore but being inside a multipreview nonetheless.
Translators, don't worry, I covered this one with updates from v3 (Except German team)
https://code.google.com/p/singularity-viewer/issues/detail?id=848
If advance_state is called, then the state is NOT changed (only
sub_state_w->advance_state is set), but sub_state_w->skip_idle is set to
true in order to ignore the next call to idle (if the state machine is
already in the middle of executing a state). Therefore, this assert
would trigger. The solution is to not trigger when skip_idle is set.
The const LLRelationship* info was likely null at times, or names weren't looked up, we just failed silently and played the start IM sound as though nothing had happened, this won't happen anymore.
https://code.google.com/p/singularity-viewer/issues/detail?id=679
Instead of making the cursor just always an arrow, I changed the
'working' cursor from a watch to an arrow + hour glass. Note that the
BMP of the 'wait' cursor was exactly the same as the 'working' cursor,
so if anywhere 'working' should NOT have an arrow, then that should be
replaced with the UI_CURSOR_WAIT to restore the old cursor.
Obviously, the blinking is fixed too - cause that is what this all was
about.