diff --git a/src/twitch/twitchmessagebuilder.cpp b/src/twitch/twitchmessagebuilder.cpp index 002d485a..1acd3be7 100644 --- a/src/twitch/twitchmessagebuilder.cpp +++ b/src/twitch/twitchmessagebuilder.cpp @@ -364,6 +364,7 @@ void TwitchMessageBuilder::appendUsername() void TwitchMessageBuilder::parseHighlights() { static auto player = new QMediaPlayer; + static QUrl currentPlayerUrl; SettingsManager &settings = SettingsManager::getInstance(); static pajlada::Settings::Setting currentUser("/accounts/current"); @@ -374,10 +375,18 @@ void TwitchMessageBuilder::parseHighlights() return; } + // update the media player url if necessary + QUrl highlightSoundUrl; if (settings.customHighlightSound) { - player->setMedia(QUrl(settings.pathHighlightSound.get())); + highlightSoundUrl = QUrl(settings.pathHighlightSound.get()); } else { - player->setMedia(QUrl("qrc:/sounds/ping2.wav")); + highlightSoundUrl = QUrl("qrc:/sounds/ping2.wav"); + } + + if (currentPlayerUrl != highlightSoundUrl) { + player->setMedia(highlightSoundUrl); + + currentPlayerUrl = highlightSoundUrl; } struct Highlight {