Commit cebc46fd authored by Jack Woodward's avatar Jack Woodward
Browse files

Final Project Updated Submission

Many files different, but much of the code remains the same.

-Updated simplification algorithm to no longer include unncessary
tolerance variable and made it so that the curve is automatically
simplified on first draw, hiding the buttons for simplifying the curve
(see selectCurve() method in Manager)
-Added framework for 3D audio support in Views.js
parent 6de62f36
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
#### NODE WEBKIT BUILDER
/**/build/*
/**/cache
/**/node_modules/*
####QRCODE png
WOB/qr_code.png
###Ignore save as text directory
trajAsText/**
\ No newline at end of file
# Using WebOSCBridge Application Server
This project is designed as a desktop application running a server for spatialization control interfaces.
This project is an adaption of the [interface.js][interfacejs] project by Charlie Roberts and modified.
## Build from source
If you want to build the server from source you'll need to download and install [node.js][nodejs]. After installing Node.js, open a terminal and run the following commands:
```
npm install
npm install gulp -g
gulp traj
```
This will build releases of the application.
You can configure the release in the gulpfile.js file.
[nodejs]:http://nodejs.org
[npm]:http://nodejs.org/download/
[node-webkit]:https://github.com/rogerwang/node-webkit#downloads
[interfacejs]:https://github.com/charlieroberts/interface.js
var NwBuilder = require('nw-builder');
var gulp = require('gulp');
var gutil = require('gulp-util');
gulp.task('traj', function () {
var nw = new NwBuilder({
version: '0.12.1',
macIcns: './icon-design/icon.icns',
//winIco: './icon-design/icon.ico', //can only use that on win or need WINE
appVersion:'1.0.0',
buildType: 'versioned',
//zip:'true', //if activated this prevents the traj folder to appear
files: [ './**',
'!./gulpfile.js',
'!./icon-design/**',
'!./cache/**',
'!./build/**',
//'!./node_modules/**', attempt to remove the dev packages by installing node --prodcution afterwards
'!./node_modules/gulp/**',
'!./node_modules/gulp-util/**',
'!./node_modules/nw-builder/**'],
platforms: ['osx32', 'win32', 'linux32'] // change this to 'win' for/on windows
//platforms: ['osx'] // change this to 'win' for/on windows
});
// Log stuff you want
nw.on('log', function (msg) {
gutil.log('nw-builder', msg);
});
// Build returns a promise, return it so the task isn't called in parallel
return nw.build().catch(function (err) {
gutil.log('nw-builder', err);
});
});
\ No newline at end of file
<html>
<head>
<script src="./jquery-ui-1.10.1.custom/js/jquery-1.9.1.js"></script>
<script src="jquery-ui-1.10.1.custom/js/jquery-ui-1.10.1.custom.js" type="text/javascript" charset="utf-8"></script>
<script src="mousetrap.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="jquery-ui-1.10.1.custom/css/base/jquery.ui.theme.css" type="text/css" media="screen" title="no title" charset="utf-8">
<link rel="stylesheet" href="jquery-ui-1.10.1.custom/css/base/jquery.ui.button.css" type="text/css" media="screen" title="no title" charset="utf-8">
<link rel="stylesheet" href="jquery-ui-1.10.1.custom/css/base/jquery.ui.resizable.css" type="text/css" media="screen" title="no title" charset="utf-8">
<link rel="stylesheet" href="jquery-ui-1.10.1.custom/css/base/jquery.ui.accordion.css" type="text/css" media="screen" title="no title" charset="utf-8">
<title>Traj Server</title>
<style>
.highlightedRow { background-color: #dedede; }
body { font-family:Helvetica, sans-serif; background-color:#ededed; }
ul { list-style:none; margin:0; padding:0;}
h3 { font-size:1em; display:inline; color:#333; margin-right:3em; margin-left:1em;}
h1 { font-size:1.2em;}
td { font-size:.6em; }
.infoTable td { border:none !important; }
.infoTable td { font-size:.8em !important; }
.infoTable tr td:first-child { text-align: right; white-space: nowrap !important; width:25%; font-color:#666; font-weight:bold;}
.infoTable tr td:last-child { width:75%; padding-left: 2em; text-align:left !important; }
table { border-collapse:collapse; width: 100%; table-layout:fixed; }
#monitorTable, #serverTable, #clientsTable, th { border: 1px solid #666;}
table thead th { font-size:.8em; }
th { white-space: nowrap !important; margin: 0; padding: 5px; font-weight:normal; font-size: .8em; background:#999; color:#fff;}
.ui-widget{font-size:.7em;}
thead tr { width: 100%; }
tbody { height: 2em;}
#clientsTableBody tr td, #monitorTableBody tr td { text-align: center; border-right:1px solid #666; border-top:1px solid #666; font-size:.9em; overflow:hidden; }
#serverTableBody td { border-right:1px solid #666; border-top:1px solid #666; }
#serverTableBody td:last-child, #serverTableBody td:nth-child(2) { text-align: center; vertical-align: top; }
#monitorTable, #serverTable, #clientsTable { border:1px solid #666; margin-bottom:1.5em; }
#clientsTable tbody, #serverTable tbody { font-size:.85em; }
#monitorTable tbody { font-size:.75em;}
#newServerTable { text-align:left ; }
input[type="text"] { width: 90%; }
.interfaceHeader { line-height:1.75em !important;}
</style>
</head>
<body>
<div id='servers'>
<div class="ui-widget-header ui-corner-all interfaceHeader">
<h3>Servers</h3>
<!-- <button id="newButton">New Server</button>
<button id="deleteButton">Remove Selected Server</button> -->
</div>
<table id='serverTable'>
<thead>
<tr>
<th width='80%'>server info</th><th width='10%'>append client id</th><th width='10%'>monitor</th>
</tr>
</thead>
<tbody id="serverTableBody">
</tbody>
</table>
</div>
<div style="height:245px ; text-align: center; diplay: block; margin:auto;">
<div id='target-qrcode'></div>
<div id='target-url' style="text-align: center; font-size:2em; margin:auto;"></div>
</div>
<div id='clients'>
<div class="ui-widget-header ui-corner-all interfaceHeader">
<h3>Clients</h3>
</div>
<table id='clientsTable'>
<thead>
<tr>
<th>id #</th><th>ip address</th><th>connected to</th><th>interface</th><th>monitor</th>
</tr>
</thead>
<tbody id="clientsTableBody">
</tbody>
</table>
</div>
<div id='monitor'>
<div class="ui-widget-header ui-corner-all interfaceHeader">
<h3>Monitor</h3>
<button id="clearMonitorButton">Clear</button>
</div>
<table id='monitorTable'>
<thead>
<tr>
<th width='10%'>server</th><th width='10%'>client id</th><th width='15%'>address / type</th><th width='15%'>typetags / channel</th><th width='50%'>values</th>
</tr>
</thead>
<tbody id="monitorTableBody">
</tbody>
</table>
</div>
<input type="file" nwfile style='display:none' id='fileButton'/>
<input type="file" nwsaveas style='display:none' id='saveFileButton'/>
<script>
if(typeof global.interface === 'undefined') {
var s = $('<script src="server.js" type="text/javascript" charset="utf-8">');
$('head').append(s);
}else{
// page reloaded, remove all servers
global.interface.removeAllServers();
}
</script>
</body>
</html>
\ No newline at end of file
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment