diff options
Diffstat (limited to 'src/aomusicplayer.cpp')
| -rw-r--r-- | src/aomusicplayer.cpp | 54 |
1 files changed, 48 insertions, 6 deletions
diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index 27918092..32848fb0 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -1,7 +1,7 @@ #include "aomusicplayer.h" #if defined(BASSAUDIO) -AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app) +AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -9,14 +9,14 @@ AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app) AOMusicPlayer::~AOMusicPlayer() { - BASS_ChannelStop(m_stream); + kill_loop(); } void AOMusicPlayer::play(QString p_song) { BASS_ChannelStop(m_stream); - QString f_path = ao_app->get_music_path(p_song); + f_path = ao_app->get_music_path(p_song); m_stream = BASS_StreamCreateFile(FALSE, f_path.utf16(), 0, 0, BASS_STREAM_AUTOFREE | BASS_UNICODE | BASS_ASYNCFILE); @@ -24,7 +24,18 @@ void AOMusicPlayer::play(QString p_song) if (ao_app->get_audio_output_device() != "default") BASS_ChannelSetDevice(m_stream, BASS_GetDevice()); + if(enable_looping) + { + BASS_ChannelFlags(m_stream, BASS_SAMPLE_LOOP, BASS_SAMPLE_LOOP); + } + else + { + BASS_ChannelFlags(m_stream, 0, BASS_SAMPLE_LOOP); + } BASS_ChannelPlay(m_stream, false); + + + } void AOMusicPlayer::set_volume(int p_value) @@ -33,8 +44,19 @@ void AOMusicPlayer::set_volume(int p_value) float volume = m_volume / 100.0f; BASS_ChannelSetAttribute(m_stream, BASS_ATTRIB_VOL, volume); } + +QString AOMusicPlayer::get_path() +{ + return f_path; +} + +void AOMusicPlayer::kill_loop() +{ + BASS_ChannelStop(m_stream); +} + #elif defined(QTAUDIO) -AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app) +AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -63,8 +85,18 @@ void AOMusicPlayer::set_volume(int p_value) m_volume = p_value; m_player.setVolume(m_volume); } + +QString AOMusicPlayer::get_path() +{ + return f_path; +} + +void AOMusicPlayer::kill_loop() +{ + // TODO QTAUDIO +} #else -AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app) +AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app): QObject() { m_parent = parent; ao_app = p_ao_app; @@ -84,4 +116,14 @@ void AOMusicPlayer::set_volume(int p_value) { } -#endif + +QString AOMusicPlayer::get_path() +{ + return f_path; +} + +void AOMusicPlayer::kill_loop() +{ + +} +#endif
\ No newline at end of file |
