mirror of
https://github.com/lubosz/overte.git
synced 2025-08-07 17:41:12 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into emotes_revisions_per_feedback
This commit is contained in:
commit
54ce9be9df
17 changed files with 110 additions and 46 deletions
|
@ -433,7 +433,7 @@ void Agent::executeScript() {
|
||||||
|
|
||||||
using namespace recording;
|
using namespace recording;
|
||||||
static const FrameType AUDIO_FRAME_TYPE = Frame::registerFrameType(AudioConstants::getAudioFrameName());
|
static const FrameType AUDIO_FRAME_TYPE = Frame::registerFrameType(AudioConstants::getAudioFrameName());
|
||||||
Frame::registerFrameHandler(AUDIO_FRAME_TYPE, [this, &scriptedAvatar](Frame::ConstPointer frame) {
|
Frame::registerFrameHandler(AUDIO_FRAME_TYPE, [this, &player, &scriptedAvatar](Frame::ConstPointer frame) {
|
||||||
if (_shouldMuteRecordingAudio) {
|
if (_shouldMuteRecordingAudio) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -442,9 +442,18 @@ void Agent::executeScript() {
|
||||||
|
|
||||||
QByteArray audio(frame->data);
|
QByteArray audio(frame->data);
|
||||||
|
|
||||||
|
int16_t* samples = reinterpret_cast<int16_t*>(audio.data());
|
||||||
|
int numSamples = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL;
|
||||||
|
|
||||||
|
auto volume = player->getVolume();
|
||||||
|
if (volume >= 0.0f && volume < 1.0f) {
|
||||||
|
int32_t fract = (int32_t)(volume * (float)(1 << 16)); // Q16
|
||||||
|
for (int i = 0; i < numSamples; i++) {
|
||||||
|
samples[i] = (fract * (int32_t)samples[i]) >> 16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (_isNoiseGateEnabled) {
|
if (_isNoiseGateEnabled) {
|
||||||
int16_t* samples = reinterpret_cast<int16_t*>(audio.data());
|
|
||||||
int numSamples = AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL;
|
|
||||||
_audioGate.render(samples, samples, numSamples);
|
_audioGate.render(samples, samples, numSamples);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -257,27 +257,26 @@ endif()
|
||||||
|
|
||||||
def installQt(self):
|
def installQt(self):
|
||||||
qt5InstallPath = self.getQt5InstallPath()
|
qt5InstallPath = self.getQt5InstallPath()
|
||||||
if os.getenv('QT_CMAKE_PREFIX_PATH') == None:
|
if not os.path.isdir(qt5InstallPath):
|
||||||
if not os.path.isdir(qt5InstallPath):
|
print ('Downloading Qt from AWS')
|
||||||
print ('Downloading Qt from AWS')
|
dest, tail = os.path.split(qt5InstallPath)
|
||||||
dest, tail = os.path.split(qt5InstallPath)
|
|
||||||
|
|
||||||
url = 'NOT DEFINED'
|
url = 'NOT DEFINED'
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-windows3.tar.gz'
|
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-windows3.tar.gz'
|
||||||
elif platform.system() == 'Darwin':
|
elif platform.system() == 'Darwin':
|
||||||
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-macos3.tar.gz'
|
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-macos3.tar.gz'
|
||||||
elif platform.system() == 'Linux':
|
elif platform.system() == 'Linux':
|
||||||
if platform.linux_distribution()[1][:3] == '16.':
|
if platform.linux_distribution()[1][:3] == '16.':
|
||||||
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz'
|
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-16.04-with-symbols.tar.gz'
|
||||||
elif platform.linux_distribution()[1][:3] == '18.':
|
elif platform.linux_distribution()[1][:3] == '18.':
|
||||||
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-18.04.tar.gz'
|
url = 'https://hifi-public.s3.amazonaws.com/dependencies/vcpkg/qt5-install-5.12.3-ubuntu-18.04.tar.gz'
|
||||||
else:
|
|
||||||
print('UNKNOWN LINUX VERSION!!!')
|
|
||||||
else:
|
else:
|
||||||
print('UNKNOWN OPERATING SYSTEM!!!')
|
print('UNKNOWN LINUX VERSION!!!')
|
||||||
|
|
||||||
print('Extracting ' + url + ' to ' + dest)
|
|
||||||
hifi_utils.downloadAndExtract(url, dest)
|
|
||||||
else:
|
else:
|
||||||
print ('Qt has already been downloaded')
|
print('UNKNOWN OPERATING SYSTEM!!!')
|
||||||
|
|
||||||
|
print('Extracting ' + url + ' to ' + dest)
|
||||||
|
hifi_utils.downloadAndExtract(url, dest)
|
||||||
|
else:
|
||||||
|
print ('Qt has already been downloaded')
|
||||||
|
|
|
@ -699,8 +699,8 @@ Item {
|
||||||
spacing: controlsTableRoot.rowPadding
|
spacing: controlsTableRoot.rowPadding
|
||||||
|
|
||||||
HifiStylesUit.GraphikRegular {
|
HifiStylesUit.GraphikRegular {
|
||||||
id: mirrorText
|
id: selfieText
|
||||||
text: "Mirror Mode"
|
text: "Selfie"
|
||||||
width: paintedWidth
|
width: paintedWidth
|
||||||
height: parent.height
|
height: parent.height
|
||||||
horizontalAlignment: Text.AlignLeft
|
horizontalAlignment: Text.AlignLeft
|
||||||
|
@ -710,8 +710,8 @@ Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
HifiStylesUit.GraphikRegular {
|
HifiStylesUit.GraphikRegular {
|
||||||
text: "See your own avatar"
|
text: "Look at self"
|
||||||
width: parent.width - mirrorText.width - parent.spacing - controlsTableRoot.rowPadding
|
width: parent.width - selfieText.width - parent.spacing - controlsTableRoot.rowPadding
|
||||||
height: parent.height
|
height: parent.height
|
||||||
horizontalAlignment: Text.AlignLeft
|
horizontalAlignment: Text.AlignLeft
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
|
|
@ -234,9 +234,19 @@ Flickable {
|
||||||
SimplifiedControls.RadioButton {
|
SimplifiedControls.RadioButton {
|
||||||
id: thirdPerson
|
id: thirdPerson
|
||||||
text: "Third Person View"
|
text: "Third Person View"
|
||||||
checked: Camera.mode === "third person"
|
checked: Camera.mode === "look at"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
Camera.mode = "third person"
|
Camera.mode = "look at"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SimplifiedControls.RadioButton {
|
||||||
|
id: selfie
|
||||||
|
text: "Selfie"
|
||||||
|
checked: Camera.mode === "selfie"
|
||||||
|
visible: true
|
||||||
|
onClicked: {
|
||||||
|
Camera.mode = "selfie"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -246,11 +256,21 @@ Flickable {
|
||||||
onModeUpdated: {
|
onModeUpdated: {
|
||||||
if (Camera.mode === "first person") {
|
if (Camera.mode === "first person") {
|
||||||
firstPerson.checked = true
|
firstPerson.checked = true
|
||||||
} else if (Camera.mode === "third person") {
|
} else if (Camera.mode === "look at") {
|
||||||
thirdPerson.checked = true
|
thirdPerson.checked = true
|
||||||
|
} else if (Camera.mode === "selfie" && HMD.active) {
|
||||||
|
selfie.checked = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: HMD
|
||||||
|
|
||||||
|
onDisplayModeChanged: {
|
||||||
|
selfie.visible = isHMDMode ? false : true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,9 @@ Rectangle {
|
||||||
property bool inventoryFullyReceived: false
|
property bool inventoryFullyReceived: false
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
var numTimesRun = Settings.getValue("simplifiedUI/SUIScriptExecutionCount", 0);
|
||||||
|
numTimesRun++;
|
||||||
|
Settings.setValue("simplifiedUI/SUIScriptExecutionCount", numTimesRun);
|
||||||
Commerce.getLoginStatus();
|
Commerce.getLoginStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +55,7 @@ Rectangle {
|
||||||
if ((MyAvatar.skeletonModelURL.indexOf("defaultAvatar") > -1 || MyAvatar.skeletonModelURL.indexOf("fst") === -1) &&
|
if ((MyAvatar.skeletonModelURL.indexOf("defaultAvatar") > -1 || MyAvatar.skeletonModelURL.indexOf("fst") === -1) &&
|
||||||
topBarInventoryModel.count > 0) {
|
topBarInventoryModel.count > 0) {
|
||||||
Settings.setValue("simplifiedUI/alreadyAutoSelectedAvatar", true);
|
Settings.setValue("simplifiedUI/alreadyAutoSelectedAvatar", true);
|
||||||
MyAvatar.skeletonModelURL = topBarInventoryModel.get(0).download_url;
|
MyAvatar.useFullAvatarURL = topBarInventoryModel.get(0).download_url;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -856,9 +856,9 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
|
||||||
DependencyManager::set<VirtualPad::Manager>();
|
DependencyManager::set<VirtualPad::Manager>();
|
||||||
DependencyManager::set<DesktopPreviewProvider>();
|
DependencyManager::set<DesktopPreviewProvider>();
|
||||||
#if defined(Q_OS_ANDROID)
|
#if defined(Q_OS_ANDROID)
|
||||||
DependencyManager::set<AccountManager>(); // use the default user agent getter
|
DependencyManager::set<AccountManager>(true); // use the default user agent getter
|
||||||
#else
|
#else
|
||||||
DependencyManager::set<AccountManager>(std::bind(&Application::getUserAgent, qApp));
|
DependencyManager::set<AccountManager>(true, std::bind(&Application::getUserAgent, qApp));
|
||||||
#endif
|
#endif
|
||||||
DependencyManager::set<StatTracker>();
|
DependencyManager::set<StatTracker>();
|
||||||
DependencyManager::set<ScriptEngines>(ScriptEngine::CLIENT_SCRIPT, defaultScriptsOverrideOption);
|
DependencyManager::set<ScriptEngines>(ScriptEngine::CLIENT_SCRIPT, defaultScriptsOverrideOption);
|
||||||
|
|
|
@ -4144,6 +4144,7 @@ void MyAvatar::goToLocation(const glm::vec3& newPosition,
|
||||||
_goToOrientation = quatOrientation;
|
_goToOrientation = quatOrientation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resetLookAtRotation(_goToPosition, _goToOrientation);
|
||||||
emit transformChanged();
|
emit transformChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5996,6 +5997,7 @@ bool MyAvatar::pinJoint(int index, const glm::vec3& position, const glm::quat& o
|
||||||
}
|
}
|
||||||
|
|
||||||
slamPosition(position);
|
slamPosition(position);
|
||||||
|
resetLookAtRotation(position, orientation);
|
||||||
setWorldOrientation(orientation);
|
setWorldOrientation(orientation);
|
||||||
|
|
||||||
auto it = std::find(_pinnedJoints.begin(), _pinnedJoints.end(), index);
|
auto it = std::find(_pinnedJoints.begin(), _pinnedJoints.end(), index);
|
||||||
|
@ -6662,6 +6664,15 @@ void MyAvatar::resetHeadLookAt() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyAvatar::resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation) {
|
||||||
|
// Align the look at values to the given avatar orientation
|
||||||
|
float yaw = safeEulerAngles(avatarOrientation).y;
|
||||||
|
_lookAtYaw = glm::angleAxis(yaw, avatarOrientation * Vectors::UP);
|
||||||
|
_lookAtPitch = Quaternions::IDENTITY;
|
||||||
|
_lookAtCameraTarget = avatarPosition + avatarOrientation * Vectors::FRONT;
|
||||||
|
resetHeadLookAt();
|
||||||
|
}
|
||||||
|
|
||||||
void MyAvatar::updateHeadLookAt(float deltaTime) {
|
void MyAvatar::updateHeadLookAt(float deltaTime) {
|
||||||
if (_skeletonModelLoaded) {
|
if (_skeletonModelLoaded) {
|
||||||
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
|
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
|
||||||
|
|
|
@ -2654,11 +2654,6 @@ private:
|
||||||
bool _scriptControlsHeadLookAt { false };
|
bool _scriptControlsHeadLookAt { false };
|
||||||
float _scriptHeadControlTimer { 0.0f };
|
float _scriptHeadControlTimer { 0.0f };
|
||||||
|
|
||||||
// LookAt camera data
|
|
||||||
float _selfieTriggerAngle { 55.0f };
|
|
||||||
float _frontLookAtSpeed { 0.15f };
|
|
||||||
float _backLookAtSpeed { 0.25f };
|
|
||||||
|
|
||||||
Setting::Handle<float> _realWorldFieldOfView;
|
Setting::Handle<float> _realWorldFieldOfView;
|
||||||
Setting::Handle<bool> _useAdvancedMovementControls;
|
Setting::Handle<bool> _useAdvancedMovementControls;
|
||||||
Setting::Handle<bool> _showPlayArea;
|
Setting::Handle<bool> _showPlayArea;
|
||||||
|
@ -2685,6 +2680,7 @@ private:
|
||||||
void initFlowFromFST();
|
void initFlowFromFST();
|
||||||
void updateHeadLookAt(float deltaTime);
|
void updateHeadLookAt(float deltaTime);
|
||||||
void resetHeadLookAt();
|
void resetHeadLookAt();
|
||||||
|
void resetLookAtRotation(const glm::vec3& avatarPosition, const glm::quat& avatarOrientation);
|
||||||
|
|
||||||
// Avatar Preferences
|
// Avatar Preferences
|
||||||
QUrl _fullAvatarURLFromPreferences;
|
QUrl _fullAvatarURLFromPreferences;
|
||||||
|
|
|
@ -73,9 +73,10 @@ QJsonObject AccountManager::dataObjectFromResponse(QNetworkReply* requestReply)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AccountManager::AccountManager(UserAgentGetter userAgentGetter) :
|
AccountManager::AccountManager(bool accountSettingsEnabled, UserAgentGetter userAgentGetter) :
|
||||||
_userAgentGetter(userAgentGetter),
|
_userAgentGetter(userAgentGetter),
|
||||||
_authURL()
|
_authURL(),
|
||||||
|
_accountSettingsEnabled(accountSettingsEnabled)
|
||||||
{
|
{
|
||||||
qRegisterMetaType<OAuthAccessToken>("OAuthAccessToken");
|
qRegisterMetaType<OAuthAccessToken>("OAuthAccessToken");
|
||||||
qRegisterMetaTypeStreamOperators<OAuthAccessToken>("OAuthAccessToken");
|
qRegisterMetaTypeStreamOperators<OAuthAccessToken>("OAuthAccessToken");
|
||||||
|
@ -796,6 +797,10 @@ void AccountManager::requestProfileError(QNetworkReply::NetworkError error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountManager::requestAccountSettings() {
|
void AccountManager::requestAccountSettings() {
|
||||||
|
if (!_accountSettingsEnabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||||
|
|
||||||
QUrl lockerURL = _authURL;
|
QUrl lockerURL = _authURL;
|
||||||
|
@ -840,6 +845,10 @@ void AccountManager::requestAccountSettingsError(QNetworkReply::NetworkError err
|
||||||
}
|
}
|
||||||
|
|
||||||
void AccountManager::postAccountSettings() {
|
void AccountManager::postAccountSettings() {
|
||||||
|
if (!_accountSettingsEnabled) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (_settings.lastChangeTimestamp() <= _lastSuccessfulSyncTimestamp && _lastSuccessfulSyncTimestamp != 0) {
|
if (_settings.lastChangeTimestamp() <= _lastSuccessfulSyncTimestamp && _lastSuccessfulSyncTimestamp != 0) {
|
||||||
// Nothing changed, skipping settings post
|
// Nothing changed, skipping settings post
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -60,7 +60,7 @@ const auto DEFAULT_USER_AGENT_GETTER = []() -> QString { return HIGH_FIDELITY_US
|
||||||
class AccountManager : public QObject, public Dependency {
|
class AccountManager : public QObject, public Dependency {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
AccountManager(UserAgentGetter userAgentGetter = DEFAULT_USER_AGENT_GETTER);
|
AccountManager(bool accountSettingsEnabled = false, UserAgentGetter userAgentGetter = DEFAULT_USER_AGENT_GETTER);
|
||||||
|
|
||||||
QNetworkRequest createRequest(QString path, AccountManagerAuth::Type authType);
|
QNetworkRequest createRequest(QString path, AccountManagerAuth::Type authType);
|
||||||
Q_INVOKABLE void sendRequest(const QString& path,
|
Q_INVOKABLE void sendRequest(const QString& path,
|
||||||
|
@ -182,6 +182,7 @@ private:
|
||||||
bool _limitedCommerce { false };
|
bool _limitedCommerce { false };
|
||||||
QString _configFileURL;
|
QString _configFileURL;
|
||||||
|
|
||||||
|
bool _accountSettingsEnabled { false };
|
||||||
AccountSettings _settings;
|
AccountSettings _settings;
|
||||||
quint64 _currentSyncTimestamp { 0 };
|
quint64 _currentSyncTimestamp { 0 };
|
||||||
quint64 _lastSuccessfulSyncTimestamp { 0 };
|
quint64 _lastSuccessfulSyncTimestamp { 0 };
|
||||||
|
|
|
@ -103,6 +103,10 @@ float Deck::position() const {
|
||||||
return Frame::frameTimeToSeconds(currentPosition);
|
return Frame::frameTimeToSeconds(currentPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Deck::setVolume(float volume) {
|
||||||
|
_volume = std::min(std::max(volume, 0.0f), 1.0f);
|
||||||
|
}
|
||||||
|
|
||||||
static const Frame::Time MIN_FRAME_WAIT_INTERVAL = Frame::secondsToFrameTime(0.001f);
|
static const Frame::Time MIN_FRAME_WAIT_INTERVAL = Frame::secondsToFrameTime(0.001f);
|
||||||
static const Frame::Time MAX_FRAME_PROCESSING_TIME = Frame::secondsToFrameTime(0.004f);
|
static const Frame::Time MAX_FRAME_PROCESSING_TIME = Frame::secondsToFrameTime(0.004f);
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,9 @@ public:
|
||||||
float position() const;
|
float position() const;
|
||||||
void seek(float position);
|
void seek(float position);
|
||||||
|
|
||||||
|
float getVolume() const { return _volume; }
|
||||||
|
void setVolume(float volume);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void playbackStateChanged();
|
void playbackStateChanged();
|
||||||
void looped();
|
void looped();
|
||||||
|
@ -76,6 +79,7 @@ private:
|
||||||
bool _pause { true };
|
bool _pause { true };
|
||||||
bool _loop { false };
|
bool _loop { false };
|
||||||
float _length { 0 };
|
float _length { 0 };
|
||||||
|
float _volume { 1.0f };
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ void RecordingScriptingInterface::startPlaying() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordingScriptingInterface::setPlayerVolume(float volume) {
|
void RecordingScriptingInterface::setPlayerVolume(float volume) {
|
||||||
// FIXME
|
_player->setVolume(std::min(std::max(volume, 0.0f), 1.0f));
|
||||||
}
|
}
|
||||||
|
|
||||||
void RecordingScriptingInterface::setPlayerAudioOffset(float audioOffset) {
|
void RecordingScriptingInterface::setPlayerAudioOffset(float audioOffset) {
|
||||||
|
|
|
@ -95,8 +95,9 @@ public slots:
|
||||||
|
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
|
* Sets the playback audio volume.
|
||||||
* @function Recording.setPlayerVolume
|
* @function Recording.setPlayerVolume
|
||||||
* @param {number} volume
|
* @param {number} volume - The playback audio volume, range <code>0.0</code> – <code>1.0</code>.
|
||||||
*/
|
*/
|
||||||
void setPlayerVolume(float volume);
|
void setPlayerVolume(float volume);
|
||||||
|
|
||||||
|
|
|
@ -532,6 +532,11 @@ function onGeometryChanged(rect) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onWindowMinimizedChanged() {
|
||||||
|
// prerequisite placeholder for Reduce Friction of Customer Acquisition sub task: https://highfidelity.atlassian.net/browse/DEV-585
|
||||||
|
print("WINDOW MINIMIZED CHANGED SIGNAL");
|
||||||
|
}
|
||||||
|
|
||||||
function onDisplayModeChanged(isHMDMode) {
|
function onDisplayModeChanged(isHMDMode) {
|
||||||
if (isHMDMode) {
|
if (isHMDMode) {
|
||||||
Camera.setModeString("first person");
|
Camera.setModeString("first person");
|
||||||
|
@ -612,6 +617,7 @@ function startup() {
|
||||||
Audio.mutedDesktopChanged.connect(onDesktopInputDeviceMutedChanged);
|
Audio.mutedDesktopChanged.connect(onDesktopInputDeviceMutedChanged);
|
||||||
Audio.mutedHMDChanged.connect(onHMDInputDeviceMutedChanged);
|
Audio.mutedHMDChanged.connect(onHMDInputDeviceMutedChanged);
|
||||||
Window.geometryChanged.connect(onGeometryChanged);
|
Window.geometryChanged.connect(onGeometryChanged);
|
||||||
|
Window.minimizedChanged.connect(onWindowMinimizedChanged);
|
||||||
HMD.displayModeChanged.connect(onDisplayModeChanged);
|
HMD.displayModeChanged.connect(onDisplayModeChanged);
|
||||||
Audio.avatarGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay);
|
Audio.avatarGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay);
|
||||||
Audio.localInjectorGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay);
|
Audio.localInjectorGainChanged.connect(maybeUpdateOutputDeviceMutedOverlay);
|
||||||
|
@ -657,6 +663,7 @@ function shutdown() {
|
||||||
Audio.mutedDesktopChanged.disconnect(onDesktopInputDeviceMutedChanged);
|
Audio.mutedDesktopChanged.disconnect(onDesktopInputDeviceMutedChanged);
|
||||||
Audio.mutedHMDChanged.disconnect(onHMDInputDeviceMutedChanged);
|
Audio.mutedHMDChanged.disconnect(onHMDInputDeviceMutedChanged);
|
||||||
Window.geometryChanged.disconnect(onGeometryChanged);
|
Window.geometryChanged.disconnect(onGeometryChanged);
|
||||||
|
Window.minimizedChanged.disconnect(onWindowMinimizedChanged);
|
||||||
HMD.displayModeChanged.disconnect(onDisplayModeChanged);
|
HMD.displayModeChanged.disconnect(onDisplayModeChanged);
|
||||||
Audio.avatarGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay);
|
Audio.avatarGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay);
|
||||||
Audio.localInjectorGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay);
|
Audio.localInjectorGainChanged.disconnect(maybeUpdateOutputDeviceMutedOverlay);
|
||||||
|
|
|
@ -100,7 +100,7 @@ ACClientApp::ACClientApp(int argc, char* argv[]) :
|
||||||
|
|
||||||
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
|
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
|
||||||
|
|
||||||
DependencyManager::set<AccountManager>([&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); });
|
DependencyManager::set<AccountManager>(false, [&]{ return QString("Mozilla/5.0 (HighFidelityACClient)"); });
|
||||||
DependencyManager::set<AddressManager>();
|
DependencyManager::set<AddressManager>();
|
||||||
DependencyManager::set<NodeList>(NodeType::Agent, listenPort);
|
DependencyManager::set<NodeList>(NodeType::Agent, listenPort);
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ ATPClientApp::ATPClientApp(int argc, char* argv[]) :
|
||||||
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
|
DependencyManager::registerInheritance<LimitedNodeList, NodeList>();
|
||||||
|
|
||||||
DependencyManager::set<StatTracker>();
|
DependencyManager::set<StatTracker>();
|
||||||
DependencyManager::set<AccountManager>([&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); });
|
DependencyManager::set<AccountManager>(false, [&]{ return QString(HIGH_FIDELITY_ATP_CLIENT_USER_AGENT); });
|
||||||
DependencyManager::set<AddressManager>();
|
DependencyManager::set<AddressManager>();
|
||||||
DependencyManager::set<NodeList>(NodeType::Agent, _listenPort);
|
DependencyManager::set<NodeList>(NodeType::Agent, _listenPort);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue