3
0
Fork 0
mirror of https://github.com/lubosz/overte.git synced 2025-04-26 06:55:39 +02:00

don't disable server echo when audio qml page is closed

This commit is contained in:
Seth Alves 2019-02-23 14:23:09 -08:00 committed by Wayne Chen
parent d5e8cba1ee
commit 9614216006
3 changed files with 50 additions and 8 deletions
interface/resources/qml/hifi/audio
libraries/script-engine/src

View file

@ -17,7 +17,7 @@ import stylesUit 1.0
import controlsUit 1.0 as HifiControls
RowLayout {
property bool audioLoopedBack: false;
property bool audioLoopedBack: AudioScriptingInterface.getServerEcho();
function startAudioLoopback() {
if (!audioLoopedBack) {
audioLoopedBack = true;
@ -31,13 +31,6 @@ RowLayout {
}
}
Component.onDestruction: stopAudioLoopback();
onVisibleChanged: {
if (!visible) {
stopAudioLoopback();
}
}
HifiConstants { id: hifi; }
Button {

View file

@ -89,14 +89,42 @@ bool AudioScriptingInterface::isStereoInput() {
return stereoEnabled;
}
bool AudioScriptingInterface::getServerEcho() {
bool serverEchoEnabled = false;
if (_localAudioInterface) {
serverEchoEnabled = _localAudioInterface->getServerEcho();
}
return serverEchoEnabled;
}
void AudioScriptingInterface::setServerEcho(bool serverEcho) {
if (_localAudioInterface) {
QMetaObject::invokeMethod(_localAudioInterface, "setServerEcho", Q_ARG(bool, serverEcho));
}
}
void AudioScriptingInterface::toggleServerEcho() {
if (_localAudioInterface) {
QMetaObject::invokeMethod(_localAudioInterface, "toggleServerEcho");
}
}
bool AudioScriptingInterface::getLocalEcho() {
bool localEchoEnabled = false;
if (_localAudioInterface) {
localEchoEnabled = _localAudioInterface->getLocalEcho();
}
return localEchoEnabled;
}
void AudioScriptingInterface::setLocalEcho(bool localEcho) {
if (_localAudioInterface) {
QMetaObject::invokeMethod(_localAudioInterface, "setLocalEcho", Q_ARG(bool, localEcho));
}
}
void AudioScriptingInterface::toggleLocalEcho() {
if (_localAudioInterface) {
QMetaObject::invokeMethod(_localAudioInterface, "toggleLocalEcho");
}
}

View file

@ -66,18 +66,39 @@ public:
_localAudioInterface->getAudioSolo().reset();
}
/**jsdoc
* @function Audio.getServerEcho
*/
Q_INVOKABLE bool getServerEcho();
/**jsdoc
* @function Audio.setServerEcho
* @parm {boolean} serverEcho
*/
Q_INVOKABLE void setServerEcho(bool serverEcho);
/**jsdoc
* @function Audio.toggleServerEcho
*/
Q_INVOKABLE void toggleServerEcho();
/**jsdoc
* @function Audio.getLocalEcho
*/
Q_INVOKABLE bool getLocalEcho();
/**jsdoc
* @function Audio.setLocalEcho
* @parm {boolean} localEcho
*/
Q_INVOKABLE void setLocalEcho(bool localEcho);
/**jsdoc
* @function Audio.toggleLocalEcho
*/
Q_INVOKABLE void toggleLocalEcho();
protected:
AudioScriptingInterface() = default;