diff options
Diffstat (limited to 'src/aomusicplayer.h')
| -rw-r--r-- | src/aomusicplayer.h | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/src/aomusicplayer.h b/src/aomusicplayer.h index 248a45e3..707d64ad 100644 --- a/src/aomusicplayer.h +++ b/src/aomusicplayer.h @@ -7,38 +7,32 @@ class AOMusicPlayer { public: - // Channel 0 = music - // Channel 1 = ambience - static constexpr int CHANNEL_COUNT = 2; + // 0 = music + // 1 = ambience + static constexpr int STREAM_COUNT = 2; - AOMusicPlayer(AOApplication *p_ao_app); + explicit AOMusicPlayer(AOApplication *ao_app); virtual ~AOMusicPlayer(); - void set_volume(int p_value, int channel = -1); - void set_looping(bool loop_song, int channel = 0); - void set_muted(bool toggle); + void setMuted(bool enabled); - QFutureWatcher<QString> music_watcher; + QString playStream(QString song, int streamId, bool loopEnabled, int effectFlags); -public Q_SLOTS: - QString play(QString p_song, int channel = 0, bool loop = false, int effect_flags = 0); - void stop(int channel = 0); + void setStreamVolume(int value, int streamId); + void setStreamLooping(bool enabled, int streamId); + + QFutureWatcher<QString> m_watcher; private: AOApplication *ao_app; bool m_muted = false; - int m_volume[CHANNEL_COUNT] = {0, 0}; - HSTREAM m_stream_list[CHANNEL_COUNT]; - HSYNC m_loop_sync[CHANNEL_COUNT]; - - /** - * @brief The starting sample of the AB-Loop. - */ - unsigned int m_loop_start[CHANNEL_COUNT] = {0, 0}; - - /** - * @brief The end sample of the AB-Loop. - */ - unsigned int m_loop_end[CHANNEL_COUNT] = {0, 0}; + + int m_volume[STREAM_COUNT]{}; + HSTREAM m_stream_list[STREAM_COUNT]{}; + HSYNC m_loop_sync[STREAM_COUNT]{}; + quint32 m_loop_start[STREAM_COUNT]{}; + quint32 m_loop_end[STREAM_COUNT]{}; + + bool ensureValidStreamId(int streamId); }; |
