aboutsummaryrefslogtreecommitdiff
path: root/src/aomusicplayer.cpp
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2020-08-21 12:42:45 -0500
committerGitHub <noreply@github.com>2020-08-21 12:42:45 -0500
commit2c6a690d47ca0c48bef84b3d28d58064365a9934 (patch)
treecdc2a42b51e4bbe3c008adab296ac306d6dbdfd7 /src/aomusicplayer.cpp
parentec1c95bdb33dd063880c4cb6c3c9c3cf5d0ed454 (diff)
parentaf1e76022568af1f146e2b49e96af85eb06521b9 (diff)
Merge pull request #246 from AttorneyOnline/2.8
Merges 2.8.5, which is a patch release for 2.8 with no substantially new features. This commit is release-ready.
Diffstat (limited to 'src/aomusicplayer.cpp')
-rw-r--r--src/aomusicplayer.cpp69
1 files changed, 10 insertions, 59 deletions
diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp
index 249e01e5..6c61b9ad 100644
--- a/src/aomusicplayer.cpp
+++ b/src/aomusicplayer.cpp
@@ -1,14 +1,11 @@
#include "aomusicplayer.h"
-
AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app)
{
m_parent = parent;
ao_app = p_ao_app;
}
-#ifdef BASSAUDIO
-
AOMusicPlayer::~AOMusicPlayer()
{
for (int n_stream = 0; n_stream < m_channelmax; ++n_stream) {
@@ -111,8 +108,11 @@ void AOMusicPlayer::play(QString p_song, int channel, bool loop,
else
this->set_volume(m_volume[channel], channel);
+ BASS_ChannelSetSync(m_stream_list[channel], BASS_SYNC_DEV_FAIL, 0,
+ ao_app->BASSreset, 0);
+
this->set_looping(loop, channel); // Have to do this here due to any
- // crossfading-related changes, etc.
+ // crossfading-related changes, etc.
}
void AOMusicPlayer::stop(int channel)
@@ -164,62 +164,13 @@ void AOMusicPlayer::set_looping(bool toggle, int channel)
}
if (loop_start[channel] > 0) {
if (loop_end[channel] == 0)
- loop_end[channel] = BASS_ChannelGetLength(m_stream_list[channel], BASS_POS_BYTE);
- if (loop_end[channel] > 0) // Don't loop zero length songs even if we're asked to
+ loop_end[channel] =
+ BASS_ChannelGetLength(m_stream_list[channel], BASS_POS_BYTE);
+ if (loop_end[channel] >
+ 0) // Don't loop zero length songs even if we're asked to
loop_sync[channel] = BASS_ChannelSetSync(
- m_stream_list[channel], BASS_SYNC_POS | BASS_SYNC_MIXTIME, loop_end[channel],
- loopProc, &loop_start[channel]);
+ m_stream_list[channel], BASS_SYNC_POS | BASS_SYNC_MIXTIME,
+ loop_end[channel], loopProc, &loop_start[channel]);
}
}
}
-#elif defined(QTAUDIO)
-
-AOMusicPlayer::~AOMusicPlayer() {
- for (int n_stream = 0; n_stream < m_channelmax; ++n_stream) {
- m_stream_list[n_stream].stop();
- }
-}
-
-void AOMusicPlayer::play(QString p_song, int channel, bool loop,
- int effect_flags)
-{
- channel = channel % m_channelmax;
- if (channel < 0) // wtf?
- return;
- QString f_path = ao_app->get_music_path(p_song);
-
- m_stream_list[channel].stop();
-
- m_stream_list[channel].setMedia(QUrl::fromLocalFile(f_path));
-
- this->set_volume(m_volume[channel], channel);
-
- m_stream_list[channel].play();
-}
-
-void AOMusicPlayer::stop(int channel)
-{
- m_stream_list[channel].stop();
-}
-
-void AOMusicPlayer::set_volume(int p_value, int channel)
-{
- m_volume[channel] = p_value;
- m_stream_list[channel].setVolume(m_volume[channel]);
-}
-
-#else
-
-AOMusicPlayer::~AOMusicPlayer() {}
-
-void AOMusicPlayer::play(QString p_song, int channel, bool loop,
- int effect_flags) {}
-
-void AOMusicPlayer::stop(int channel) {}
-
-void AOMusicPlayer::set_volume(int p_value, int channel) {}
-
-void loopProc(int handle, int channel, int data, int *user) {}
-
-void AOMusicPlayer::set_looping(bool toggle, int channel) {}
-#endif