mirror of
https://github.com/overte-org/overte.git
synced 2025-07-24 12:04:38 +02:00
make server-audio-loopback button work in HMDs
This commit is contained in:
parent
6ee236e783
commit
d5e8cba1ee
5 changed files with 40 additions and 9 deletions
|
@ -21,13 +21,13 @@ RowLayout {
|
||||||
function startAudioLoopback() {
|
function startAudioLoopback() {
|
||||||
if (!audioLoopedBack) {
|
if (!audioLoopedBack) {
|
||||||
audioLoopedBack = true;
|
audioLoopedBack = true;
|
||||||
AudioScope.setServerEcho(true);
|
AudioScriptingInterface.setServerEcho(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function stopAudioLoopback () {
|
function stopAudioLoopback () {
|
||||||
if (audioLoopedBack) {
|
if (audioLoopedBack) {
|
||||||
audioLoopedBack = false;
|
audioLoopedBack = false;
|
||||||
AudioScope.setServerEcho(false);
|
AudioScriptingInterface.setServerEcho(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -213,13 +213,13 @@ public slots:
|
||||||
void setWarnWhenMuted(bool isNoiseGateEnabled, bool emitSignal = true);
|
void setWarnWhenMuted(bool isNoiseGateEnabled, bool emitSignal = true);
|
||||||
bool isWarnWhenMutedEnabled() const { return _warnWhenMuted; }
|
bool isWarnWhenMutedEnabled() const { return _warnWhenMuted; }
|
||||||
|
|
||||||
bool getLocalEcho() { return _shouldEchoLocally; }
|
virtual bool getLocalEcho() override { return _shouldEchoLocally; }
|
||||||
void setLocalEcho(bool localEcho) { _shouldEchoLocally = localEcho; }
|
virtual void setLocalEcho(bool localEcho) override { _shouldEchoLocally = localEcho; }
|
||||||
void toggleLocalEcho() { _shouldEchoLocally = !_shouldEchoLocally; }
|
virtual void toggleLocalEcho() override { _shouldEchoLocally = !_shouldEchoLocally; }
|
||||||
|
|
||||||
bool getServerEcho() { return _shouldEchoToServer; }
|
virtual bool getServerEcho() override { return _shouldEchoToServer; }
|
||||||
void setServerEcho(bool serverEcho) { _shouldEchoToServer = serverEcho; }
|
virtual void setServerEcho(bool serverEcho) override { _shouldEchoToServer = serverEcho; }
|
||||||
void toggleServerEcho() { _shouldEchoToServer = !_shouldEchoToServer; }
|
virtual void toggleServerEcho() override { _shouldEchoToServer = !_shouldEchoToServer; }
|
||||||
|
|
||||||
void processReceivedSamples(const QByteArray& inputBuffer, QByteArray& outputBuffer);
|
void processReceivedSamples(const QByteArray& inputBuffer, QByteArray& outputBuffer);
|
||||||
void sendMuteEnvironmentPacket();
|
void sendMuteEnvironmentPacket();
|
||||||
|
|
|
@ -45,9 +45,16 @@ public slots:
|
||||||
virtual bool shouldLoopbackInjectors() { return false; }
|
virtual bool shouldLoopbackInjectors() { return false; }
|
||||||
|
|
||||||
virtual bool setIsStereoInput(bool stereo) = 0;
|
virtual bool setIsStereoInput(bool stereo) = 0;
|
||||||
|
|
||||||
virtual bool isStereoInput() = 0;
|
virtual bool isStereoInput() = 0;
|
||||||
|
|
||||||
|
virtual bool getLocalEcho() = 0;
|
||||||
|
virtual void setLocalEcho(bool localEcho) = 0;
|
||||||
|
virtual void toggleLocalEcho() = 0;
|
||||||
|
|
||||||
|
virtual bool getServerEcho() = 0;
|
||||||
|
virtual void setServerEcho(bool serverEcho) = 0;
|
||||||
|
virtual void toggleServerEcho() = 0;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void isStereoInputChanged(bool isStereo);
|
void isStereoInputChanged(bool isStereo);
|
||||||
};
|
};
|
||||||
|
|
|
@ -88,3 +88,15 @@ bool AudioScriptingInterface::isStereoInput() {
|
||||||
}
|
}
|
||||||
return stereoEnabled;
|
return stereoEnabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudioScriptingInterface::setServerEcho(bool serverEcho) {
|
||||||
|
if (_localAudioInterface) {
|
||||||
|
QMetaObject::invokeMethod(_localAudioInterface, "setServerEcho", Q_ARG(bool, serverEcho));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AudioScriptingInterface::setLocalEcho(bool localEcho) {
|
||||||
|
if (_localAudioInterface) {
|
||||||
|
QMetaObject::invokeMethod(_localAudioInterface, "setLocalEcho", Q_ARG(bool, localEcho));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -66,6 +66,18 @@ public:
|
||||||
_localAudioInterface->getAudioSolo().reset();
|
_localAudioInterface->getAudioSolo().reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**jsdoc
|
||||||
|
* @function Audio.setServerEcho
|
||||||
|
* @parm {boolean} serverEcho
|
||||||
|
*/
|
||||||
|
Q_INVOKABLE void setServerEcho(bool serverEcho);
|
||||||
|
|
||||||
|
/**jsdoc
|
||||||
|
* @function Audio.setLocalEcho
|
||||||
|
* @parm {boolean} localEcho
|
||||||
|
*/
|
||||||
|
Q_INVOKABLE void setLocalEcho(bool localEcho);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
AudioScriptingInterface() = default;
|
AudioScriptingInterface() = default;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue