From c67bf7489ef4649ed6f11bf880ae2424ebeb583a Mon Sep 17 00:00:00 2001 From: Cinders Date: Wed, 9 Oct 2013 22:04:44 -0600 Subject: [PATCH] Fix spamming stream titles with OpenAL. Klutzy interim fix for titles not showing up in notify tips (better fix on it's way) --- indra/newview/llviewermedia_streamingaudio.cpp | 6 ++++-- indra/newview/streamtitledisplay.cpp | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/indra/newview/llviewermedia_streamingaudio.cpp b/indra/newview/llviewermedia_streamingaudio.cpp index 1bce48a031..1000696f67 100755 --- a/indra/newview/llviewermedia_streamingaudio.cpp +++ b/indra/newview/llviewermedia_streamingaudio.cpp @@ -175,8 +175,10 @@ bool LLStreamingAudio_MediaPlugins::getNewMetadata(LLSD& metadata) if (mTitle != mMediaPlugin->getTitle() || mArtist != mMediaPlugin->getArtist()) { - metadata["ARTIST"] = mMediaPlugin->getArtist(); - metadata["TITLE"] = mMediaPlugin->getTitle(); + mArtist = mMediaPlugin->getArtist(); + mTitle = mMediaPlugin->getTitle(); + metadata["ARTIST"] = mArtist; + metadata["TITLE"] = mTitle; return true; } return false; diff --git a/indra/newview/streamtitledisplay.cpp b/indra/newview/streamtitledisplay.cpp index 35a5a6f669..3d7c049ea7 100644 --- a/indra/newview/streamtitledisplay.cpp +++ b/indra/newview/streamtitledisplay.cpp @@ -52,7 +52,6 @@ void StreamTitleDisplay::checkMetadata() { static LLCachedControl ShowStreamMetadata(gSavedSettings, "ShowStreamMetadata", 1); static LLCachedControl StreamMetadataAnnounceToChat(gSavedSettings, "StreamMetadataAnnounceToChat", false); - static std::string last_chat = ""; if (!gAudiop) return; @@ -73,7 +72,7 @@ void StreamTitleDisplay::checkMetadata() } chat.append(mMetadata["TITLE"].asString()); } - if ((chat.length() > 0) && (chat != last_chat)) + if (chat.length() > 0) { if (StreamMetadataAnnounceToChat) { @@ -85,12 +84,14 @@ void StreamTitleDisplay::checkMetadata() chat = LLTrans::getString("StreamtitleNowPlaying") + " " + chat; reportToNearbyChat(chat); } - else if (ShowStreamMetadata == 1) + else if (ShowStreamMetadata == 1 + && (mMetadata.has("TITLE") || mMetadata.has("ARTIST"))) { + if (!mMetadata.has("TITLE")) + mMetadata["TITLE"] = ""; LLNotificationsUtil::add((mMetadata.has("ARTIST") ? "StreamMetadata" : "StreamMetadataNoArtist"), mMetadata); } } - last_chat = chat; } }