Skip to content

Instantly share code, notes, and snippets.

@scottgwald
Created March 29, 2014 06:43
Show Gist options
  • Save scottgwald/9849698 to your computer and use it in GitHub Desktop.
Save scottgwald/9849698 to your computer and use it in GitHub Desktop.
[wearscript] goofin around
<html style="width:100%; height:100%; overflow:hidden">
<head>
<!-- You can include external scripts here like so... -->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.0/zepto.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>-->
</head>
<body style="width:100%; height:100%; overflow:hidden; margin:0">
<canvas id="canvas" width="640" height="360" style="display:block"></canvas>
<script>
function server() {
WS.log('Welcome to WearScript');
WS.say('Welcome to WearScript');
WS.sound('SUCCESS')
// Changes canvas color with head rotation
WS.sensorOn('orientation', .15, function (data) {
ctx.fillStyle = 'hsl(' + data['values'][0] + ', 90%, 50%)'
ctx.fillRect(0, 0, 640, 360);
});
// Stream several sensors (can view in the Sensors tab)
var sensors = ['gps', 'accelerometer', 'magneticField', 'gyroscope',
'light', 'gravity', 'linearAcceleration', 'rotationVector'];
for (var i = 0; i < sensors.length; i++)
WS.sensorOn(sensors[i], .15);
// Stream camera frames (can view in the Images tab)
WS.cameraOn(.25);
WS.dataLog(false, true, .15);
// Hookup touch and eye gesture callbacks
WS.gestureCallback('onTwoFingerScroll', function (v, v2, v3) {
WS.log('onTwoFingerScroll: ' + v + ', ' + v2 + ', ' + v3);
});
WS.gestureCallback('onEyeGesture', function (name) {
WS.log('onEyeGesture: ' + name);
});
WS.gestureCallback('onGesture', function (name) {
WS.log('onGesture: ' + name);
});
WS.gestureCallback('onFingerCountChanged', function (i, i2) {
WS.log('onFingerCountChanged: ' + i + ', ' + i2);
});
WS.gestureCallback('onScroll', function (v, v2, v3) {
WS.log('onScroll: ' + v + ', ' + v2 + ', ' + v3);
});
// Below this are more examples, uncomment to use them
//WS.liveCardCreate(false, .2);
/*
var tree = new WS.Cards();
tree.add('Body text', 'Footer text', function () {WS.say('selected')}, function () {WS.say('tapped')}, 'Menu0', function () {WS.say('menu0')}, 'Menu1', function () {WS.say('menu1')});
tree.add('Body text', 'Footer text', (new WS.Cards()).add('Child0', '0').add('Child1', '1'));
WS.cardTree(tree);
WS.displayCardTree();
*/
/*
WS.speechRecognize('Say Something', function (data) {
WS.log('speech: ' + data);
WS.say('you said ' + data);
});
*/
//WS.cameraPhoto();
//WS.cameraVideo();
//WS.cameraOff();
//WS.shutdown();
}
//WS.wake();
WS.wake();
WS.activityCreate();
WS.displayCardTree();
var tree = new WS.Cards();
tree.add('%s', 'GlassProv');
WS.cardTree(tree);
//WS.activityCreate():
//WS.displayCardTree();
// WS.say("Text acquisition app");
function qr_cb(text) {
WS.displayCardTree();
var tree = new WS.Cards();
tree.add(text, 'acquired data', "QR" , function() {WS.qr(qr_cb);}, "Speech", function() {WS.speechRecognize("Say something", qr_cb);});
WS.cardTree(tree);
// setTimeout(function() {WS.qr(qr_cb);}, 4000);
}
function sayAndListen(text) {
stillListening = false;
console.log("Calling sayAndListen with text: " + text);
WS.speechRecognize("Say something", sayAndListen);
setTimeout(function() {stillListening = true; WS.say(text);}, 1000);
}
var stillListening = true;
function main() {
if (WS.scriptVersion(1)) return;
ctx = document.getElementById('canvas').getContext("2d");
//WS.serverConnect('{{WSUrl}}', server);
// WS.speechRecognize("Say something", qr_cb);
// qr_cb("Dummy Text");
stillListening = true;
var text = "Let the games begin. I'm sure this will be fun. And the fun will go on and on.";
//setInterval(function() {if (stillListening) {WS.say("I will say that again and again and again.")}}, 3000);
sayAndListen(text);
// WS.qr(qr_cb);
}
window.onload = main;
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment