summaryrefslogtreecommitdiff
path: root/src/gui/virtualstudio.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/virtualstudio.h')
-rw-r--r--src/gui/virtualstudio.h53
1 files changed, 47 insertions, 6 deletions
diff --git a/src/gui/virtualstudio.h b/src/gui/virtualstudio.h
index 428ffa9..693b911 100644
--- a/src/gui/virtualstudio.h
+++ b/src/gui/virtualstudio.h
@@ -49,6 +49,9 @@
#include "../JackTrip.h"
#include "../Meter.h"
+#include "../Volume.h"
+#include "vsAudioInterface.h"
+#include "vsConstants.h"
#include "vsDevice.h"
#include "vsQuickView.h"
#include "vsServerInfo.h"
@@ -96,6 +99,7 @@ class VirtualStudio : public QObject
Q_PROPERTY(float fontScale READ fontScale CONSTANT)
Q_PROPERTY(float uiScale READ uiScale WRITE setUiScale NOTIFY uiScaleChanged)
Q_PROPERTY(bool darkMode READ darkMode WRITE setDarkMode NOTIFY darkModeChanged)
+ Q_PROPERTY(bool testMode READ testMode WRITE setTestMode NOTIFY testModeChanged)
Q_PROPERTY(bool showDeviceSetup READ showDeviceSetup WRITE setShowDeviceSetup NOTIFY
showDeviceSetupChanged)
Q_PROPERTY(bool showWarnings READ showWarnings WRITE setShowWarnings NOTIFY
@@ -105,6 +109,12 @@ class VirtualStudio : public QObject
Q_PROPERTY(QString failedMessage READ failedMessage NOTIFY failedMessageChanged)
Q_PROPERTY(
bool shouldJoin READ shouldJoin WRITE setShouldJoin NOTIFY shouldJoinChanged)
+ Q_PROPERTY(
+ float inputVolume READ inputVolume WRITE setInputVolume NOTIFY updatedInputVolume)
+ Q_PROPERTY(float outputVolume READ outputVolume WRITE setOutputVolume NOTIFY
+ updatedOutputVolume)
+ Q_PROPERTY(
+ bool inputMuted READ inputMuted WRITE setInputMuted NOTIFY updatedInputMuted)
public:
explicit VirtualStudio(bool firstRun = false, QObject* parent = nullptr);
@@ -149,6 +159,8 @@ class VirtualStudio : public QObject
void setUiScale(float scale);
bool darkMode();
void setDarkMode(bool dark);
+ bool testMode();
+ void setTestMode(bool test);
QUrl studioToJoin();
void setStudioToJoin(const QUrl& url);
bool showDeviceSetup();
@@ -160,6 +172,10 @@ class VirtualStudio : public QObject
QString failedMessage();
bool shouldJoin();
void setShouldJoin(bool join);
+ float inputVolume();
+ float outputVolume();
+ bool inputMuted();
+ bool outputMuted();
public slots:
void toStandard();
@@ -168,6 +184,7 @@ class VirtualStudio : public QObject
void logout();
void refreshStudios(int index, bool signalRefresh = false);
void refreshDevices();
+ void playOutputAudio();
void revertSettings();
void applySettings();
void connectToStudio(int studioIndex);
@@ -177,6 +194,12 @@ class VirtualStudio : public QObject
void createStudio();
void editProfile();
void showAbout();
+ void updatedInputVuMeasurements(const QVector<float>& valuesInDecibels);
+ void updatedOutputVuMeasurements(const QVector<float>& valuesInDecibels);
+ void setInputVolume(float multiplier);
+ void setOutputVolume(float multiplier);
+ void setInputMuted(bool muted);
+ void setOutputMuted(bool muted);
void exit();
signals:
@@ -189,9 +212,12 @@ class VirtualStudio : public QObject
void showFirstRunChanged();
void hasRefreshTokenChanged();
void logoSectionChanged();
- void audioBackendChanged();
- void inputDeviceChanged();
- void outputDeviceChanged();
+ void audioBackendChanged(bool useRtAudio);
+ void inputDeviceChanged(QString device);
+ void outputDeviceChanged(QString device);
+ void inputDeviceSelected(QString device);
+ void outputDeviceSelected(QString device);
+ void triggerPlayOutputAudio();
void bufferSizeChanged();
void bufferStrategyChanged();
void currentStudioChanged();
@@ -208,10 +234,15 @@ class VirtualStudio : public QObject
void uiScaleChanged();
void newScale();
void darkModeChanged();
+ void testModeChanged();
void signalExit();
void periodicRefresh();
void failedMessageChanged();
void shouldJoinChanged();
+ void updatedInputVolume(float multiplier);
+ void updatedOutputVolume(float multiplier);
+ void updatedInputMuted(bool muted);
+ void updatedOutputMuted(bool muted);
private slots:
void slotAuthSucceded();
@@ -224,8 +255,6 @@ class VirtualStudio : public QObject
void launchBrowser(const QUrl& url);
void joinStudio();
void updatedStats(const QJsonObject& stats);
- void updatedInputVuMeasurements(const QVector<float> valuesInDecibels);
- void updatedOutputVuMeasurements(const QVector<float> valuesInDecibels);
private:
void setupAuthenticator();
@@ -281,7 +310,7 @@ class VirtualStudio : public QObject
bool m_onConnectedScreen = false;
bool m_isExiting = false;
- bool m_showInactive = false;
+ bool m_showInactive = true;
bool m_showSelfHosted = false;
bool m_showCreateStudio = false;
bool m_showDeviceSetup = true;
@@ -290,19 +319,31 @@ class VirtualStudio : public QObject
float m_uiScale;
float m_previousUiScale;
int m_bufferStrategy = 0;
+ QString m_apiHost = PROD_API_HOST;
bool m_darkMode = false;
+ bool m_testMode = false;
QString m_failedMessage = "";
QUrl m_studioToJoin;
bool m_authenticated = false;
Meter* m_inputMeter;
Meter* m_outputMeter;
+ Meter* m_inputTestMeter;
+ Volume* m_inputVolumePlugin;
+ Volume* m_outputVolumePlugin;
QTimer m_inputClipTimer;
QTimer m_outputClipTimer;
float m_meterMax = 0.0;
float m_meterMin = -64.0;
+ float m_inMultiplier = 1.0;
+ float m_outMultiplier = 1.0;
+ bool m_inMuted = false;
+ bool m_outMuted = false;
+
+ QSharedPointer<VsAudioInterface> m_vsAudioInterface;
+
#ifdef RT_AUDIO
QStringList m_inputDeviceList;
QStringList m_outputDeviceList;