diff options
author | Jacek Antonelli | 2009-02-15 19:58:57 -0600 |
---|---|---|
committer | Jacek Antonelli | 2009-02-15 20:06:17 -0600 |
commit | 7552080406d6c54e981d2e26f3826e7457cdd5fb (patch) | |
tree | e613b774b600367635484fd71770c7984e720576 /linden/indra/newview | |
parent | Updated release notes for 1.1.0 RC1. (diff) | |
parent | Merge branch '1.1.0-RC1-fixes' into next (diff) | |
download | meta-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.xml | 6 | ||||
-rw-r--r-- | linden/indra/newview/llmediaremotectrl.cpp | 20 | ||||
-rw-r--r-- | linden/indra/newview/lloverlaybar.cpp | 7 | ||||
-rw-r--r-- | linden/indra/newview/lloverlaybar.h | 3 | ||||
-rw-r--r-- | linden/indra/newview/llpreviewlandmark.cpp | 10 | ||||
-rw-r--r-- | linden/indra/newview/llviewergesture.cpp | 3 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenu.cpp | 26 | ||||
-rw-r--r-- | linden/indra/newview/llviewermessage.cpp | 4 | ||||
-rw-r--r-- | linden/indra/newview/llviewerobject.cpp | 6 | ||||
-rw-r--r-- | linden/indra/newview/llviewerparcelmedia.cpp | 8 | ||||
-rw-r--r-- | linden/indra/newview/llviewerparcelmgr.cpp | 22 | ||||
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 13 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/alerts.xml | 36 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml | 4 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml | 188 |
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 |
364 | void LLOverlayBar::musicFirstRun() | ||
365 | { | ||
366 | gOverlayBar->mMusicState = PLAYING; | ||
367 | } | ||
368 | |||
369 | //static | ||
363 | void LLOverlayBar::toggleMusicPlay(void*) | 370 | void 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 | ||
85 | protected: | 88 | protected: |
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 |
51 | LLViewerGestureList gGestureList; | 52 | LLViewerGestureList gGestureList; |
52 | 53 | ||
53 | const F32 LLViewerGesture::SOUND_VOLUME = 1.f; | 54 | const F32 LLViewerGesture::SOUND_VOLUME = gSavedSettings.getBOOL("MuteSounds") ? 0.f : 1.f; |
54 | 55 | ||
55 | LLViewerGesture::LLViewerGesture() | 56 | LLViewerGesture::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 | ||
1608 | class 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 | |||
1608 | bool handle_object_open() | 1633 | bool 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 | ||
385 | void callback_play_media(S32 option, void* data) | 385 | void 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 | ||
1693 | void optionally_start_music(const std::string& music_url) | 1693 | void 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 | |||
1715 | void 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 |
1710 | void LLViewerParcelMgr::processParcelAccessListReply(LLMessageSystem *msg, void **user) | 1730 | void 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. |
1899 | Streaming media requires a fast Internet connection. | 1899 | (Requires a fast Internet connection.) |
1900 | 1900 | ||
1901 | Play streaming media when available? | 1901 | Play streaming music now? |
1902 | (You can change this option later under | 1902 | </message> |
1903 | Preferences > Audio & 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> | ||