From 625e33d654bbdc5ecc4ff29270ef4884edfa049e Mon Sep 17 00:00:00 2001 From: fourtf Date: Mon, 18 Dec 2017 17:57:56 +0100 Subject: [PATCH] ping sound media doesn't get recreated on every message --- src/twitch/twitchmessagebuilder.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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 {