diff --git a/unpublishedScripts/marketplace/camera-move/app-camera-move.js b/unpublishedScripts/marketplace/camera-move/app-camera-move.js
index ae28e9edc1..f58dd3d3bd 100644
--- a/unpublishedScripts/marketplace/camera-move/app-camera-move.js
+++ b/unpublishedScripts/marketplace/camera-move/app-camera-move.js
@@ -81,6 +81,12 @@ var DEFAULTS = {
'ui-enable-tooltips': true,
'ui-show-advanced-options': false,
+
+ 'Avatar/Draw Mesh': true,
+ 'Scene/shouldRenderEntities': true,
+ 'Scene/shouldRenderAvatars': true,
+ 'Avatar/Show My Eye Vectors': false,
+ 'Avatar/Show Other Eye Vectors': false,
};
// map setting names to/from corresponding Menu and API properties
@@ -203,8 +209,9 @@ function main() {
log('settingsApp.valueUpdated: '+ key + ' = ' + JSON.stringify(value) + ' (was: ' + JSON.stringify(oldValue) + ')');
if (/tablet/i.test(origin)) {
// apply relevant settings immediately if changed from the tablet UI
- log('applying immediate setting', key, value);
- applicationConfig.applyValue(key, value, origin);
+ if (applicationConfig.applyValue(key, value, origin)) {
+ log('settingsApp applied immediate setting', key, value);
+ }
}
});
@@ -228,6 +235,9 @@ function main() {
} break;
case 'reset': {
var resetValues = {};
+ // maintain current value of 'show advanced' so user can observe any advanced settings being reset
+ var showAdvancedKey = cameraConfig.resolve('ui-show-advanced-options');
+ resetValues[showAdvancedKey] = cameraConfig.getValue(showAdvancedKey);
Object.keys(DEFAULTS).reduce(function(out, key) {
var resolved = cameraConfig.resolve(key);
out[resolved] = resolved in out ? out[resolved] : DEFAULTS[key];
@@ -396,8 +406,10 @@ function main() {
'triggerReset: ' + triggerReset);
if (/tablet/i.test(origin)) {
- log('applying immediate setting', key, value);
- applicationConfig.applyValue(key, value, origin);
+ if (applicationConfig.applyValue(key, value, origin)) {
+ log('cameraConfig applied immediate setting', key, value);
+ }
+
}
triggerReset && cameraControls.reset();
});
diff --git a/unpublishedScripts/marketplace/camera-move/app.html b/unpublishedScripts/marketplace/camera-move/app.html
index b23ecd99ac..00df8e7514 100644
--- a/unpublishedScripts/marketplace/camera-move/app.html
+++ b/unpublishedScripts/marketplace/camera-move/app.html
@@ -119,6 +119,7 @@ try {
function onValueReceived(key, value, oldValue, origin) {
onMutationEvent.paused++;
try {
+ //debugPrint('>>> onValueReceived', key, value, origin);
jquerySettings.setValue(key, value, origin);
} finally {
setTimeout(function() { onMutationEvent.paused--; }, 1);
@@ -135,10 +136,11 @@ try {
var THROTTLE_DELAY_MS = 500;
function throttledSend(update) {
- var hash = [update.key, update.method].join('-');
- window.clearTimeout(throttledSend[hash]);
- throttledSend[hash] = window.setTimeout(function() {
- delete throttledSend[hash];
+ var $hash = [update.params[0], update.method].join('-'); // key-method
+ window.clearTimeout(throttledSend[$hash]);
+ throttledSend[$hash] = window.setTimeout(function() {
+ delete throttledSend[$hash];
+ //debugPrint('>>> throttled mutation event:', $hash, update.method, update.params);
bridgedSettings.sendEvent(update);
}, THROTTLE_DELAY_MS);
}
@@ -147,11 +149,14 @@ try {
function onMutationEvent(event) {
assert(onMutationEvent.paused >= 0);
if (!onMutationEvent.paused) {
+ //debugPrint('>>> mutation event:', event.key, event.value);
throttledSend({
method: 'valueUpdated', params: [
event.key, event.value, event.oldValue, event.hifiType
]
});
+ } else {
+ //debugPrint('>> (paused) mutation event:', event.key, event.value);
}
}
@@ -492,6 +497,7 @@ try {
trigger MyAvatar > Reset Sensors;reset bodyPitch and bodyYaw
+
diff --git a/unpublishedScripts/marketplace/camera-move/app.js b/unpublishedScripts/marketplace/camera-move/app.js
index 0ab6884bac..96805b9140 100644
--- a/unpublishedScripts/marketplace/camera-move/app.js
+++ b/unpublishedScripts/marketplace/camera-move/app.js
@@ -19,6 +19,11 @@ function setupUI() {
var $json = SettingsJSON;
window.buttonHandlers = {
+ 'test-event-bridge': function() {
+ log('bridgedSettings.eventBridge === Window.EventBridge', bridgedSettings.eventBridge === window.EventBridge);
+ bridgedSettings.sendEvent({ method: 'test-event-bridge' });
+ EventBridge.emitWebEvent('EventBridge.emitWebEvent: testing 1..2..3..');
+ },
'page-reload': function() {
log('triggering location.reload');
location.reload();
diff --git a/unpublishedScripts/marketplace/camera-move/hifi-jquery-ui.js b/unpublishedScripts/marketplace/camera-move/hifi-jquery-ui.js
index 5ad4cfe4d6..31f2186ee1 100644
--- a/unpublishedScripts/marketplace/camera-move/hifi-jquery-ui.js
+++ b/unpublishedScripts/marketplace/camera-move/hifi-jquery-ui.js
@@ -105,11 +105,11 @@ $.widget('ui.hifiButton', $.ui.button, {
var checked = (dataset.checked === 'true');
nv = (nv === 'true' || !!nv);
if (nv !== checked) {
- log('hifibutton checked changed', nv, checked);
+ debugPrint('hifibutton checked changed', nv, checked);
dataset.checked = nv;
this.element.change();
} else {
- log('hifibutton value same', nv, checked);
+ debugPrint('hifibutton value same', nv, checked);
}
}
return dataset.checked === 'true';
@@ -133,11 +133,11 @@ $.widget('ui.hifiButton', $.ui.button, {
this.element.find('.tooltip-target').removeClass('tooltip-target');
this.element.prop('id', 'button-'+this.element.prop('id'));
checkbox.element.on('change._hifiButton', function() {
- log('checkbox -> button');
+ debugPrint('checkbox -> button');
this.value(checkbox.value());
}.bind(this));
this.element.on('change', function() {
- log('button -> checkbox');
+ debugPrint('button -> checkbox');
checkbox.value(this.value());
}.bind(this));
this.checkbox = checkbox;
diff --git a/unpublishedScripts/marketplace/camera-move/modules/_utils.js b/unpublishedScripts/marketplace/camera-move/modules/_utils.js
index 4e25b603d4..8e57e5b7cf 100644
--- a/unpublishedScripts/marketplace/camera-move/modules/_utils.js
+++ b/unpublishedScripts/marketplace/camera-move/modules/_utils.js
@@ -244,7 +244,9 @@ function BrowserUtils(global) {
qt = assert(global.qt, 'expected global.qt to exist');
assert(qt.webChannelTransport, 'expected global.qt.webChannelTransport to exist');
new QWebChannel(qt.webChannelTransport, bind(this, function (channel) {
- global.EventBridge = channel.objects.eventBridgeWrapper.eventBridge;
+ var objects = channel.objects;
+ global.EventBridge = objects.eventBridge || (objects.eventBridgeWrapper && objects.eventBridgeWrapper.eventBridge);
+ assert(global.EventBridge, '!global.EventBridge');
global.EventBridge.$WebChannel = channel;
this.log('openEventBridge opened -- invoking callback', 'typeof EventBridge === ' + typeof global.EventBridge);
callback(global.EventBridge);
diff --git a/unpublishedScripts/marketplace/camera-move/modules/config-utils.js b/unpublishedScripts/marketplace/camera-move/modules/config-utils.js
index 62d614d379..3b037edbea 100644
--- a/unpublishedScripts/marketplace/camera-move/modules/config-utils.js
+++ b/unpublishedScripts/marketplace/camera-move/modules/config-utils.js
@@ -93,12 +93,12 @@ ApplicationConfig.prototype = {
applyValue: function applyValue(key, value, origin) {
if (this.resolve(key)) {
var appValue = this.getValue(key, value);
- log('applyValue', key, value, origin ? '['+origin+']' : '', appValue);
+ debugPrint('applyValue', key, value, origin ? '['+origin+']' : '', appValue);
if (appValue !== value) {
this.setValue(key, value);
- log('applied new setting', key, value, '(was:'+appValue+')');
+ debugPrint('applied new setting', key, value, '(was:'+appValue+')');
+ return true;
}
- return true;
}
}
};