diff --git a/indra/llaudio/llaudioengine_fmodstudio.cpp b/indra/llaudio/llaudioengine_fmodstudio.cpp index 6743496cdc..f91622227b 100644 --- a/indra/llaudio/llaudioengine_fmodstudio.cpp +++ b/indra/llaudio/llaudioengine_fmodstudio.cpp @@ -59,11 +59,11 @@ static inline bool Check_FMOD_Error(FMOD_RESULT result, const char *string) if (result != FMOD_ERR_INVALID_HANDLE) { - LL_WARNS() << string << " Error: " << FMOD_ErrorString(result) << LL_ENDL; + LL_WARNS("FMOD") << string << " Error: " << FMOD_ErrorString(result) << LL_ENDL; } else { - LL_DEBUGS() << string << " Error: " << FMOD_ErrorString(result) << LL_ENDL; + LL_DEBUGS("FMOD") << string << " Error: " << FMOD_ErrorString(result) << LL_ENDL; } return true; @@ -84,7 +84,7 @@ void set_device(FMOD::System* system, const LLUUID& device_uuid) { if (device_uuid.isNull()) { - LL_INFOS() << "Setting driver \"Default\"" << LL_ENDL; + LL_INFOS("FMOD") << "Setting driver \"Default\"" << LL_ENDL; Check_FMOD_Error(system->setDriver(0), "FMOD::System::setDriver"); } else @@ -100,14 +100,14 @@ void set_device(FMOD::System* system, const LLUUID& device_uuid) if (driver_guid == device_uuid) { - LL_INFOS() << "Setting driver " << i << ": " << driver_guid << LL_ENDL; + LL_INFOS("FMOD") << "Setting driver " << i << ": " << driver_guid << LL_ENDL; Check_FMOD_Error(system->setDriver(i), "FMOD::System::setDriver"); return; } } } - LL_INFOS() << "Device not available (anymore) - falling back to default" << LL_ENDL; + LL_INFOS("FMOD") << "Device not available (anymore) - falling back to default" << LL_ENDL; Check_FMOD_Error(system->setDriver(0), "FMOD::System::setDriver"); } } @@ -121,7 +121,7 @@ FMOD_RESULT F_CALLBACK systemCallback(FMOD_SYSTEM *system, FMOD_SYSTEM_CALLBACK_ switch (type) { case FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED: - LL_DEBUGS() << "FMOD system callback FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED" << LL_ENDL; + LL_DEBUGS("FMOD") << "FMOD system callback FMOD_SYSTEM_CALLBACK_DEVICELISTCHANGED" << LL_ENDL; if (sys && audio_engine) { set_device(sys, audio_engine->getSelectedDeviceUUID()); @@ -175,8 +175,6 @@ bool LLAudioEngine_FMODSTUDIO::init(const S32 num_channels, void* userdata, cons << " expected:" << FMOD_VERSION << LL_ENDL; } - // In case we need to force sampling on stereo, use setSoftwareFormat here - // In this case, all sounds, PLUS wind and stream will be software. result = mSystem->setSoftwareChannels(num_channels + EXTRA_SOUND_CHANNELS); Check_FMOD_Error(result, "FMOD::System::setSoftwareChannels"); @@ -298,6 +296,15 @@ bool LLAudioEngine_FMODSTUDIO::init(const S32 num_channels, void* userdata, cons */ result = mSystem->init(num_channels + EXTRA_SOUND_CHANNELS, fmod_flags, 0); } + if (Check_FMOD_Error(result, "Error initializing FMOD Studio with default settins, retrying with other format")) + { + result = mSystem->setSoftwareFormat(44100, FMOD_SPEAKERMODE_STEREO, 0/*- ignore*/); + if (Check_FMOD_Error(result, "Error setting sotware format. Can't init.")) + { + return false; + } + result = mSystem->init(num_channels + 2, fmod_flags, 0); + } if (Check_FMOD_Error(result, "Error initializing FMOD Studio")) { return false; @@ -407,7 +414,7 @@ void LLAudioEngine_FMODSTUDIO::allocateListener(void) } catch (const std::bad_alloc& e) { - LL_WARNS() << "Listener allocation failed due to: " << e.what() << LL_ENDL; + LL_WARNS("FMOD") << "Listener allocation failed due to: " << e.what() << LL_ENDL; } } @@ -416,16 +423,16 @@ void LLAudioEngine_FMODSTUDIO::shutdown() { stopInternetStream(); - LL_INFOS() << "About to LLAudioEngine::shutdown()" << LL_ENDL; + LL_INFOS("FMOD") << "About to LLAudioEngine::shutdown()" << LL_ENDL; LLAudioEngine::shutdown(); - LL_INFOS() << "LLAudioEngine_FMODSTUDIO::shutdown() closing FMOD Studio" << LL_ENDL; + LL_INFOS("FMOD") << "LLAudioEngine_FMODSTUDIO::shutdown() closing FMOD Studio" << LL_ENDL; if (mSystem) { Check_FMOD_Error(mSystem->close(), "FMOD::System::close"); Check_FMOD_Error(mSystem->release(), "FMOD::System::release"); } - LL_INFOS() << "LLAudioEngine_FMODSTUDIO::shutdown() done closing FMOD Studio" << LL_ENDL; + LL_INFOS("FMOD") << "LLAudioEngine_FMODSTUDIO::shutdown() done closing FMOD Studio" << LL_ENDL; delete mListenerp; mListenerp = NULL; diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp index 220220877f..c2c689eb4a 100644 --- a/indra/newview/llprogressview.cpp +++ b/indra/newview/llprogressview.cpp @@ -460,54 +460,50 @@ void LLProgressView::initLogos() const U8 image_codec = IMG_CODEC_PNG; const LLRectf default_clip(0.f, 1.f, 1.f, 0.f); - const S32 default_height = 24; - const S32 default_width = 91; - const S32 default_pad = 7; + const S32 default_height = 32; + const S32 default_pad = 25; + + S32 icon_width; // We don't know final screen rect yet, so we can't precalculate position fully LLTextBox *logos_label = getChild("logos_lbl"); S32 texture_start_x = logos_label->getFont()->getWidthF32(logos_label->getText()) + default_pad; - S32 texture_start_y = -3; + S32 texture_start_y = -7; + + // Normally we would just preload these textures from textures.xml, + // and display them via icon control, but they are only needed on + // startup and preloaded/UI ones stay forever + // (and this code was done already so simply reused it) + std::string temp_str = gDirUtilp->getExpandedFilename(LL_PATH_DEFAULT_SKIN, "textures", "3p_icons"); - // Normally iamges stay in skins folder, but 3p images come from package instead - // of repository and need special handling -#ifdef LL_WINDOWS - std::string temp_str = gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "3p_icons"); -#elif LL_DARWIN - // On MAC use resource directory - std::string temp_str = gDirUtilp->add(gDirUtilp->getAppRODataDir(), "3p_icons"); -#else - std::string temp_str = gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "3p_icons"); -#endif temp_str += gDirUtilp->getDirDelimiter(); #ifdef LL_FMODSTUDIO - const S32 fmod_y_offset = 2; - loadLogo(temp_str + "fmod.png", + icon_width = 89; + loadLogo(temp_str + "fmod_logo.png", image_codec, - LLRect(texture_start_x, texture_start_y + default_height + fmod_y_offset, texture_start_x + default_width + fmod_y_offset, texture_start_y), + LLRect(texture_start_x, texture_start_y + default_height, texture_start_x + icon_width, texture_start_y), default_clip, default_clip); - texture_start_x += default_width + default_pad; + texture_start_x += icon_width + default_pad; #endif + icon_width = 100; loadLogo(temp_str + "havok_logo.png", image_codec, - LLRect(texture_start_x, texture_start_y + default_height, texture_start_x + default_width, texture_start_y), + LLRect(texture_start_x, texture_start_y + default_height, texture_start_x + icon_width, texture_start_y), default_clip, default_clip); - texture_start_x += default_width + default_pad - 2; // offset to compensate for enormous borders for vivox + texture_start_x += icon_width + default_pad; - const LLRectf vivox_clip(0.0f /*repeats*/, 0.52f /*cut starting from center*/, 0.52f, 0.0f); // non-standard icon, clip it - const LLRectf vivox_offset(0.0f, 0.23f, 0.23f, 0.0f); // keeping clipping identical to not mess up scale - const S32 vivox_y_offset = -5; + icon_width = 87; loadLogo(temp_str + "vivox_logo.png", image_codec, - LLRect(texture_start_x, texture_start_y + default_height + vivox_y_offset, texture_start_x + default_width, texture_start_y + vivox_y_offset), - vivox_clip, - vivox_offset); + LLRect(texture_start_x, texture_start_y + default_height, texture_start_x + icon_width, texture_start_y), + default_clip, + default_clip); } void LLProgressView::initStartTexture(S32 location_id, bool is_in_production) @@ -590,8 +586,9 @@ void LLProgressView::initTextures(S32 location_id, bool is_in_production) initStartTexture(location_id, is_in_production); initLogos(); - LLTextBox *logos_label = getChild("logos_lbl"); - logos_label->setVisible(!mLogosList.empty()); + childSetVisible("panel_icons", mLogosList.empty() ? FALSE : TRUE); + childSetVisible("panel_login", TRUE); + childSetVisible("panel_teleport", FALSE); } void LLProgressView::releaseTextures() @@ -599,8 +596,9 @@ void LLProgressView::releaseTextures() gStartTexture = NULL; mLogosList.clear(); - LLTextBox *logos_label = getChild("logos_lbl"); - logos_label->setVisible(false); + childSetVisible("panel_login", FALSE); + childSetVisible("panel_teleport", TRUE); + childSetVisible("panel_icons", FALSE); } void LLProgressView::setCancelButtonVisible(BOOL b, const std::string& label) diff --git a/indra/newview/skins/default/textures/3p_icons/fmod_logo.png b/indra/newview/skins/default/textures/3p_icons/fmod_logo.png new file mode 100644 index 0000000000..5da146bfa9 Binary files /dev/null and b/indra/newview/skins/default/textures/3p_icons/fmod_logo.png differ diff --git a/indra/newview/skins/default/textures/3p_icons/havok_logo.png b/indra/newview/skins/default/textures/3p_icons/havok_logo.png new file mode 100644 index 0000000000..1b51e23ca0 Binary files /dev/null and b/indra/newview/skins/default/textures/3p_icons/havok_logo.png differ diff --git a/indra/newview/skins/default/textures/3p_icons/vivox_logo.png b/indra/newview/skins/default/textures/3p_icons/vivox_logo.png new file mode 100644 index 0000000000..6bbd050eae Binary files /dev/null and b/indra/newview/skins/default/textures/3p_icons/vivox_logo.png differ diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 5702ac84a3..70d40e654a 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -580,6 +580,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/textures/widgets/ProgressBarSolid.png b/indra/newview/skins/default/textures/widgets/ProgressBarSolid.png new file mode 100644 index 0000000000..ec0926bfa1 Binary files /dev/null and b/indra/newview/skins/default/textures/widgets/ProgressBarSolid.png differ diff --git a/indra/newview/skins/default/xui/en/panel_progress.xml b/indra/newview/skins/default/xui/en/panel_progress.xml index f52422c08f..a0dfff3bd4 100644 --- a/indra/newview/skins/default/xui/en/panel_progress.xml +++ b/indra/newview/skins/default/xui/en/panel_progress.xml @@ -58,69 +58,137 @@ left="0" top="0" width="670" /> - - - - - - - Second Life uses - + left="0" + orientation="vertical" + name="vertical_centering" + animate="false" + top="0" + width="670"> + + + Logging in... + + + + + + + + + + + + + + + + Second Life uses + + + Remove VMP - # [Progress Logos] Show logos on "About" floater instead - # # Copy 3p icons - # with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"): - # if self.args['fmodstudio'] == 'ON': - # self.path("fmod.png") - # self.path("havok_logo.png") - # self.path("vivox_logo.png") - # - # Plugin host application self.path2basename(os.path.join(os.pardir, 'llplugin', 'slplugin', self.args['configuration']), @@ -1334,15 +1325,6 @@ class DarwinManifest(ViewerManifest): with self.prefix(src=pkgdir,dst=""): self.path("ca-bundle.crt") - # [Progress Logos] Show logos on "About" floater instead - # # Copy 3p icons - # with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"): - # if self.args['fmodstudio'] == 'ON': - # self.path("fmod.png") - # self.path("havok_logo.png") - # self.path("vivox_logo.png") - # - icon_path = self.icon_path() with self.prefix(src=icon_path) : self.path("firestorm_icon.icns") @@ -2102,15 +2084,6 @@ class Linux_i686_Manifest(LinuxManifest): relpkgdir = os.path.join(pkgdir, "lib", "release") debpkgdir = os.path.join(pkgdir, "lib", "debug") - # [Progress Logos] Show logos on "About" floater instead - # # Copy 3p icons - # with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"): - # if self.args['fmodstudio'] == 'ON': - # self.path("fmod.png") - # self.path("havok_logo.png") - # self.path("vivox_logo.png") - # - with self.prefix(src=relpkgdir, dst="lib"): self.path("libapr-1.so") self.path("libapr-1.so.0")