aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorin1tiate <32779090+in1tiate@users.noreply.github.com>2021-01-28 15:35:50 -0600
committerGitHub <noreply@github.com>2021-01-28 22:35:50 +0100
commit3683e54501c0dd2c0b025f45b09e5a3d7c669be7 (patch)
treeea0a059446c32ab43ca56e4db06246adb21f5bab
parent9c6e703bfc06aec0b6bf1b2056fff5302ed4a241 (diff)
more elegantly handle streaming urls (#443)
-rw-r--r--src/courtroom.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 0e2c2805..1ce917d7 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -3659,6 +3659,11 @@ void Courtroom::handle_song(QStringList *p_contents)
QString f_song = f_contents.at(0);
QString f_song_clear = f_song.left(f_song.lastIndexOf("."));
+ if (f_song.startsWith("http")) {
+ QByteArray f_song_bytearray = f_song.toUtf8();
+ QString f_song_decoded = QUrl::fromPercentEncoding(f_song_bytearray);
+ f_song_clear = f_song_decoded.left(f_song_decoded.lastIndexOf("."));
+ }
f_song_clear = f_song_clear.right(f_song_clear.length() -
(f_song_clear.lastIndexOf("/") + 1));
int n_char = f_contents.at(1).toInt();
@@ -3691,8 +3696,10 @@ void Courtroom::handle_song(QStringList *p_contents)
if (f_song == "~stop.mp3")
ui_music_name->setText(tr("None"));
else if (channel == 0) {
- if (file_exists(ao_app->get_sfx_suffix(ao_app->get_music_path(f_song))))
+ if (file_exists(ao_app->get_sfx_suffix(ao_app->get_music_path(f_song))) & !f_song.startsWith("http"))
ui_music_name->setText(f_song_clear);
+ else if (f_song.startsWith("http"))
+ ui_music_name->setText(tr("[STREAM] %1").arg(f_song_clear));
else
ui_music_name->setText(tr("[MISSING] %1").arg(f_song_clear));
}
@@ -3733,8 +3740,10 @@ void Courtroom::handle_song(QStringList *p_contents)
if (f_song == "~stop.mp3")
ui_music_name->setText(tr("None"));
else if (channel == 0) {
- if (file_exists(ao_app->get_sfx_suffix(ao_app->get_music_path(f_song))))
+ if (file_exists(ao_app->get_sfx_suffix(ao_app->get_music_path(f_song))) & !f_song.startsWith("http"))
ui_music_name->setText(f_song_clear);
+ else if (f_song.startsWith("http"))
+ ui_music_name->setText(tr("[STREAM] %1").arg(f_song_clear));
else
ui_music_name->setText(tr("[MISSING] %1").arg(f_song_clear));
}