diff options
| author | Crystalwarrior <varsash@gmail.com> | 2021-01-10 14:27:27 +0300 |
|---|---|---|
| committer | Crystalwarrior <varsash@gmail.com> | 2021-01-10 14:27:27 +0300 |
| commit | 1ad8f3bf24a4e0a3dcbd0d172c9bfa1641907d7d (patch) | |
| tree | 2f4345fcc09eafa846cf5552e19e3443bdc07744 /src/aomusicplayer.cpp | |
| parent | de3533fbf2615a40efc60c9ed2e96f1a3b5da3c1 (diff) | |
| parent | e65072f8f1e885f7bbade9e9d84fbeea2ef8a097 (diff) | |
Merge branch 'master' into feature/timerclock
# Conflicts:
# include/courtroom.h
# src/courtroom.cpp
Diffstat (limited to 'src/aomusicplayer.cpp')
| -rw-r--r-- | src/aomusicplayer.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index 0c50d505..6219edfb 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -23,14 +23,26 @@ void AOMusicPlayer::play(QString p_song, int channel, bool loop, unsigned int flags = BASS_STREAM_PRESCAN | BASS_STREAM_AUTOFREE | BASS_UNICODE | BASS_ASYNCFILE; - if (loop) + unsigned int streaming_flags = BASS_STREAM_AUTOFREE; + if (loop) { flags |= BASS_SAMPLE_LOOP; + streaming_flags |= BASS_SAMPLE_LOOP; + } DWORD newstream; - if (f_path.endsWith(".opus")) - newstream = BASS_OPUS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); - else - newstream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); + if (f_path.startsWith("http")) { + if (f_path.endsWith(".opus")) + newstream = BASS_OPUS_StreamCreateURL(f_path.toStdString().c_str(), 0, streaming_flags, nullptr, 0); + else + newstream = BASS_StreamCreateURL(f_path.toStdString().c_str(), 0, streaming_flags, nullptr, 0); + + } else { + if (f_path.endsWith(".opus")) + newstream = BASS_OPUS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); + else + newstream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, flags); + } + if (ao_app->get_audio_output_device() != "default") BASS_ChannelSetDevice(m_stream_list[channel], BASS_GetDevice()); |
