diff --git a/include/aomusicplayer.h b/include/aomusicplayer.h index 5c72649..f08b7d2 100644 --- a/include/aomusicplayer.h +++ b/include/aomusicplayer.h @@ -67,14 +67,28 @@ private: class AOMusicPlayer { public: AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app); - ~AOMusicPlayer(); + virtual ~AOMusicPlayer(); + void set_volume(int p_value, int channel = -1); + void set_looping(bool toggle, int channel = 0); - void play(QString p_song); - void set_volume(int p_value); + const int m_channelmax = 4; + +public slots: + void play(QString p_song, int channel = 0, bool loop = false, + int effect_flags = 0); + void stop(int channel = 0); private: QWidget *m_parent; AOApplication *ao_app; + + bool m_looping = false; + int m_volume[4] = {0, 0, 0, 0}; + + // Channel 0 = music + // Channel 1 = ambience + // Channel 2 = extra + // Channel 3 = extra }; #endif diff --git a/src/aoblipplayer.cpp b/src/aoblipplayer.cpp index b67f9c3..57b2d27 100644 --- a/src/aoblipplayer.cpp +++ b/src/aoblipplayer.cpp @@ -100,7 +100,7 @@ void AOBlipPlayer::set_blips(QString p_sfx) {} void AOBlipPlayer::blip_tick() {} -void AOBlipPlayer::set_volume(qreal p_value) {} +void AOBlipPlayer::set_volume(int p_value) {} void AOBlipPlayer::set_volume_internal(qreal p_value) {} #endif diff --git a/src/aomusicplayer.cpp b/src/aomusicplayer.cpp index bc1ab23..60b1c7c 100644 --- a/src/aomusicplayer.cpp +++ b/src/aomusicplayer.cpp @@ -205,7 +205,8 @@ AOMusicPlayer::AOMusicPlayer(QWidget *parent, AOApplication *p_ao_app) AOMusicPlayer::~AOMusicPlayer() {} -void AOMusicPlayer::play(QString p_song) {} +void AOMusicPlayer::play(QString p_song, int channel, bool loop, + int effect_flags) {} -void AOMusicPlayer::set_volume(int p_value) {} +void AOMusicPlayer::set_volume(int p_value, int channel) {} #endif diff --git a/src/aosfxplayer.cpp b/src/aosfxplayer.cpp index 607d605..d23d5f9 100644 --- a/src/aosfxplayer.cpp +++ b/src/aosfxplayer.cpp @@ -170,9 +170,10 @@ AOSfxPlayer::AOSfxPlayer(QWidget *parent, AOApplication *p_ao_app) ao_app = p_ao_app; } -void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout) {} +void AOSfxPlayer::play(QString p_sfx, QString p_char, QString shout, + int channel) {} -void AOSfxPlayer::stop() {} +void AOSfxPlayer::stop(int channel) {} void AOSfxPlayer::set_volume(qreal p_value) {}