aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview
diff options
context:
space:
mode:
authorJacek Antonelli2009-02-15 19:58:57 -0600
committerJacek Antonelli2009-02-15 20:06:17 -0600
commit7552080406d6c54e981d2e26f3826e7457cdd5fb (patch)
treee613b774b600367635484fd71770c7984e720576 /linden/indra/newview
parentUpdated release notes for 1.1.0 RC1. (diff)
parentMerge branch '1.1.0-RC1-fixes' into next (diff)
downloadmeta-impy-7552080406d6c54e981d2e26f3826e7457cdd5fb.zip
meta-impy-7552080406d6c54e981d2e26f3826e7457cdd5fb.tar.gz
meta-impy-7552080406d6c54e981d2e26f3826e7457cdd5fb.tar.bz2
meta-impy-7552080406d6c54e981d2e26f3826e7457cdd5fb.tar.xz
Merge commit 'mccabe/next' into next
Diffstat (limited to 'linden/indra/newview')
-rw-r--r--linden/indra/newview/app_settings/settings.xml6
-rw-r--r--linden/indra/newview/llmediaremotectrl.cpp20
-rw-r--r--linden/indra/newview/lloverlaybar.cpp7
-rw-r--r--linden/indra/newview/lloverlaybar.h3
-rw-r--r--linden/indra/newview/llpreviewlandmark.cpp10
-rw-r--r--linden/indra/newview/llviewergesture.cpp3
-rw-r--r--linden/indra/newview/llviewermenu.cpp26
-rw-r--r--linden/indra/newview/llviewermessage.cpp4
-rw-r--r--linden/indra/newview/llviewerobject.cpp6
-rw-r--r--linden/indra/newview/llviewerparcelmedia.cpp8
-rw-r--r--linden/indra/newview/llviewerparcelmgr.cpp22
-rw-r--r--linden/indra/newview/llvoavatar.cpp13
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/alerts.xml36
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml4
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml188
15 files changed, 200 insertions, 156 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index 779b668..7405aad 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -284,7 +284,7 @@
284 <key>Type</key> 284 <key>Type</key>
285 <string>F32</string> 285 <string>F32</string>
286 <key>Value</key> 286 <key>Value</key>
287 <real>1.0</real> 287 <real>0.5</real>
288 </map> 288 </map>
289 <key>AudioLevelUI</key> 289 <key>AudioLevelUI</key>
290 <map> 290 <map>
@@ -317,7 +317,7 @@
317 <key>Type</key> 317 <key>Type</key>
318 <string>Boolean</string> 318 <string>Boolean</string>
319 <key>Value</key> 319 <key>Value</key>
320 <integer>0</integer> 320 <integer>1</integer>
321 </map> 321 </map>
322 <key>AudioStreamingVideo</key> 322 <key>AudioStreamingVideo</key>
323 <map> 323 <map>
@@ -328,7 +328,7 @@
328 <key>Type</key> 328 <key>Type</key>
329 <string>Boolean</string> 329 <string>Boolean</string>
330 <key>Value</key> 330 <key>Value</key>
331 <integer>0</integer> 331 <integer>1</integer>
332 </map> 332 </map>
333 <key>AutoAcceptNewInventory</key> 333 <key>AutoAcceptNewInventory</key>
334 <map> 334 <map>
diff --git a/linden/indra/newview/llmediaremotectrl.cpp b/linden/indra/newview/llmediaremotectrl.cpp
index 1b337ab..06978d7 100644
--- a/linden/indra/newview/llmediaremotectrl.cpp
+++ b/linden/indra/newview/llmediaremotectrl.cpp
@@ -85,7 +85,6 @@ BOOL LLMediaRemoteCtrl::postBuild()
85 childSetAction("media_stop",LLOverlayBar::mediaStop,this); 85 childSetAction("media_stop",LLOverlayBar::mediaStop,this);
86 childSetAction("music_stop",LLOverlayBar::toggleMusicPlay,this); 86 childSetAction("music_stop",LLOverlayBar::toggleMusicPlay,this);
87 childSetAction("media_pause",LLOverlayBar::toggleMediaPlay,this); 87 childSetAction("media_pause",LLOverlayBar::toggleMediaPlay,this);
88 childSetAction("music_pause",LLOverlayBar::toggleMusicPlay,this);
89 88
90 childSetAction("expand", onClickExpandBtn, this); 89 childSetAction("expand", onClickExpandBtn, this);
91 return TRUE; 90 return TRUE;
@@ -150,7 +149,6 @@ void LLMediaRemoteCtrl::enableMediaButtons()
150 bool stop_media_enabled = false; 149 bool stop_media_enabled = false;
151 bool play_music_enabled = false; 150 bool play_music_enabled = false;
152 bool stop_music_enabled = false; 151 bool stop_music_enabled = false;
153 bool music_show_pause = false;
154 bool media_show_pause = false; 152 bool media_show_pause = false;
155 LLColor4 music_icon_color = LLUI::sColorsGroup->getColor( "IconDisabledColor" ); 153 LLColor4 music_icon_color = LLUI::sColorsGroup->getColor( "IconDisabledColor" );
156 LLColor4 media_icon_color = LLUI::sColorsGroup->getColor( "IconDisabledColor" ); 154 LLColor4 media_icon_color = LLUI::sColorsGroup->getColor( "IconDisabledColor" );
@@ -203,17 +201,16 @@ void LLMediaRemoteCtrl::enableMediaButtons()
203 201
204 if ( parcel && parcel->getMusicURL()[0]) 202 if ( parcel && parcel->getMusicURL()[0])
205 { 203 {
206 play_music_enabled = true;
207 music_icon_color = LLUI::sColorsGroup->getColor( "IconEnabledColor" ); 204 music_icon_color = LLUI::sColorsGroup->getColor( "IconEnabledColor" );
208 205
209 if (gOverlayBar->musicPlaying()) 206 if (gOverlayBar->musicPlaying())
210 { 207 {
211 music_show_pause = true; 208 play_music_enabled = false;
212 stop_music_enabled = true; 209 stop_music_enabled = true;
213 } 210 }
214 else 211 else
215 { 212 {
216 music_show_pause = false; 213 play_music_enabled = true;
217 stop_music_enabled = false; 214 stop_music_enabled = false;
218 } 215 }
219 } 216 }
@@ -226,20 +223,19 @@ void LLMediaRemoteCtrl::enableMediaButtons()
226 } 223 }
227 } 224 }
228 const std::string media_icon_name = LLMIMETypes::findIcon(media_type); 225 const std::string media_icon_name = LLMIMETypes::findIcon(media_type);
226
229 LLButton* music_play_btn = getChild<LLButton>("music_play"); 227 LLButton* music_play_btn = getChild<LLButton>("music_play");
230 LLButton* music_stop_btn = getChild<LLButton>("music_stop"); 228 LLButton* music_stop_btn = getChild<LLButton>("music_stop");
231 LLButton* music_pause_btn = getChild<LLButton>("music_pause"); 229
230 music_play_btn->setEnabled(play_music_enabled);
231 music_stop_btn->setEnabled(stop_music_enabled);
232 childSetColor("music_icon", music_icon_color);
233
232 LLButton* media_play_btn = getChild<LLButton>("media_play"); 234 LLButton* media_play_btn = getChild<LLButton>("media_play");
233 LLButton* media_stop_btn = getChild<LLButton>("media_stop"); 235 LLButton* media_stop_btn = getChild<LLButton>("media_stop");
234 LLButton* media_pause_btn = getChild<LLButton>("media_pause"); 236 LLButton* media_pause_btn = getChild<LLButton>("media_pause");
235 LLIconCtrl* media_icon = getChild<LLIconCtrl>("media_icon"); 237 LLIconCtrl* media_icon = getChild<LLIconCtrl>("media_icon");
236 238
237 music_play_btn->setEnabled(play_music_enabled);
238 music_stop_btn->setEnabled(stop_music_enabled);
239 music_pause_btn->setEnabled(music_show_pause);
240 music_pause_btn->setVisible(music_show_pause);
241 music_play_btn->setVisible(! music_show_pause);
242 childSetColor("music_icon", music_icon_color);
243 if(!media_icon_name.empty()) 239 if(!media_icon_name.empty())
244 { 240 {
245 media_icon->setImage(media_icon_name); 241 media_icon->setImage(media_icon_name);
diff --git a/linden/indra/newview/lloverlaybar.cpp b/linden/indra/newview/lloverlaybar.cpp
index 1087fd8..80cac14 100644
--- a/linden/indra/newview/lloverlaybar.cpp
+++ b/linden/indra/newview/lloverlaybar.cpp
@@ -275,6 +275,7 @@ void LLOverlayBar::refresh()
275 { 275 {
276 layoutButtons(); 276 layoutButtons();
277 } 277 }
278
278} 279}
279 280
280//----------------------------------------------------------------------- 281//-----------------------------------------------------------------------
@@ -360,6 +361,12 @@ void LLOverlayBar::toggleMediaPlay(void*)
360} 361}
361 362
362//static 363//static
364void LLOverlayBar::musicFirstRun()
365{
366 gOverlayBar->mMusicState = PLAYING;
367}
368
369//static
363void LLOverlayBar::toggleMusicPlay(void*) 370void LLOverlayBar::toggleMusicPlay(void*)
364{ 371{
365 if (!gOverlayBar) 372 if (!gOverlayBar)
diff --git a/linden/indra/newview/lloverlaybar.h b/linden/indra/newview/lloverlaybar.h
index 5880ff0..73d0a43 100644
--- a/linden/indra/newview/lloverlaybar.h
+++ b/linden/indra/newview/lloverlaybar.h
@@ -80,6 +80,9 @@ public:
80 static void musicStop(void*); 80 static void musicStop(void*);
81 static void mediaStop(void*); 81 static void mediaStop(void*);
82 82
83 // hack to make sure the music button plays.
84 static void musicFirstRun();
85
83 static void toggleAudioVolumeFloater(void*); 86 static void toggleAudioVolumeFloater(void*);
84 87
85protected: 88protected:
diff --git a/linden/indra/newview/llpreviewlandmark.cpp b/linden/indra/newview/llpreviewlandmark.cpp
index dba603b..01d77f6 100644
--- a/linden/indra/newview/llpreviewlandmark.cpp
+++ b/linden/indra/newview/llpreviewlandmark.cpp
@@ -90,15 +90,7 @@ LLPreviewLandmark::LLPreviewLandmark(const std::string& name,
90{ 90{
91 91
92 mFactoryMap["place_details_panel"] = LLCallbackMap(LLPreviewLandmark::createPlaceDetail, this); 92 mFactoryMap["place_details_panel"] = LLCallbackMap(LLPreviewLandmark::createPlaceDetail, this);
93 if (show_keep_discard) 93 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_preview_existing_landmark.xml", &getFactoryMap());
94 {
95 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_preview_new_landmark.xml", &getFactoryMap());
96 childSetAction("Discard btn",onDiscardBtn,this);
97 }
98 else
99 {
100 LLUICtrlFactory::getInstance()->buildFloater(this, "floater_preview_existing_landmark.xml", &getFactoryMap());
101 }
102 94
103 /* 95 /*
104 childSetCommitCallback("desc_editor", LLPreview::onText, this); 96 childSetCommitCallback("desc_editor", LLPreview::onText, this);
diff --git a/linden/indra/newview/llviewergesture.cpp b/linden/indra/newview/llviewergesture.cpp
index a080663..d99a3a8 100644
--- a/linden/indra/newview/llviewergesture.cpp
+++ b/linden/indra/newview/llviewergesture.cpp
@@ -43,6 +43,7 @@
43#include "llinventorymodel.h" 43#include "llinventorymodel.h"
44#include "llvoavatar.h" 44#include "llvoavatar.h"
45#include "llxfermanager.h" 45#include "llxfermanager.h"
46#include "llviewercontrol.h"
46#include "llviewermessage.h" // send_guid_sound_trigger 47#include "llviewermessage.h" // send_guid_sound_trigger
47#include "llviewernetwork.h" 48#include "llviewernetwork.h"
48#include "llagent.h" 49#include "llagent.h"
@@ -50,7 +51,7 @@
50// Globals 51// Globals
51LLViewerGestureList gGestureList; 52LLViewerGestureList gGestureList;
52 53
53const F32 LLViewerGesture::SOUND_VOLUME = 1.f; 54const F32 LLViewerGesture::SOUND_VOLUME = gSavedSettings.getBOOL("MuteSounds") ? 0.f : 1.f;
54 55
55LLViewerGesture::LLViewerGesture() 56LLViewerGesture::LLViewerGesture()
56: LLGesture() 57: LLGesture()
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index c4cbf84..b7f4a40 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -1605,6 +1605,31 @@ void label_touch(std::string& label, void*)
1605 } 1605 }
1606} 1606}
1607 1607
1608class LLAttachmentEnableTouch : public view_listener_t
1609{
1610 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
1611 {
1612 LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
1613
1614 if (!obj) return false;
1615 if (!obj->isAttachment()) return false;
1616
1617 bool new_value = obj && obj->flagHandleTouch();
1618 gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
1619 LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
1620
1621 if (node && node->mValid && !node->mTouchName.empty())
1622 {
1623 gMenuHolder->childSetText("Attachment Touch", node->mTouchName);
1624 }
1625 else
1626 {
1627 gMenuHolder->childSetText("Attachment Touch", userdata["data"].asString());
1628 }
1629 return true;
1630 }
1631};
1632
1608bool handle_object_open() 1633bool handle_object_open()
1609{ 1634{
1610 LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); 1635 LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
@@ -9822,6 +9847,7 @@ void initialize_menus()
9822 9847
9823 addMenu(new LLAttachmentEnableDrop(), "Attachment.EnableDrop"); 9848 addMenu(new LLAttachmentEnableDrop(), "Attachment.EnableDrop");
9824 addMenu(new LLAttachmentEnableDetach(), "Attachment.EnableDetach"); 9849 addMenu(new LLAttachmentEnableDetach(), "Attachment.EnableDetach");
9850 addMenu(new LLAttachmentEnableTouch(), "Attachment.EnableTouch");
9825 9851
9826 // Land pie menu 9852 // Land pie menu
9827 addMenu(new LLLandBuild(), "Land.Build"); 9853 addMenu(new LLLandBuild(), "Land.Build");
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index 4543ae4..b947f95 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -111,6 +111,7 @@
111#include "llui.h" // for make_ui_sound 111#include "llui.h" // for make_ui_sound
112#include "lluploaddialog.h" 112#include "lluploaddialog.h"
113#include "llviewercamera.h" 113#include "llviewercamera.h"
114#include "llviewercontrol.h"
114#include "llviewergenericmessage.h" 115#include "llviewergenericmessage.h"
115#include "llviewerinventory.h" 116#include "llviewerinventory.h"
116#include "llviewermenu.h" 117#include "llviewermenu.h"
@@ -3291,6 +3292,9 @@ void process_sound_trigger(LLMessageSystem *msg, void **)
3291 pos_global.mdV[VY] += pos_local.mV[VY]; 3292 pos_global.mdV[VY] += pos_local.mV[VY];
3292 pos_global.mdV[VZ] += pos_local.mV[VZ]; 3293 pos_global.mdV[VZ] += pos_local.mV[VZ];
3293 3294
3295 // Don't play sounds if sound settings are muted.
3296 if (gSavedSettings.getBOOL("MuteSounds")) return;
3297
3294 // Don't play a trigger sound if you can't hear it due 3298 // Don't play a trigger sound if you can't hear it due
3295 // to parcel "local audio only" settings. 3299 // to parcel "local audio only" settings.
3296 if (!LLViewerParcelMgr::getInstance()->canHearSound(pos_global)) return; 3300 if (!LLViewerParcelMgr::getInstance()->canHearSound(pos_global)) return;
diff --git a/linden/indra/newview/llviewerobject.cpp b/linden/indra/newview/llviewerobject.cpp
index c560ced..cb3afc5 100644
--- a/linden/indra/newview/llviewerobject.cpp
+++ b/linden/indra/newview/llviewerobject.cpp
@@ -2766,7 +2766,7 @@ BOOL LLViewerObject::updateLOD()
2766 // Update volume of looping sounds 2766 // Update volume of looping sounds
2767 if (mAudioSourcep && mAudioSourcep->isLoop()) 2767 if (mAudioSourcep && mAudioSourcep->isLoop())
2768 { 2768 {
2769 F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : (mAudioGain * gSavedSettings.getF32("AudioLevelSFX")); 2769 F32 volume = mAudioGain * gSavedSettings.getF32("AudioLevelSFX");
2770 mAudioSourcep->setGain(volume); 2770 mAudioSourcep->setGain(volume);
2771 } 2771 }
2772 return FALSE; 2772 return FALSE;
@@ -4331,7 +4331,7 @@ void LLViewerObject::setAttachedSound(const LLUUID &audio_uuid, const LLUUID& ow
4331 { 4331 {
4332 BOOL queue = flags & LL_SOUND_FLAG_QUEUE; 4332 BOOL queue = flags & LL_SOUND_FLAG_QUEUE;
4333 mAudioGain = gain; 4333 mAudioGain = gain;
4334 F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : gain * gSavedSettings.getF32("AudioLevelSFX"); 4334 F32 volume = gain * gSavedSettings.getF32("AudioLevelSFX");
4335 mAudioSourcep->setGain(volume); 4335 mAudioSourcep->setGain(volume);
4336 mAudioSourcep->setLoop(flags & LL_SOUND_FLAG_LOOP); 4336 mAudioSourcep->setLoop(flags & LL_SOUND_FLAG_LOOP);
4337 mAudioSourcep->setSyncMaster(flags & LL_SOUND_FLAG_SYNC_MASTER); 4337 mAudioSourcep->setSyncMaster(flags & LL_SOUND_FLAG_SYNC_MASTER);
@@ -4370,7 +4370,7 @@ void LLViewerObject::adjustAudioGain(const F32 gain)
4370 if (mAudioSourcep) 4370 if (mAudioSourcep)
4371 { 4371 {
4372 mAudioGain = gain; 4372 mAudioGain = gain;
4373 F32 volume = gSavedSettings.getBOOL("MuteSounds") ? 0.f : mAudioGain * gSavedSettings.getF32("AudioLevelSFX"); 4373 F32 volume = mAudioGain * gSavedSettings.getF32("AudioLevelSFX");
4374 mAudioSourcep->setGain(volume); 4374 mAudioSourcep->setGain(volume);
4375 } 4375 }
4376} 4376}
diff --git a/linden/indra/newview/llviewerparcelmedia.cpp b/linden/indra/newview/llviewerparcelmedia.cpp
index 956ed03..94f6d84 100644
--- a/linden/indra/newview/llviewerparcelmedia.cpp
+++ b/linden/indra/newview/llviewerparcelmedia.cpp
@@ -384,17 +384,11 @@ void LLViewerParcelMedia::processParcelMediaUpdate( LLMessageSystem *msg, void *
384 384
385void callback_play_media(S32 option, void* data) 385void callback_play_media(S32 option, void* data)
386{ 386{
387 LLParcel* parcel = (LLParcel*)data;
388 if (option == 0) 387 if (option == 0)
389 { 388 {
390 gSavedSettings.setBOOL("AudioStreamingVideo", TRUE); 389 LLParcel* parcel = (LLParcel*)data;
391 LLViewerParcelMedia::play(parcel); 390 LLViewerParcelMedia::play(parcel);
392 } 391 }
393 else
394 {
395 gSavedSettings.setBOOL("AudioStreamingVideo", FALSE);
396 }
397 gSavedSettings.setWarning("FirstStreamingVideo", FALSE); 392 gSavedSettings.setWarning("FirstStreamingVideo", FALSE);
398
399} 393}
400 394
diff --git a/linden/indra/newview/llviewerparcelmgr.cpp b/linden/indra/newview/llviewerparcelmgr.cpp
index 5ef6f83..2dee2bf 100644
--- a/linden/indra/newview/llviewerparcelmgr.cpp
+++ b/linden/indra/newview/llviewerparcelmgr.cpp
@@ -1692,7 +1692,12 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
1692 1692
1693void optionally_start_music(const std::string& music_url) 1693void optionally_start_music(const std::string& music_url)
1694{ 1694{
1695 if (gSavedSettings.getBOOL("AudioStreamingMusic")) 1695 // Check to see if this your first time on a music-enabled parcel.
1696 if (gSavedSettings.getWarning("FirstStreamingMusic"))
1697 {
1698 gViewerWindow->alertXml("ParcelCanPlayMusic", callback_start_music, (void*)&music_url);
1699 }
1700 else if (gSavedSettings.getBOOL("AudioStreamingMusic"))
1696 { 1701 {
1697 // Make the user click the start button on the overlay bar. JC 1702 // Make the user click the start button on the overlay bar. JC
1698 // llinfos << "Starting parcel music " << music_url << llendl; 1703 // llinfos << "Starting parcel music " << music_url << llendl;
@@ -1706,6 +1711,21 @@ void optionally_start_music(const std::string& music_url)
1706 } 1711 }
1707} 1712}
1708 1713
1714
1715void callback_start_music(S32 option, void* data)
1716{
1717 if (option == 0)
1718 {
1719 // Before the callback, we verified the url was good.
1720 // We fetch again to avoid lag while loading.
1721 LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
1722 gAudiop->startInternetStream(parcel->getMusicURL());
1723
1724 LLOverlayBar::musicFirstRun();
1725 }
1726 gSavedSettings.setWarning("FirstStreamingMusic", FALSE);
1727}
1728
1709// static 1729// static
1710void LLViewerParcelMgr::processParcelAccessListReply(LLMessageSystem *msg, void **user) 1730void LLViewerParcelMgr::processParcelAccessListReply(LLMessageSystem *msg, void **user)
1711{ 1731{
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp
index d41f72e..fd2487b 100644
--- a/linden/indra/newview/llvoavatar.cpp
+++ b/linden/indra/newview/llvoavatar.cpp
@@ -3797,7 +3797,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
3797 const LLUUID AGENT_FOOTSTEP_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_LAND}; 3797 const LLUUID AGENT_FOOTSTEP_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_LAND};
3798 const S32 NUM_AGENT_FOOTSTEP_ANIMS = sizeof(AGENT_FOOTSTEP_ANIMS) / sizeof(LLUUID); 3798 const S32 NUM_AGENT_FOOTSTEP_ANIMS = sizeof(AGENT_FOOTSTEP_ANIMS) / sizeof(LLUUID);
3799 3799
3800 if ( gAudiop && isAnyAnimationSignaled(AGENT_FOOTSTEP_ANIMS, NUM_AGENT_FOOTSTEP_ANIMS) ) 3800 if ( gAudiop && !gSavedSettings.getBOOL("MuteAmbient") && isAnyAnimationSignaled(AGENT_FOOTSTEP_ANIMS, NUM_AGENT_FOOTSTEP_ANIMS) )
3801 { 3801 {
3802 BOOL playSound = FALSE; 3802 BOOL playSound = FALSE;
3803 LLVector3 foot_pos_agent; 3803 LLVector3 foot_pos_agent;
@@ -3828,7 +3828,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
3828// AUDIO_STEP_LO_SPEED, AUDIO_STEP_HI_SPEED, 3828// AUDIO_STEP_LO_SPEED, AUDIO_STEP_HI_SPEED,
3829// AUDIO_STEP_LO_GAIN, AUDIO_STEP_HI_GAIN ); 3829// AUDIO_STEP_LO_GAIN, AUDIO_STEP_HI_GAIN );
3830 3830
3831 const F32 STEP_VOLUME = 0.5f; 3831 const F32 STEP_VOLUME = 0.2f;
3832 LLUUID& step_sound_id = getStepSound(); 3832 LLUUID& step_sound_id = getStepSound();
3833 3833
3834 LLVector3d foot_pos_global = gAgent.getPosGlobalFromAgent(foot_pos_agent); 3834 LLVector3d foot_pos_global = gAgent.getPosGlobalFromAgent(foot_pos_agent);
@@ -4800,7 +4800,7 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
4800 { 4800 {
4801 if (anim_id == ANIM_AGENT_TYPE) 4801 if (anim_id == ANIM_AGENT_TYPE)
4802 { 4802 {
4803 if (gAudiop) 4803 if (gAudiop && !gSavedSettings.getBOOL("MuteAmbient"))
4804 { 4804 {
4805 LLVector3d char_pos_global = gAgent.getPosGlobalFromAgent(getCharacterPosition()); 4805 LLVector3d char_pos_global = gAgent.getPosGlobalFromAgent(getCharacterPosition());
4806 if (LLViewerParcelMgr::getInstance()->canHearSound(char_pos_global) 4806 if (LLViewerParcelMgr::getInstance()->canHearSound(char_pos_global)
@@ -4814,11 +4814,8 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
4814 // gAudiop->triggerSound(LLUUID(gSavedSettings.getString("UISndTyping")), volume); 4814 // gAudiop->triggerSound(LLUUID(gSavedSettings.getString("UISndTyping")), volume);
4815 //} 4815 //}
4816 //else 4816 //else
4817 { 4817 LLUUID sound_id = LLUUID(gSavedSettings.getString("UISndTyping"));
4818 LLUUID sound_id = LLUUID(gSavedSettings.getString("UISndTyping")); 4818 gAudiop->triggerSound(sound_id, getID(), 1.0f, LLAudioEngine::AUDIO_TYPE_SFX, char_pos_global);
4819 gAudiop->triggerSound(sound_id, getID(), 1.0f, LLAudioEngine::AUDIO_TYPE_SFX, char_pos_global);
4820
4821 }
4822 } 4819 }
4823 } 4820 }
4824 } 4821 }
diff --git a/linden/indra/newview/skins/default/xui/en-us/alerts.xml b/linden/indra/newview/skins/default/xui/en-us/alerts.xml
index 0be529f..92e2014 100644
--- a/linden/indra/newview/skins/default/xui/en-us/alerts.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/alerts.xml
@@ -1893,20 +1893,32 @@ Try selecting a single parcel.
1893 Region Not Found 1893 Region Not Found
1894 </message> 1894 </message>
1895 </alert> 1895 </alert>
1896 <alert modal="true" name="ParcelCanPlayMedia"> 1896 <alert modal="true" name="ParcelCanPlayMusic">
1897 <message name="message"> 1897 <message name="message">
1898 This location can play streaming media. 1898 This location wants to play streaming music.
1899Streaming media requires a fast Internet connection. 1899 (Requires a fast Internet connection.)
1900 1900
1901Play streaming media when available? 1901 Play streaming music now?
1902(You can change this option later under 1902 </message>
1903Preferences &gt; Audio &amp; Video.) 1903 <option name="PlayMusic">
1904 </message> 1904 Yes
1905 </option>
1906 <option name="No">
1907 No
1908 </option>
1909 </alert>
1910 <alert modal="true" name="ParcelCanPlayMedia">
1911 <message name="message">
1912 This location wants to play streaming media.
1913 (Requires a fast Internet connection.)
1914
1915 Play streaming media now?
1916 </message>
1905 <option name="PlayMedia"> 1917 <option name="PlayMedia">
1906 Play Media 1918 Yes
1907 </option> 1919 </option>
1908 <option name="Disable"> 1920 <option name="No">
1909 Disable 1921 No
1910 </option> 1922 </option>
1911 </alert> 1923 </alert>
1912 <alert modal="true" name="CannotDeedLandWaitingForServer"> 1924 <alert modal="true" name="CannotDeedLandWaitingForServer">
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
index d16c22c..a3e2bba 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml
@@ -6,9 +6,9 @@
6 <menu_item_call enabled="true" label="Groups..." name="Groups..."> 6 <menu_item_call enabled="true" label="Groups..." name="Groups...">
7 <on_click function="ShowAgentGroups" userdata="agent" /> 7 <on_click function="ShowAgentGroups" userdata="agent" />
8 </menu_item_call> 8 </menu_item_call>
9 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Object Touch"> 9 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch">
10 <on_click function="Object.Touch" /> 10 <on_click function="Object.Touch" />
11 <on_enable function="Object.EnableTouch" userdata="Touch" /> 11 <on_enable function="Attachment.EnableTouch" userdata="Touch" />
12 </menu_item_call> 12 </menu_item_call>
13 <menu_item_call enabled="true" label="Stand Up" name="Stand Up"> 13 <menu_item_call enabled="true" label="Stand Up" name="Stand Up">
14 <on_click function="Self.StandUp" userdata="" /> 14 <on_click function="Self.StandUp" userdata="" />
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml b/linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml
index 1fead04..7e4f12a 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml
@@ -1,98 +1,90 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel bg_visible="false" border="false" border_visible="false" bottom="1" 2<panel bg_visible="false" border="false" border_visible="false" bottom="1"
3 enabled="true" follows="right|bottom" height="20" left="0" 3 enabled="true" follows="right|bottom" height="20" left="0"
4 name="media_controls" width="262"> 4 name="media_controls" width="262">
5 <icon bottom="-22" enabled="true" follows="left|top" height="22" 5 <icon bottom="-22" enabled="true" follows="left|top" height="22"
6 image_name="icn_label_music.tga" label="" left_delta="2" mouse_opaque="true" 6 image_name="icn_label_music.tga" label="" left_delta="2" mouse_opaque="true"
7 name="music_icon" scale_image="true" tool_tip="Play/pause streaming music" 7 name="music_icon" scale_image="true" tool_tip="Play streaming music"
8 width="20" /> 8 width="20" />
9 <button bottom="-21" enabled="true" follows="left|top" height="20" 9 <button bottom="-21" enabled="true" follows="left|top" height="20"
10 image_overlay="icn_play.tga" 10 image_overlay="icn_play.tga"
11 image_unselected="flyout_btn_left.tga" 11 image_unselected="flyout_btn_left.tga"
12 image_selected="flyout_btn_left_selected.tga" 12 image_selected="flyout_btn_left_selected.tga"
13 image_disabled="flyout_btn_left_disabled.tga" 13 image_disabled="flyout_btn_left_disabled.tga"
14 label="" left_delta="20" 14 label="" left_delta="20"
15 mouse_opaque="true" name="music_play" scale_image="true" toggle="false" 15 mouse_opaque="true" name="music_play" scale_image="true" toggle="false"
16 tool_tip="Play/pause streaming music" width="20" /> 16 tool_tip="Play streaming music" width="20" />
17 <button bottom="-21" enabled="false" follows="left|top" height="20" 17 <button bottom="-21" enabled="true" follows="left|top" height="20"
18 image_overlay="icn_pause.tga" 18 image_overlay="icn_stop.tga"
19 image_unselected="flyout_btn_left.tga" 19 image_unselected="flyout_btn_right.tga"
20 image_selected="flyout_btn_left_selected.tga" 20 image_selected="flyout_btn_right_selected.tga"
21 image_disabled="flyout_btn_left_disabled.tga" 21 image_disabled="flyout_btn_right_disabled.tga"
22 label="" left_delta="0" 22 label="" left_delta="20"
23 mouse_opaque="true" name="music_pause" scale_image="true" toggle="false" 23 mouse_opaque="true" name="music_stop" scale_image="true" toggle="false"
24 tool_tip="Pause streaming music" width="20" /> 24 tool_tip="Stop streaming music" width="20" />
25 <button bottom="-21" enabled="true" follows="left|top" height="20" 25 <icon bottom="-22" enabled="true" follows="left|top" height="22"
26 image_overlay="icn_stop.tga" 26 image_name="icn_label_media.tga"
27 image_unselected="flyout_btn_right.tga" 27 label="" left_delta="23" mouse_opaque="true"
28 image_selected="flyout_btn_right_selected.tga" 28 name="media_icon" scale_image="true" tool_tip="Play/pause streaming media"
29 image_disabled="flyout_btn_right_disabled.tga" 29 width="20" />
30 label="" left_delta="20" 30 <button bottom="-21" enabled="true" follows="left|top" height="20"
31 mouse_opaque="true" name="music_stop" scale_image="true" toggle="false" 31 image_overlay="icn_play.tga"
32 tool_tip="Stop streaming music" width="20" /> 32 image_unselected="flyout_btn_left.tga"
33 <icon bottom="-22" enabled="true" follows="left|top" height="22" 33 image_selected="flyout_btn_left_selected.tga"
34 image_name="icn_label_media.tga" 34 image_disabled="flyout_btn_left_disabled.tga"
35 label="" left_delta="23" mouse_opaque="true" 35 label="" left_delta="21"
36 name="media_icon" scale_image="true" tool_tip="Play/pause streaming music" 36 mouse_opaque="true" name="media_play" scale_image="true" toggle="false"
37 width="20" /> 37 tool_tip="Play/pause streaming music" width="20" />
38 <button bottom="-21" enabled="true" follows="left|top" height="20" 38 <button bottom="-21" enabled="false" follows="left|top" height="20"
39 image_overlay="icn_play.tga" 39 image_overlay="icn_pause.tga"
40 image_unselected="flyout_btn_left.tga" 40 image_unselected="flyout_btn_left.tga"
41 image_selected="flyout_btn_left_selected.tga" 41 image_selected="flyout_btn_left_selected.tga"
42 image_disabled="flyout_btn_left_disabled.tga" 42 image_disabled="flyout_btn_left_disabled.tga"
43 label="" left_delta="21" 43 label="" left_delta="0"
44 mouse_opaque="true" name="media_play" scale_image="true" toggle="false" 44 mouse_opaque="true" name="media_pause" scale_image="true" toggle="false"
45 tool_tip="Play/pause streaming music" width="20" /> 45 tool_tip="Pause streaming media" width="20" />
46 <button bottom="-21" enabled="false" follows="left|top" height="20" 46 <button bottom="-21" enabled="true" follows="left|top" height="20"
47 image_overlay="icn_pause.tga" 47 image_overlay="icn_stop.tga"
48 image_unselected="flyout_btn_left.tga" 48 image_unselected="flyout_btn_right.tga"
49 image_selected="flyout_btn_left_selected.tga" 49 image_selected="flyout_btn_right_selected.tga"
50 image_disabled="flyout_btn_left_disabled.tga" 50 image_disabled="flyout_btn_right_disabled.tga"
51 label="" left_delta="0" 51 label="" left_delta="20"
52 mouse_opaque="true" name="media_pause" scale_image="true" toggle="false" 52 mouse_opaque="true" name="media_stop" scale_image="true" toggle="false"
53 tool_tip="Pause streaming media" width="20" /> 53 tool_tip="Stop streaming media" width="20" />
54 <button bottom="-21" enabled="true" follows="left|top" height="20" 54 <volume_slider bottom="-23" control_name="AudioLevelMaster" height="22" increment="0.05"
55 image_overlay="icn_stop.tga" 55 initial_val="0.5" left_delta="15" max_val="1" min_val="0"
56 image_unselected="flyout_btn_right.tga" 56 mouse_opaque="true" name="volume_slider" tool_tip="Master Volume"
57 image_selected="flyout_btn_right_selected.tga" 57 width="56" />
58 image_disabled="flyout_btn_right_disabled.tga" 58 <button bottom="-19" control_name="MuteAudio" height="20"
59 label="" left_delta="20" 59 image_selected="icn_speaker-muted_dark.tga"
60 mouse_opaque="true" name="media_stop" scale_image="true" toggle="false" 60 image_unselected="icn_speaker_dark.tga" label="" left_delta="56"
61 tool_tip="Stop streaming media" width="20" /> 61 name="mute_master" toggle="true" tool_tip="Master Mute" width="24" />
62 <volume_slider bottom="-23" control_name="AudioLevelMaster" height="22" increment="0.05" 62 <button bottom="-22" control_name="ShowVolumeSettingsPopup" height="22" label=""
63 initial_val="0.5" left_delta="15" max_val="1" min_val="0" 63 left_delta="19" name="expand" scale_image="true" toggle="true"
64 mouse_opaque="true" name="volume_slider" tool_tip="Master Volume" 64 tool_tip="Adjust individual volume levels" width="22" />
65 width="56" /> 65
66 <button bottom="-19" control_name="MuteAudio" height="20" 66 <string name="play_label">
67 image_selected="icn_speaker-muted_dark.tga" 67 Play
68 image_unselected="icn_speaker_dark.tga" label="" left_delta="56" 68 </string>
69 name="mute_master" toggle="true" tool_tip="Master Mute" width="24" /> 69 <string name="stop_label">
70 <button bottom="-22" control_name="ShowVolumeSettingsPopup" height="22" label="" 70 Stop
71 left_delta="19" name="expand" scale_image="true" toggle="true" 71 </string>
72 tool_tip="Adjust individual volume levels" width="22" /> 72 <string name="pause_label">
73 73 Pause
74 <string name="play_label"> 74 </string>
75 Play 75 <string name="default_tooltip_label">
76 </string> 76 No Media Specified
77 <string name="stop_label"> 77 </string>
78 Stop 78 <string name="media_hidden_label">
79 </string> 79 (URL hidden by parcel owner)
80 <string name="pause_label"> 80 </string>
81 Pause 81 <string name="media_icon_tooltip_web">
82 </string> 82 This location displays content from the World Wide Web. Click the Play button to display Web content.
83 <string name="default_tooltip_label"> 83 </string>
84 No Media Specified 84 <string name="media_icon_tooltip_movie">
85 </string> 85 This location displays Video content. Click the Play button to play the video.
86 <string name="media_hidden_label"> 86 </string>
87 (URL hidden by parcel owner) 87 <string name="media_play_tooltip">
88 </string> 88 Display Web content at this location.
89 <string name="media_icon_tooltip_web"> 89 </string>
90 This location displays content from the World Wide Web. Click the Play button to display Web content. 90</panel>
91 </string>
92 <string name="media_icon_tooltip_movie">
93 This location displays Video content. Click the Play button to play the video.
94 </string>
95 <string name="media_play_tooltip">
96 Display Web content at this location.
97 </string>
98</panel>