diff options
| author | stonedDiscord <stoned@derpymail.org> | 2020-03-06 16:43:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-06 16:43:03 +0100 |
| commit | b668bb227652f0b19f0d0b7251c2afa2f36473c5 (patch) | |
| tree | 9f23859a30574d9ce9220dd0f5fd2450b5ec7e2c /src/aosfxplayer.cpp | |
| parent | c2fd3796a97ee8d87544ec26df7d6797acfebd80 (diff) | |
| parent | 8c93cce0be0a316723284349d1f618dbf770ba3f (diff) | |
Merge branch 'master' into music_list_update
Diffstat (limited to 'src/aosfxplayer.cpp')
| -rw-r--r-- | src/aosfxplayer.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/aosfxplayer.cpp b/src/aosfxplayer.cpp index ad8ced6..d2140e3 100644 --- a/src/aosfxplayer.cpp +++ b/src/aosfxplayer.cpp @@ -2,7 +2,7 @@ #include "file_functions.h" #if defined(BASSAUDIO) //Using bass.dll for sfx -AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app) +AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -29,7 +29,7 @@ void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout) f_path = misc_path; else f_path = sound_path; - + BASS_ChannelStop(m_stream); m_stream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, BASS_STREAM_AUTOFREE | BASS_UNICODE | BASS_ASYNCFILE); set_volume_internal(m_volume); @@ -37,6 +37,19 @@ void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout) if (ao_app->get_audio_output_device() != "default") BASS_ChannelSetDevice(m_stream, BASS_GetDevice()); BASS_ChannelPlay(m_stream, false); + if(looping_sfx && ao_app->get_looping_sfx()) + { + BASS_ChannelFlags(m_stream, BASS_SAMPLE_LOOP, BASS_SAMPLE_LOOP); + } + else + { + BASS_ChannelFlags(m_stream, 0, BASS_SAMPLE_LOOP); + } +} + +void AOSfxPlayer::setLooping(bool is_looping) +{ + this->looping_sfx = is_looping; } void AOSfxPlayer::stop() @@ -56,7 +69,7 @@ void AOSfxPlayer::set_volume_internal(qreal p_value) BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume); } #elif defined(QTAUDIO) //Using Qt's QSoundEffect class -AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app) +AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -94,6 +107,11 @@ void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout) } } +void AOSfxPlayer::setLooping(bool is_looping) +{ + this->looping_sfx = is_looping; +} + void AOSfxPlayer::stop() { m_sfx.stop(); @@ -110,7 +128,7 @@ void AOSfxPlayer::set_volume_internal(qreal p_value) m_sfx.setVolume(m_volume); } #else -AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app) +AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -121,6 +139,11 @@ void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout) } +void AOSfxPlayer::setLooping(bool is_looping) +{ + this->looping_sfx = is_looping; +} + void AOSfxPlayer::stop() { |
