aboutsummaryrefslogtreecommitdiff
path: root/src/aomusicplayer.h
diff options
context:
space:
mode:
authorTrickyLeifa <date.epoch@gmail.com>2024-05-17 16:39:30 +0200
committerTrickyLeifa <date.epoch@gmail.com>2024-05-17 19:04:57 +0200
commit1ef96383c8f7ed136a0e028aef0835b4838b5e95 (patch)
treee87a9df097a50b4d1f918f8a4f37d210562d10d6 /src/aomusicplayer.h
parent39e4354b1dae5d8487ea5b84be9f304b1950a61a (diff)
Lightly reworked `NetworkManager`, ...
* Lightly reworked `NetworkManager` * Added new modules to handle various connection types. * TCP * WebSocket * Added general string splitter alias based on Qt version. * Replaced `lobby_constructed` and `courtroom_constructed` * Refactored and partially reimplemented the following classes: * `AOBlipPlayer` * `AOEmotePreview` * `AOMusicPlayer` * `AOSfxPlayer` * `AOTextArea`
Diffstat (limited to 'src/aomusicplayer.h')
-rw-r--r--src/aomusicplayer.h42
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);
};