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 | |
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
25 files changed, 491 insertions, 281 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 37c47eb..0afef3a 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt | |||
@@ -1,3 +1,93 @@ | |||
1 | 2009-02-14 McCabe Maxsted <hakushakukun@gmail.com> | ||
2 | |||
3 | * linden/indra/newview/app_settings/settings.xml: | ||
4 | Fixed missing music prompt (streaming now enabled by default). | ||
5 | * linden/indra/newview/llviewerparcelmedia.cpp: | ||
6 | Ditto. | ||
7 | * linden/indra/newview/llviewerparcelmgr.cpp: | ||
8 | Ditto. | ||
9 | * linden/indra/newview/skins/default/xui/en-us/alerts.xml: | ||
10 | Ditto. | ||
11 | |||
12 | * linden/indra/newview/lloverlaybar.cpp: | ||
13 | Fixed music button not toggling on first run. | ||
14 | * linden/indra/newview/lloverlaybar.h: | ||
15 | Ditto. | ||
16 | * linden/indra/newview/llviewerparcelmgr.cpp: | ||
17 | Ditto. | ||
18 | |||
19 | * linden/indra/newview/llmediaremotectrl.cpp: | ||
20 | Removed useless music pause button. | ||
21 | * linden/indra/newview/skins/default/xui/en-us/panel_media_controls.xml: | ||
22 | Ditto. | ||
23 | |||
24 | * linden/indra/newview/llviewergesture.cpp: | ||
25 | Gestures now muted with sounds. | ||
26 | |||
27 | |||
28 | 2009-02-13 McCabe Maxsted <hakushakukun@gmail.com> | ||
29 | |||
30 | * linden/indra/llmedia/llmediaimplgstreamer.cpp: | ||
31 | Removed junk code from GStreamer. | ||
32 | * linden/indra/llmedia/llmediaimplgstreamer.h: | ||
33 | Ditto. | ||
34 | * linden/indra/llmedia/llmediaimplgstreamervidplug.cpp: | ||
35 | Ditto. | ||
36 | |||
37 | * linden/indra/newview/app_settings/settings.xml: | ||
38 | Fixed sound settings not being correctly muted. | ||
39 | * linden/indra/newview/llviewermessage.cpp: | ||
40 | Ditto. | ||
41 | * linden/indra/newview/llviewerobject.cpp: | ||
42 | Ditto. | ||
43 | * linden/indra/newview/llvoavatar.cpp: | ||
44 | Ditto. | ||
45 | |||
46 | |||
47 | Armin Weatherwax <email@unknown.com> | ||
48 | |||
49 | * linden/indra/newview/llpreviewlandmark.cpp: | ||
50 | Removed search for non-existant floater_preview_new_landmark.xml. | ||
51 | |||
52 | |||
53 | Anders Arnholm <anders@arnholm.se> | ||
54 | * linden/indra/llui/lltexteditor.cpp: | ||
55 | Fixed crash in LLTextEditor::findHTML | ||
56 | |||
57 | * linden/indra/llmedia/llmediaimplgstreamer.cpp: | ||
58 | Added artist/title tag info support. | ||
59 | * linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc: | ||
60 | Ditto. | ||
61 | |||
62 | |||
63 | 2009-02-04 McCabe Maxsted <hakushakukun@gmail.com> | ||
64 | |||
65 | * linden/indra/cmake/CopyWinLibs.cmake: | ||
66 | develop.py should now work again under windows. | ||
67 | * linden/indra/cmake/GStreamer.cmake: | ||
68 | Ditto. | ||
69 | * linden/indra/cmake/OPENAL.cmake: | ||
70 | Ditto. | ||
71 | * linden/install.xml: | ||
72 | Ditto. | ||
73 | |||
74 | |||
75 | 2009-02-03 McCabe Maxsted <hakushakukun@gmail.com> | ||
76 | |||
77 | * linden/indra/newview/llviewermenu.cpp: | ||
78 | Fixed llSetTouchText(). | ||
79 | * linden/indra/newview/skins/default/xui/en-us/menu_pie_attachment.xml: | ||
80 | Ditto. | ||
81 | |||
82 | * linden/indra/cmake/CopyWinLibs.cmake: | ||
83 | Updated CMake to RC1. | ||
84 | * linden/indra/cmake/OPENAL.cmake: | ||
85 | Ditto. | ||
86 | * linden/install.xml: | ||
87 | Ditto. | ||
88 | |||
89 | |||
90 | |||
1 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 91 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
2 | =- 1.1.0 RC1 -= | 92 | =- 1.1.0 RC1 -= |
3 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 93 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake index fdfcb3f..e80f0c3 100644 --- a/linden/indra/cmake/CopyWinLibs.cmake +++ b/linden/indra/cmake/CopyWinLibs.cmake | |||
@@ -6,101 +6,177 @@ | |||
6 | 6 | ||
7 | include(CMakeCopyIfDifferent) | 7 | include(CMakeCopyIfDifferent) |
8 | 8 | ||
9 | set(gst_plugin_debug_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/gstreamer-plugins") | 9 | set(gst_plugin_release_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/lib/gstreamer-plugins") |
10 | set(gst_plugin_debug_files | 10 | set(gst_plugin_release_files |
11 | libdshowsrcwrapper.dll | ||
12 | libfsselector.dll | ||
13 | libfsvalve.dll | ||
14 | libgstacmenc.dll | ||
11 | libgstadder.dll | 15 | libgstadder.dll |
12 | libgstalaw.dll | 16 | libgstalaw.dll |
17 | libgstalpha.dll | ||
18 | libgstalphacolor.dll | ||
19 | libgstapp.dll | ||
20 | libgstaudiochunk.dll | ||
13 | libgstaudioconvert.dll | 21 | libgstaudioconvert.dll |
22 | libgstaudiofx.dll | ||
14 | libgstaudiorate.dll | 23 | libgstaudiorate.dll |
15 | libgstaudioresample.dll | 24 | libgstaudioresample.dll |
16 | libgstaudiotestsrc.dll | 25 | libgstaudiotestsrc.dll |
17 | libgstautodetect.dll | 26 | libgstautodetect.dll |
18 | libgstavi.dll | 27 | libgstavi.dll |
28 | libgstcoreelements.dll | ||
19 | libgstcutter.dll | 29 | libgstcutter.dll |
20 | libgstdecodebin2.dll | 30 | libgstdecodebin2.dll |
21 | libgstdecodebin.dll | 31 | libgstdecodebin.dll |
22 | libgstdirectdraw.dll | 32 | libgstdirectdraw.dll |
23 | libgstdirectsound.dll | 33 | libgstdirectsound.dll |
24 | libgsteffectv.dll | 34 | libgstdshowdecwrapper.dll |
35 | libgstdshowsrcwrapper.dll | ||
36 | libgstdshowvideosink.dll | ||
37 | libgstdtmf.dll | ||
25 | libgstffmpeg.dll | 38 | libgstffmpeg.dll |
26 | libgstffmpegcolorspace.dll | 39 | libgstffmpegcolorspace.dll |
40 | libgstflv.dll | ||
27 | libgstgdp.dll | 41 | libgstgdp.dll |
42 | libgsth264parse.dll | ||
43 | libgsticydemux.dll | ||
44 | libgstid3demux.dll | ||
28 | libgstjpeg.dll | 45 | libgstjpeg.dll |
46 | libgstlevel.dll | ||
47 | libgstmad.dll | ||
48 | libgstmms.dll | ||
49 | libgstmpeg2dec.dll | ||
50 | libgstmpegaudioparse.dll | ||
51 | libgstmpegstream.dll | ||
52 | libgstmpegvideoparse.dll | ||
53 | libgstmscodecs.dll | ||
29 | libgstmulaw.dll | 54 | libgstmulaw.dll |
55 | libgstmultipart.dll | ||
56 | libgstneon.dll | ||
30 | libgstogg.dll | 57 | libgstogg.dll |
31 | libgstplaybin.dll | 58 | libgstplaybin.dll |
59 | libgstpng.dll | ||
32 | libgstqtdemux.dll | 60 | libgstqtdemux.dll |
33 | libgstrtp.dll | 61 | libgstqueue2.dll |
62 | libgstrtp.dll | ||
63 | libgstrtpmanager.dll | ||
64 | libgstrtpmuxer.dll | ||
34 | libgstrtsp.dll | 65 | libgstrtsp.dll |
66 | libgstsmpte.dll | ||
35 | libgsttheora.dll | 67 | libgsttheora.dll |
36 | libgsttypefindfunctions.dll | 68 | libgsttypefindfunctions.dll |
37 | libgstudp.dll | 69 | libgstudp.dll |
38 | libgstvideobalance.dll | 70 | libgstvideobalance.dll |
39 | libgstvideobox.dll | 71 | libgstvideobox.dll |
40 | libgstvideocrop.dll | 72 | libgstvideocrop.dll |
41 | libgstvideoflip.dll | ||
42 | libgstvideomixer.dll | 73 | libgstvideomixer.dll |
43 | libgstvideorate.dll | 74 | libgstvideorate.dll |
44 | libgstvideoscale.dll | 75 | libgstvideoscale.dll |
76 | libgstvideosignal.dll | ||
45 | libgstvideotestsrc.dll | 77 | libgstvideotestsrc.dll |
46 | libgstvolume.dll | 78 | libgstvolume.dll |
79 | libgstvolume.dll | ||
47 | libgstvorbis.dll | 80 | libgstvorbis.dll |
81 | libgstwasapi.dll | ||
82 | libgstwavparse.dll | ||
83 | libgstwininet.dll | ||
84 | libgstx264.dll | ||
85 | libgstxvid.dll | ||
48 | ) | 86 | ) |
49 | 87 | ||
50 | copy_if_different( | 88 | copy_if_different( |
51 | ${gst_plugin_debug_dir} | 89 | ${gst_plugin_release_dir} |
52 | "${CMAKE_CURRENT_BINARY_DIR}/Debug/lib/gstreamer-plugins" | 90 | "${CMAKE_CURRENT_BINARY_DIR}/Release/lib/gstreamer-plugins" |
53 | out_targets | 91 | out_targets |
54 | ${gst_plugin_debug_files} | 92 | ${gst_plugin_release_files} |
55 | ) | 93 | ) |
56 | set(all_targets ${all_targets} ${out_targets}) | 94 | set(all_targets ${all_targets} ${out_targets}) |
57 | 95 | ||
58 | set(gst_plugin_release_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/gstreamer-plugins") | 96 | set(gst_plugin_debug_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/lib/gstreamer-plugins") |
59 | set(gst_plugin_release_files | 97 | set(gst_plugin_debug_files |
98 | libdshowsrcwrapper.dll | ||
99 | libfsselector.dll | ||
100 | libfsvalve.dll | ||
101 | libgstacmenc.dll | ||
60 | libgstadder.dll | 102 | libgstadder.dll |
61 | libgstalaw.dll | 103 | libgstalaw.dll |
104 | libgstalpha.dll | ||
105 | libgstalphacolor.dll | ||
106 | libgstapp.dll | ||
107 | libgstaudiochunk.dll | ||
62 | libgstaudioconvert.dll | 108 | libgstaudioconvert.dll |
109 | libgstaudiofx.dll | ||
63 | libgstaudiorate.dll | 110 | libgstaudiorate.dll |
64 | libgstaudioresample.dll | 111 | libgstaudioresample.dll |
65 | libgstaudiotestsrc.dll | 112 | libgstaudiotestsrc.dll |
66 | libgstautodetect.dll | 113 | libgstautodetect.dll |
67 | libgstavi.dll | 114 | libgstavi.dll |
115 | libgstcoreelements.dll | ||
68 | libgstcutter.dll | 116 | libgstcutter.dll |
69 | libgstdecodebin2.dll | 117 | libgstdecodebin2.dll |
70 | libgstdecodebin.dll | 118 | libgstdecodebin.dll |
71 | libgstdirectdraw.dll | 119 | libgstdirectdraw.dll |
72 | libgstdirectsound.dll | 120 | libgstdirectsound.dll |
73 | libgsteffectv.dll | 121 | libgstdshowdecwrapper.dll |
122 | libgstdshowsrcwrapper.dll | ||
123 | libgstdshowvideosink.dll | ||
124 | libgstdtmf.dll | ||
74 | libgstffmpeg.dll | 125 | libgstffmpeg.dll |
75 | libgstffmpegcolorspace.dll | 126 | libgstffmpegcolorspace.dll |
127 | libgstflv.dll | ||
76 | libgstgdp.dll | 128 | libgstgdp.dll |
129 | libgsth264parse.dll | ||
130 | libgsticydemux.dll | ||
131 | libgstid3demux.dll | ||
77 | libgstjpeg.dll | 132 | libgstjpeg.dll |
133 | libgstlevel.dll | ||
134 | libgstmad.dll | ||
135 | libgstmms.dll | ||
136 | libgstmpeg2dec.dll | ||
137 | libgstmpegaudioparse.dll | ||
138 | libgstmpegstream.dll | ||
139 | libgstmpegvideoparse.dll | ||
140 | libgstmscodecs.dll | ||
78 | libgstmulaw.dll | 141 | libgstmulaw.dll |
142 | libgstmultipart.dll | ||
143 | libgstneon.dll | ||
79 | libgstogg.dll | 144 | libgstogg.dll |
80 | libgstplaybin.dll | 145 | libgstplaybin.dll |
146 | libgstpng.dll | ||
81 | libgstqtdemux.dll | 147 | libgstqtdemux.dll |
82 | libgstrtp.dll | 148 | libgstqueue2.dll |
149 | libgstrtp.dll | ||
150 | libgstrtpmanager.dll | ||
151 | libgstrtpmuxer.dll | ||
83 | libgstrtsp.dll | 152 | libgstrtsp.dll |
153 | libgstsmpte.dll | ||
84 | libgsttheora.dll | 154 | libgsttheora.dll |
85 | libgsttypefindfunctions.dll | 155 | libgsttypefindfunctions.dll |
86 | libgstudp.dll | 156 | libgstudp.dll |
87 | libgstvideobalance.dll | 157 | libgstvideobalance.dll |
88 | libgstvideobox.dll | 158 | libgstvideobox.dll |
89 | libgstvideocrop.dll | 159 | libgstvideocrop.dll |
90 | libgstvideoflip.dll | ||
91 | libgstvideomixer.dll | 160 | libgstvideomixer.dll |
92 | libgstvideorate.dll | 161 | libgstvideorate.dll |
93 | libgstvideoscale.dll | 162 | libgstvideoscale.dll |
163 | libgstvideosignal.dll | ||
94 | libgstvideotestsrc.dll | 164 | libgstvideotestsrc.dll |
95 | libgstvolume.dll | 165 | libgstvolume.dll |
166 | libgstvolume.dll | ||
96 | libgstvorbis.dll | 167 | libgstvorbis.dll |
168 | libgstwasapi.dll | ||
169 | libgstwavparse.dll | ||
170 | libgstwininet.dll | ||
171 | libgstx264.dll | ||
172 | libgstxvid.dll | ||
97 | ) | 173 | ) |
98 | 174 | ||
99 | copy_if_different( | 175 | copy_if_different( |
100 | ${gst_plugin_release_dir} | 176 | ${gst_plugin_debug_dir} |
101 | "${CMAKE_CURRENT_BINARY_DIR}/Release/lib/gstreamer-plugins" | 177 | "${CMAKE_CURRENT_BINARY_DIR}/Debug/lib/gstreamer-plugins" |
102 | out_targets | 178 | out_targets |
103 | ${gst_plugin_release_files} | 179 | ${gst_plugin_debug_files} |
104 | ) | 180 | ) |
105 | set(all_targets ${all_targets} ${out_targets}) | 181 | set(all_targets ${all_targets} ${out_targets}) |
106 | 182 | ||
@@ -108,11 +184,8 @@ set(vivox_src_dir "${CMAKE_SOURCE_DIR}/newview/vivox-runtime/i686-win32") | |||
108 | set(vivox_files | 184 | set(vivox_files |
109 | tntk.dll | 185 | tntk.dll |
110 | libeay32.dll | 186 | libeay32.dll |
111 | SLVoice.exe | ||
112 | ssleay32.dll | 187 | ssleay32.dll |
113 | SLVoiceAgent.exe | ||
114 | srtp.dll | 188 | srtp.dll |
115 | vivoxsdk.dll | ||
116 | ortp.dll | 189 | ortp.dll |
117 | wrap_oal.dll | 190 | wrap_oal.dll |
118 | ) | 191 | ) |
@@ -338,4 +411,4 @@ if (MSVC80) | |||
338 | endif (EXISTS ${release_msvc8_redist_path}) | 411 | endif (EXISTS ${release_msvc8_redist_path}) |
339 | endif (MSVC80) | 412 | endif (MSVC80) |
340 | 413 | ||
341 | add_custom_target(copy_win_libs ALL DEPENDS ${all_targets}) | 414 | add_custom_target(copy_win_libs ALL DEPENDS ${all_targets}) \ No newline at end of file |
diff --git a/linden/indra/cmake/GStreamer.cmake b/linden/indra/cmake/GStreamer.cmake index fc256a8..b4b984d 100644 --- a/linden/indra/cmake/GStreamer.cmake +++ b/linden/indra/cmake/GStreamer.cmake | |||
@@ -10,6 +10,8 @@ include(Prebuilt) | |||
10 | if (WINDOWS) | 10 | if (WINDOWS) |
11 | 11 | ||
12 | use_prebuilt_binary(libxml) | 12 | use_prebuilt_binary(libxml) |
13 | use_prebuilt_binary(iconv) | ||
14 | use_prebuilt_binary(gstreamer-plugins) | ||
13 | set(GSTREAMER_FOUND ON FORCE BOOL) | 15 | set(GSTREAMER_FOUND ON FORCE BOOL) |
14 | set(GSTREAMER_INCLUDE_DIRS | 16 | set(GSTREAMER_INCLUDE_DIRS |
15 | ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib | 17 | ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib |
diff --git a/linden/indra/cmake/OPENAL.cmake b/linden/indra/cmake/OPENAL.cmake index a2bae5d..5e71f66 100644 --- a/linden/indra/cmake/OPENAL.cmake +++ b/linden/indra/cmake/OPENAL.cmake | |||
@@ -9,11 +9,19 @@ if (OPENAL) | |||
9 | 9 | ||
10 | # OPENAL_LIB | 10 | # OPENAL_LIB |
11 | 11 | ||
12 | if (WINDOWS) | ||
12 | find_library(OPENAL_LIB | 13 | find_library(OPENAL_LIB |
13 | NAMES openal OpenAL OpenAL32 wrap_oal | 14 | NAMES openal openal32 OpenAL OpenAL32 wrap_oal |
14 | PATHS ${ARCH_PREBUILT_DIRS_RELEASE} | 15 | PATHS ${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release |
15 | ) | 16 | ) |
16 | 17 | ||
18 | else (WINDOWS) | ||
19 | find_library(OPENAL_LIB | ||
20 | NAMES openal openal32 OpenAL OpenAL32 wrap_oal | ||
21 | PATHS ${ARCH_PREBUILT_DIRS_RELEASE} | ||
22 | ) | ||
23 | endif (WINDOWS) | ||
24 | |||
17 | if (NOT OPENAL_LIB) | 25 | if (NOT OPENAL_LIB) |
18 | message(FATAL_ERROR "OpenAL not found!") | 26 | message(FATAL_ERROR "OpenAL not found!") |
19 | else (NOT OPENAL_LIB) | 27 | else (NOT OPENAL_LIB) |
@@ -26,7 +34,7 @@ if (OPENAL) | |||
26 | 34 | ||
27 | find_path(OPENAL_INCLUDE_DIR | 35 | find_path(OPENAL_INCLUDE_DIR |
28 | NAMES al.h | 36 | NAMES al.h |
29 | PATHS ${LIBS_PREBUILT_DIR}/include /usr/include/AL | 37 | PATHS ${LIBS_PREBUILT_DIR}/include/AL /usr/include/AL |
30 | ) | 38 | ) |
31 | 39 | ||
32 | if (NOT OPENAL_INCLUDE_DIR) | 40 | if (NOT OPENAL_INCLUDE_DIR) |
@@ -39,10 +47,18 @@ if (OPENAL) | |||
39 | 47 | ||
40 | # ALUT_LIB | 48 | # ALUT_LIB |
41 | 49 | ||
50 | if (WINDOWS) | ||
51 | find_library(ALUT_LIB | ||
52 | NAMES alut freealut | ||
53 | PATHS ${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release | ||
54 | ) | ||
55 | |||
56 | else (WINDOWS) | ||
42 | find_library(ALUT_LIB | 57 | find_library(ALUT_LIB |
43 | NAMES alut freealut | 58 | NAMES alut freealut |
44 | PATHS ${ARCH_PREBUILT_DIRS_RELEASE} | 59 | PATHS ${ARCH_PREBUILT_DIRS_RELEASE} |
45 | ) | 60 | ) |
61 | endif (WINDOWS) | ||
46 | 62 | ||
47 | if (NOT ALUT_LIB) | 63 | if (NOT ALUT_LIB) |
48 | message(FATAL_ERROR "ALUT not found!") | 64 | message(FATAL_ERROR "ALUT not found!") |
@@ -56,7 +72,7 @@ if (OPENAL) | |||
56 | 72 | ||
57 | find_path(ALUT_INCLUDE_DIR | 73 | find_path(ALUT_INCLUDE_DIR |
58 | NAMES alut.h | 74 | NAMES alut.h |
59 | PATHS ${LIBS_PREBUILT_DIR}/include /usr/include/AL | 75 | PATHS ${LIBS_PREBUILT_DIR}/include/AL /usr/include/AL |
60 | ) | 76 | ) |
61 | 77 | ||
62 | if (NOT ALUT_INCLUDE_DIR) | 78 | if (NOT ALUT_INCLUDE_DIR) |
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp index 18afc45..bae8ad9 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp | |||
@@ -43,10 +43,6 @@ extern "C" { | |||
43 | 43 | ||
44 | #include "llmediaimplgstreamervidplug.h" | 44 | #include "llmediaimplgstreamervidplug.h" |
45 | 45 | ||
46 | #ifdef LL_GST_SOUNDSINK | ||
47 | #include "llmediaimplgstreamersndplug.h" | ||
48 | #endif // LL_GST_SOUNDSINK | ||
49 | |||
50 | #include "llmediaimplgstreamer_syms.h" | 46 | #include "llmediaimplgstreamer_syms.h" |
51 | 47 | ||
52 | #include "llerror.h" | 48 | #include "llerror.h" |
@@ -77,9 +73,6 @@ LLMediaImplGStreamer () : | |||
77 | mPlaybin ( NULL ), | 73 | mPlaybin ( NULL ), |
78 | mVideoSink ( NULL ), | 74 | mVideoSink ( NULL ), |
79 | mState( GST_STATE_NULL ) | 75 | mState( GST_STATE_NULL ) |
80 | #ifdef LL_GST_SOUNDSINK | ||
81 | ,mAudioSink ( NULL ) | ||
82 | #endif // LL_GST_SOUNDSINK | ||
83 | { | 76 | { |
84 | LL_DEBUGS("MediaManager") << "constructing media..." << LL_ENDL; | 77 | LL_DEBUGS("MediaManager") << "constructing media..." << LL_ENDL; |
85 | mVolume = -1.0; // XXX Hack to make the vould change happend first time | 78 | mVolume = -1.0; // XXX Hack to make the vould change happend first time |
@@ -115,21 +108,6 @@ LLMediaImplGStreamer () : | |||
115 | } | 108 | } |
116 | 109 | ||
117 | g_object_set(mPlaybin, "video-sink", mVideoSink, NULL); | 110 | g_object_set(mPlaybin, "video-sink", mVideoSink, NULL); |
118 | |||
119 | #ifdef LL_GST_SOUNDSINK | ||
120 | LL_DEBUGS("MediaManager") << "extrenal audio sink..." << LL_ENDL; | ||
121 | // instantiate and connect a custom audio sink | ||
122 | mAudioSink = | ||
123 | GST_SLSOUND(llgst_element_factory_make ("private-slsound", "slsound")); | ||
124 | if (!mAudioSink) | ||
125 | { | ||
126 | LL_WARN("MediaImpl") << "Could not instantiate private-slsound element." << LL_ENDL; | ||
127 | // todo: cleanup. | ||
128 | return; // error | ||
129 | } | ||
130 | |||
131 | g_object_set(mPlaybin, "audio-sink", mAudioSink, NULL); | ||
132 | #endif | ||
133 | } | 111 | } |
134 | } | 112 | } |
135 | 113 | ||
@@ -210,9 +188,6 @@ bool LLMediaImplGStreamer::startup (LLMediaManagerData* init_data) | |||
210 | 188 | ||
211 | // Init our custom plugins - only really need do this once. | 189 | // Init our custom plugins - only really need do this once. |
212 | gst_slvideo_init_class(); | 190 | gst_slvideo_init_class(); |
213 | #if 0 | ||
214 | gst_slsound_init_class(); | ||
215 | #endif | ||
216 | 191 | ||
217 | done_init = true; | 192 | done_init = true; |
218 | } | 193 | } |
@@ -360,7 +335,6 @@ gboolean LLMediaImplGStreamer::bus_callback(GstBus *bus, GstMessage *message, gp | |||
360 | } | 335 | } |
361 | case GST_MESSAGE_TAG: | 336 | case GST_MESSAGE_TAG: |
362 | { | 337 | { |
363 | #if 0 | ||
364 | GstTagList *tag_list; | 338 | GstTagList *tag_list; |
365 | gchar *title; | 339 | gchar *title; |
366 | gchar *artist; | 340 | gchar *artist; |
@@ -370,10 +344,9 @@ gboolean LLMediaImplGStreamer::bus_callback(GstBus *bus, GstMessage *message, gp | |||
370 | gboolean hazArtist = llgst_tag_list_get_string(tag_list, | 344 | gboolean hazArtist = llgst_tag_list_get_string(tag_list, |
371 | GST_TAG_ARTIST, &artist); | 345 | GST_TAG_ARTIST, &artist); |
372 | if(hazTitle) | 346 | if(hazTitle) |
373 | LL_INFOS("MediaInfo") << "Title is " << title << LL_ENDL; | 347 | LL_INFOS("MediaInfo") << "Title: " << title << LL_ENDL; |
374 | if(hazArtist) | 348 | if(hazArtist) |
375 | LL_INFOS("MediaInfo") << "Artist is " << artist << LL_ENDL; | 349 | LL_INFOS("MediaInfo") << "Artist: " << artist << LL_ENDL; |
376 | #endif | ||
377 | break; | 350 | break; |
378 | } | 351 | } |
379 | case GST_MESSAGE_EOS: | 352 | case GST_MESSAGE_EOS: |
@@ -412,9 +385,6 @@ bool LLMediaImplGStreamer::navigateTo (const std::string urlIn) | |||
412 | << LL_ENDL; | 385 | << LL_ENDL; |
413 | 386 | ||
414 | if (NULL == mPump | 387 | if (NULL == mPump |
415 | #ifdef LL_GST_SOUNDSINK | ||
416 | || NULL == mAudioSink | ||
417 | #endif | ||
418 | || NULL == mPlaybin) | 388 | || NULL == mPlaybin) |
419 | { | 389 | { |
420 | return false; | 390 | return false; |
@@ -479,9 +449,6 @@ bool LLMediaImplGStreamer::updateMedia() | |||
479 | 449 | ||
480 | // sanity check | 450 | // sanity check |
481 | if (NULL == mPump | 451 | if (NULL == mPump |
482 | #ifdef LL_GST_SOUNDSINK | ||
483 | || NULL == mAudioSink | ||
484 | #endif | ||
485 | || NULL == mPlaybin) | 452 | || NULL == mPlaybin) |
486 | { | 453 | { |
487 | #ifdef LL_GST_REPORT_STATE_CHANGES | 454 | #ifdef LL_GST_REPORT_STATE_CHANGES |
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.h b/linden/indra/llmedia/llmediaimplgstreamer.h index 4b9353b..5b493ad 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.h +++ b/linden/indra/llmedia/llmediaimplgstreamer.h | |||
@@ -31,7 +31,7 @@ | |||
31 | */ | 31 | */ |
32 | 32 | ||
33 | // header guard | 33 | // header guard |
34 | ///#ifndef llmediaimplgstreamer_h | 34 | #ifndef llmediaimplgstreamer_h |
35 | #define llmediaimplgstreamer_h | 35 | #define llmediaimplgstreamer_h |
36 | 36 | ||
37 | #include "llmediaimplcommon.h" | 37 | #include "llmediaimplcommon.h" |
@@ -42,14 +42,12 @@ | |||
42 | extern "C" { | 42 | extern "C" { |
43 | #include <stdio.h> | 43 | #include <stdio.h> |
44 | #include <gst/gst.h> | 44 | #include <gst/gst.h> |
45 | #include <apr_pools.h> | 45 | |
46 | #include <apr_dso.h> | 46 | #include "apr_pools.h" |
47 | #include "apr_dso.h" | ||
47 | } | 48 | } |
48 | 49 | ||
49 | #include "llmediaimplgstreamervidplug.h" | 50 | #include "llmediaimplgstreamervidplug.h" |
50 | #ifdef LL_GST_SOUNDSINK | ||
51 | #include "llmediaimplgstreamersndplug.h" | ||
52 | #endif // LL_GST_SOUNDSINK | ||
53 | 51 | ||
54 | class LLMediaManagerData; | 52 | class LLMediaManagerData; |
55 | class LLMediaImplMaker; | 53 | class LLMediaImplMaker; |
@@ -100,9 +98,6 @@ class LLMediaImplGStreamer: | |||
100 | GstElement *mPlaybin; | 98 | GstElement *mPlaybin; |
101 | GstSLVideo *mVideoSink; | 99 | GstSLVideo *mVideoSink; |
102 | GstState mState; | 100 | GstState mState; |
103 | #ifdef LL_GST_SOUNDSINK | ||
104 | GstSLSound *mAudioSink; | ||
105 | #endif // LL_GST_SOUNDSINK | ||
106 | GstState getState() const { return mState; } | 101 | GstState getState() const { return mState; } |
107 | }; | 102 | }; |
108 | 103 | ||
@@ -132,4 +127,4 @@ public: | |||
132 | 127 | ||
133 | ///#endif // LL_GSTREAMER_ENABLED | 128 | ///#endif // LL_GSTREAMER_ENABLED |
134 | 129 | ||
135 | ///#endif // llmediaimplgstreamer_h | 130 | #endif // llmediaimplgstreamer_h |
diff --git a/linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc b/linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc index 08ba6df..e17a7a0 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc +++ b/linden/indra/llmedia/llmediaimplgstreamer_syms_raw.inc | |||
@@ -40,3 +40,7 @@ LL_GST_SYM(true, gst_element_seek, bool, GstElement *, gdouble, GstFormat, GstSe | |||
40 | LL_GST_SYM(false, gst_segtrap_set_enabled, void, gboolean enabled); | 40 | LL_GST_SYM(false, gst_segtrap_set_enabled, void, gboolean enabled); |
41 | LL_GST_SYM(false, gst_message_parse_buffering, void, GstMessage *message, gint *percent); | 41 | LL_GST_SYM(false, gst_message_parse_buffering, void, GstMessage *message, gint *percent); |
42 | LL_GST_SYM(false, gst_message_parse_info, void, GstMessage *message, GError **gerror, gchar **debug); | 42 | LL_GST_SYM(false, gst_message_parse_info, void, GstMessage *message, GError **gerror, gchar **debug); |
43 | |||
44 | //aw tag infos (Artist, Title, ...tbc...) | ||
45 | LL_GST_SYM(true, gst_message_parse_tag, void, GstMessage *message, GstTagList **tag_list); | ||
46 | LL_GST_SYM(true, gst_tag_list_get_string, gboolean, const GstTagList *list, const gchar *tag, gchar **value); | ||
diff --git a/linden/indra/llmedia/llmediaimplgstreamervidplug.cpp b/linden/indra/llmedia/llmediaimplgstreamervidplug.cpp index 892c50d..c95ef36 100644 --- a/linden/indra/llmedia/llmediaimplgstreamervidplug.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamervidplug.cpp | |||
@@ -68,10 +68,8 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ( | |||
68 | GST_STATIC_CAPS (SLV_ALLCAPS) | 68 | GST_STATIC_CAPS (SLV_ALLCAPS) |
69 | ); | 69 | ); |
70 | 70 | ||
71 | GST_BOILERPLATE (GstSLVideo, | 71 | GST_BOILERPLATE (GstSLVideo, gst_slvideo, GstVideoSink, |
72 | gst_slvideo, | 72 | GST_TYPE_VIDEO_SINK); |
73 | GstVideoSink, | ||
74 | GST_TYPE_VIDEO_SINK); | ||
75 | 73 | ||
76 | static void gst_slvideo_set_property (GObject * object, guint prop_id, | 74 | static void gst_slvideo_set_property (GObject * object, guint prop_id, |
77 | const GValue * value, | 75 | const GValue * value, |
diff --git a/linden/indra/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp index 72d8f17..714ee7c 100644 --- a/linden/indra/llui/lltexteditor.cpp +++ b/linden/indra/llui/lltexteditor.cpp | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include "lltexteditor.h" | 36 | #include "lltexteditor.h" |
37 | 37 | ||
38 | #include "llerror.h" | ||
38 | #include "llfontgl.h" | 39 | #include "llfontgl.h" |
39 | #include "llrender.h" | 40 | #include "llrender.h" |
40 | #include "llui.h" | 41 | #include "llui.h" |
@@ -57,6 +58,7 @@ | |||
57 | #include "llimagegl.h" | 58 | #include "llimagegl.h" |
58 | #include "llwindow.h" | 59 | #include "llwindow.h" |
59 | #include <queue> | 60 | #include <queue> |
61 | #include <stdexcept> | ||
60 | 62 | ||
61 | // | 63 | // |
62 | // Globals | 64 | // Globals |
@@ -3537,6 +3539,7 @@ void LLTextEditor::appendStyledText(const std::string &new_text, | |||
3537 | std::string text = new_text; | 3539 | std::string text = new_text; |
3538 | while ( findHTML(text, &start, &end) ) | 3540 | while ( findHTML(text, &start, &end) ) |
3539 | { | 3541 | { |
3542 | |||
3540 | LLStyleSP html(new LLStyle); | 3543 | LLStyleSP html(new LLStyle); |
3541 | html->setVisible(true); | 3544 | html->setVisible(true); |
3542 | html->setColor(mLinkColor); | 3545 | html->setColor(mLinkColor); |
@@ -3624,10 +3627,6 @@ void LLTextEditor::appendText(const std::string &new_text, bool allow_undo, bool | |||
3624 | { | 3627 | { |
3625 | mSelectionStart = selection_start; | 3628 | mSelectionStart = selection_start; |
3626 | mSelectionEnd = selection_end; | 3629 | mSelectionEnd = selection_end; |
3627 | |||
3628 | |||
3629 | |||
3630 | |||
3631 | mIsSelecting = was_selecting; | 3630 | mIsSelecting = was_selecting; |
3632 | setCursorPos(cursor_pos); | 3631 | setCursorPos(cursor_pos); |
3633 | } | 3632 | } |
@@ -4272,6 +4271,7 @@ S32 LLTextEditor::findHTMLToken(const std::string &line, S32 pos, BOOL reverse) | |||
4272 | return index+1; | 4271 | return index+1; |
4273 | } | 4272 | } |
4274 | } | 4273 | } |
4274 | index = 0; // Can't be before first charater | ||
4275 | } | 4275 | } |
4276 | else | 4276 | else |
4277 | { | 4277 | { |
@@ -4322,21 +4322,34 @@ BOOL LLTextEditor::findHTML(const std::string &line, S32 *begin, S32 *end) const | |||
4322 | { | 4322 | { |
4323 | *begin = findHTMLToken(line, m1, TRUE); | 4323 | *begin = findHTMLToken(line, m1, TRUE); |
4324 | *end = findHTMLToken(line, m1, FALSE); | 4324 | *end = findHTMLToken(line, m1, FALSE); |
4325 | |||
4326 | // Can't start before the first char | ||
4327 | if(*begin < 0) | ||
4328 | { | ||
4329 | //*begin = 0; | ||
4330 | } | ||
4325 | 4331 | ||
4326 | //Load_url only handles http and https so don't hilite ftp, smb, etc. | 4332 | //Load_url only handles http and https so don't hilite ftp, smb, etc. |
4327 | m2 = line.substr(*begin,(m1 - *begin)).find("http"); | 4333 | try |
4328 | m3 = line.substr(*begin,(m1 - *begin)).find("secondlife"); | ||
4329 | |||
4330 | std::string badneighbors=".,<>?';\"][}{=-+_)(*&^%$#@!~`\t\r\n\\"; | ||
4331 | |||
4332 | if (m2 >= 0 || m3>=0) | ||
4333 | { | 4334 | { |
4334 | S32 bn = badneighbors.find(line.substr(m1+3,1)); | 4335 | m2 = line.substr(*begin,(m1 - *begin)).find("http"); |
4335 | 4336 | m3 = line.substr(*begin,(m1 - *begin)).find("secondlife"); | |
4336 | if (bn < 0) | 4337 | |
4337 | { | 4338 | std::string badneighbors=".,<>?';\"][}{=-+_)(*&^%$#@!~`\t\r\n\\"; |
4338 | matched = TRUE; | 4339 | |
4340 | if (m2 >= 0 || m3>=0) | ||
4341 | { | ||
4342 | S32 bn = badneighbors.find(line.substr(m1+3,1)); | ||
4343 | |||
4344 | if (bn < 0) | ||
4345 | { | ||
4346 | matched = TRUE; | ||
4347 | } | ||
4339 | } | 4348 | } |
4349 | } | ||
4350 | catch ( std::out_of_range outOfRange ) | ||
4351 | { | ||
4352 | LL_WARNS("TextEditor") << "got std::out_of_range exception \"" << line << "\"" << LL_ENDL; | ||
4340 | } | 4353 | } |
4341 | } | 4354 | } |
4342 | /* matches things like secondlife.com (no http://) needs a whitelist to really be effective. | 4355 | /* matches things like secondlife.com (no http://) needs a whitelist to really be effective. |
@@ -4369,41 +4382,49 @@ BOOL LLTextEditor::findHTML(const std::string &line, S32 *begin, S32 *end) const | |||
4369 | { | 4382 | { |
4370 | S32 strpos, strpos2; | 4383 | S32 strpos, strpos2; |
4371 | 4384 | ||
4372 | std::string url = line.substr(*begin,*end - *begin); | 4385 | try |
4373 | std::string slurlID = "slurl.com/secondlife/"; | ||
4374 | strpos = url.find(slurlID); | ||
4375 | |||
4376 | if (strpos < 0) | ||
4377 | { | 4386 | { |
4378 | slurlID="secondlife://"; | 4387 | std::string url = line.substr(*begin,*end - *begin); |
4379 | strpos = url.find(slurlID); | 4388 | std::string slurlID = "slurl.com/secondlife/"; |
4380 | } | 4389 | strpos = url.find(slurlID); |
4381 | 4390 | ||
4382 | if (strpos < 0) | 4391 | if (strpos < 0) |
4383 | { | 4392 | { |
4384 | slurlID="sl://"; | 4393 | slurlID="secondlife://"; |
4385 | strpos = url.find(slurlID); | 4394 | strpos = url.find(slurlID); |
4386 | } | 4395 | } |
4387 | 4396 | ||
4388 | if (strpos >= 0) | 4397 | if (strpos < 0) |
4389 | { | 4398 | { |
4390 | strpos+=slurlID.length(); | 4399 | slurlID="sl://"; |
4391 | 4400 | strpos = url.find(slurlID); | |
4392 | while ( ( strpos2=url.find("/",strpos) ) == -1 ) | 4401 | } |
4393 | { | 4402 | |
4394 | if ((*end+2) >= (S32)line.length() || line.substr(*end,1) != " " ) | 4403 | if (strpos >= 0) |
4404 | { | ||
4405 | strpos+=slurlID.length(); | ||
4406 | |||
4407 | while ( ( strpos2=url.find("/",strpos) ) == -1 ) | ||
4395 | { | 4408 | { |
4396 | matched=FALSE; | 4409 | if ((*end+2) >= (S32)line.length() || line.substr(*end,1) != " " ) |
4397 | break; | 4410 | { |
4411 | matched=FALSE; | ||
4412 | break; | ||
4413 | } | ||
4414 | |||
4415 | strpos = (*end + 1) - *begin; | ||
4416 | |||
4417 | *end = findHTMLToken(line,(*begin + strpos),FALSE); | ||
4418 | url = line.substr(*begin,*end - *begin); | ||
4398 | } | 4419 | } |
4399 | 4420 | } | |
4400 | strpos = (*end + 1) - *begin; | 4421 | |
4401 | |||
4402 | *end = findHTMLToken(line,(*begin + strpos),FALSE); | ||
4403 | url = line.substr(*begin,*end - *begin); | ||
4404 | } | ||
4405 | } | 4422 | } |
4406 | 4423 | ||
4424 | catch ( std::out_of_range outOfRange ) | ||
4425 | { | ||
4426 | LL_WARNS("TextEditor") << "got std::out_of_range exception \"" << line << "\"" << LL_ENDL; | ||
4427 | } | ||
4407 | } | 4428 | } |
4408 | 4429 | ||
4409 | if (!matched) | 4430 | if (!matched) |
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> | ||
diff --git a/linden/install.xml b/linden/install.xml index 4e66880..7527eec 100644 --- a/linden/install.xml +++ b/linden/install.xml | |||
@@ -393,7 +393,7 @@ | |||
393 | <key>windows</key> | 393 | <key>windows</key> |
394 | <map> | 394 | <map> |
395 | <key>md5sum</key> | 395 | <key>md5sum</key> |
396 | <string>B6B8B7A2CEB038C31BAD0EE4A1FBDF41</string> | 396 | <string>d5bfaa397dfbfc893603ad047c57604d</string> |
397 | <key>url</key> | 397 | <key>url</key> |
398 | <uri>http://imprudence.s3.amazonaws.com/extras/glib-2.18.3.1-windows-01262009.tar.bz2</uri> | 398 | <uri>http://imprudence.s3.amazonaws.com/extras/glib-2.18.3.1-windows-01262009.tar.bz2</uri> |
399 | </map> | 399 | </map> |
@@ -430,7 +430,7 @@ | |||
430 | <key>windows</key> | 430 | <key>windows</key> |
431 | <map> | 431 | <map> |
432 | <key>md5sum</key> | 432 | <key>md5sum</key> |
433 | <string>F4005971943595712212C4E0B9418DB5</string> | 433 | <string>0fd4d4a96efaf8b47d6cc74e7a927800</string> |
434 | <key>url</key> | 434 | <key>url</key> |
435 | <uri>http://imprudence.s3.amazonaws.com/extras/gstreamer-0.10.21-windows-01262009.tar.bz2</uri> | 435 | <uri>http://imprudence.s3.amazonaws.com/extras/gstreamer-0.10.21-windows-01262009.tar.bz2</uri> |
436 | </map> | 436 | </map> |
@@ -445,9 +445,9 @@ | |||
445 | <key>windows</key> | 445 | <key>windows</key> |
446 | <map> | 446 | <map> |
447 | <key>md5sum</key> | 447 | <key>md5sum</key> |
448 | <string>51C077A953620D9E55AFCAB0FEAE56FC</string> | 448 | <string>d69f66f4698c5608c86d1a108e3a2d1f</string> |
449 | <key>url</key> | 449 | <key>url</key> |
450 | <uri>http://imprudence.s3.amazonaws.com/extras/gstreamer-plugins-windows-01262009.tar.bz2</uri> | 450 | <uri>http://imprudence.s3.amazonaws.com/extras/gstreamer-plugins-windows-01312009.tar.bz2</uri> |
451 | </map> | 451 | </map> |
452 | </map> | 452 | </map> |
453 | </map> | 453 | </map> |
@@ -519,7 +519,7 @@ | |||
519 | <key>windows</key> | 519 | <key>windows</key> |
520 | <map> | 520 | <map> |
521 | <key>md5sum</key> | 521 | <key>md5sum</key> |
522 | <string>F20BDA1058BFD3AF7AC2C23EB3FD7F12</string> | 522 | <string>055ff15814c5f5cc09b0a9891ca7c90a</string> |
523 | <key>url</key> | 523 | <key>url</key> |
524 | <uri>http://imprudence.s3.amazonaws.com/extras/iconv-1.9.2-windows-01262009.tar.bz2</uri> | 524 | <uri>http://imprudence.s3.amazonaws.com/extras/iconv-1.9.2-windows-01262009.tar.bz2</uri> |
525 | </map> | 525 | </map> |
@@ -679,7 +679,7 @@ anguage Infrstructure (CLI) international standard</string> | |||
679 | <key>windows</key> | 679 | <key>windows</key> |
680 | <map> | 680 | <map> |
681 | <key>md5sum</key> | 681 | <key>md5sum</key> |
682 | <string>E8DACED68B2165918B82C771D3480AA2</string> | 682 | <string>d96f950a877836b644f5bd047eb52151</string> |
683 | <key>url</key> | 683 | <key>url</key> |
684 | <uri>http://imprudence.s3.amazonaws.com/extras/libxml2-2.7.2-windows-01262009.tar.bz2</uri> | 684 | <uri>http://imprudence.s3.amazonaws.com/extras/libxml2-2.7.2-windows-01262009.tar.bz2</uri> |
685 | </map> | 685 | </map> |
@@ -855,7 +855,7 @@ anguage Infrstructure (CLI) international standard</string> | |||
855 | <key>windows</key> | 855 | <key>windows</key> |
856 | <map> | 856 | <map> |
857 | <key>md5sum</key> | 857 | <key>md5sum</key> |
858 | <string>80C8AA77BDE113635FEABCD0E342F3C0</string> | 858 | <string>7c33758dc0a047c244de03133dd76c2a</string> |
859 | <key>url</key> | 859 | <key>url</key> |
860 | <uri>http://imprudence.s3.amazonaws.com/extras/openal-soft-1.6.372-windows-01262009.tar.bz2</uri> | 860 | <uri>http://imprudence.s3.amazonaws.com/extras/openal-soft-1.6.372-windows-01262009.tar.bz2</uri> |
861 | </map> | 861 | </map> |