aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorscatterflower <2956568+scatterflower@users.noreply.github.com>2020-08-19 16:40:37 -0500
committerGitHub <noreply@github.com>2020-08-19 16:40:37 -0500
commit9eb0f53db1ae87058458eae267f2a72e3a0a8091 (patch)
treedbf5ccd4d3a70a49cebfb84798e7b2b77583835f /include
parentcef0ebc6eb2ac549a5475bee332be35ab7f565fc (diff)
Reset BASS when switching devices; drop Qt Multimedia support (#262)
* Allow changing audio device on the fly while in a server * Use default audio device if device in config doesn't exist * Automatically change audio device to default when current one is invalid * Destroy Qt Multimedia support It was decided that there was not enough attention being given to Qt Multimedia support to justify its continued maintenance simply as a libre alternative to BASS. While substantial changes to audio were being made in 2.8, the Qt Multimedia support code fell behind in disrepair. It's clear that there is no vested interest in implementing audio features twice for the sake of licensing. When it's time to switch to another audio library, it will be done unilaterally. * CI: Use BASS for Linux build Co-authored-by: oldmud0 <oldmud0@users.noreply.github.com>
Diffstat (limited to 'include')
-rw-r--r--include/aoapplication.h18
-rw-r--r--include/aoblipplayer.h8
-rw-r--r--include/aomusicplayer.h8
-rw-r--r--include/aosfxplayer.h8
-rw-r--r--include/courtroom.h2
5 files changed, 11 insertions, 33 deletions
diff --git a/include/aoapplication.h b/include/aoapplication.h
index b44c8a80..f0e05453 100644
--- a/include/aoapplication.h
+++ b/include/aoapplication.h
@@ -5,6 +5,9 @@
#include "datatypes.h"
#include "discord_rich_presence.h"
+#include "bass.h"
+#include "bassopus.h"
+
#include <QApplication>
#include <QFile>
#include <QSettings>
@@ -23,9 +26,6 @@
#include <QScreen>
#include <QStringList>
#include <QTextStream>
-#ifdef QTAUDIO
-#include <QAudioDeviceInfo>
-#endif
class NetworkManager;
class Lobby;
@@ -202,7 +202,8 @@ public:
// Returns the value of whether custom chatboxes should be a thing.
// from the config.ini.
- // I am increasingly maddened by the lack of dynamic auto-generation system for settings.
+ // I am increasingly maddened by the lack of dynamic auto-generation system
+ // for settings.
bool is_customchat_enabled();
// Returns the value of the maximum amount of lines the IC chatlog
@@ -227,9 +228,6 @@ public:
// Returns the audio device used for the client.
QString get_audio_output_device();
-#ifdef QTAUDIO
- QAudioDeviceInfo QtAudioDevice;
-#endif
// Returns whether the user would like to have custom shownames on by default.
bool get_showname_enabled_by_default();
@@ -442,6 +440,12 @@ public:
// The file name of the log file in base/logs.
QString log_filename;
+ void initBASS();
+ static void load_bass_opus_plugin();
+ static void CALLBACK BASSreset(HSTREAM handle, DWORD channel, DWORD data,
+ void *user);
+ static void doBASSreset();
+
private:
const int RELEASE = 2;
const int MAJOR_VERSION = 8;
diff --git a/include/aoblipplayer.h b/include/aoblipplayer.h
index 5a104718..4d3b5f14 100644
--- a/include/aoblipplayer.h
+++ b/include/aoblipplayer.h
@@ -1,12 +1,8 @@
#ifndef AOBLIPPLAYER_H
#define AOBLIPPLAYER_H
-#if defined(BASSAUDIO)
#include "bass.h"
#include "bassopus.h"
-#elif defined(QTAUDIO)
-#include <QSoundEffect>
-#endif
#include "aoapplication.h"
@@ -35,11 +31,7 @@ private:
void set_volume_internal(qreal p_volume);
-#if defined(BASSAUDIO)
HSTREAM m_stream_list[5];
-#elif defined(QTAUDIO)
- QSoundEffect m_blips;
-#endif
};
#endif // AOBLIPPLAYER_H
diff --git a/include/aomusicplayer.h b/include/aomusicplayer.h
index 82751b68..36031f16 100644
--- a/include/aomusicplayer.h
+++ b/include/aomusicplayer.h
@@ -2,12 +2,8 @@
#define AOMUSICPLAYER_H
#include "file_functions.h"
-#if defined(BASSAUDIO)
#include "bass.h"
#include "bassopus.h"
-#elif defined(QTAUDIO)
-#include <QMediaPlayer>
-#endif
#include "aoapplication.h"
@@ -44,12 +40,8 @@ private:
// Channel 1 = ambience
// Channel 2 = extra
// Channel 3 = extra
- #if defined(BASSAUDIO)
HSTREAM m_stream_list[4];
HSYNC loop_sync[4];
- #elif defined(QTAUDIO)
- QMediaPlayer m_stream_list[4];
- #endif
};
#endif // AOMUSICPLAYER_H
diff --git a/include/aosfxplayer.h b/include/aosfxplayer.h
index 99188719..0a5fffa8 100644
--- a/include/aosfxplayer.h
+++ b/include/aosfxplayer.h
@@ -1,12 +1,8 @@
#ifndef AOSFXPLAYER_H
#define AOSFXPLAYER_H
-#if defined(BASSAUDIO)
#include "bass.h"
#include "bassopus.h"
-#elif defined(QTAUDIO)
-#include <QSoundEffect>
-#endif
#include "aoapplication.h"
@@ -37,11 +33,7 @@ private:
const int m_channelmax = 5;
-#if defined(BASSAUDIO)
HSTREAM m_stream_list[5];
-#elif defined(QTAUDIO)
- QSoundEffect m_stream_list[5];
-#endif
};
#endif // AOSFXPLAYER_H
diff --git a/include/courtroom.h b/include/courtroom.h
index 979650a3..5b5ff6c1 100644
--- a/include/courtroom.h
+++ b/include/courtroom.h
@@ -828,8 +828,6 @@ private slots:
void on_casing_clicked();
void ping_server();
-
- void load_bass_opus_plugin();
};
#endif // COURTROOM_H