Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
79 lines
1.7 KiB
JavaScript
Executable file
79 lines
1.7 KiB
JavaScript
Executable file
'use strict';
|
|
|
|
// Store timestamp when JS started running
|
|
window.jsStarted = Date.now();
|
|
|
|
define(function(require) {
|
|
|
|
// Store performance timestamps
|
|
var perf = {
|
|
jsStarted: window.jsStarted,
|
|
firstModule: Date.now()
|
|
};
|
|
|
|
/**
|
|
* Module Dependencies
|
|
*/
|
|
|
|
var Settings = require('lib/settings');
|
|
var GeoLocation = require('lib/geo-location');
|
|
var settingsData = require('config/config');
|
|
var settings = new Settings(settingsData);
|
|
var Camera = require('lib/camera/camera');
|
|
var App = require('app');
|
|
|
|
// Create globals specified in the config file
|
|
var key;
|
|
if (settingsData.globals) {
|
|
for (key in settingsData.globals) {
|
|
window[key] = settingsData.globals[key];
|
|
}
|
|
}
|
|
|
|
// Create new `App`
|
|
var app = window.app = new App({
|
|
settings: settings,
|
|
geolocation: new GeoLocation(),
|
|
el: document.body,
|
|
doc: document,
|
|
win: window,
|
|
perf: perf,
|
|
|
|
camera: new Camera({
|
|
focus: settingsData.focus
|
|
}),
|
|
|
|
controllers: {
|
|
overlay: require('controllers/overlay'),
|
|
battery: require('controllers/battery'),
|
|
hud: require('controllers/hud'),
|
|
controls: require('controllers/controls'),
|
|
viewfinder: require('controllers/viewfinder'),
|
|
settings: require('controllers/settings'),
|
|
activity: require('controllers/activity'),
|
|
camera: require('controllers/camera'),
|
|
storage: require('controllers/storage'),
|
|
|
|
// Lazy loaded controllers
|
|
lazy: [
|
|
'controllers/zoom-bar',
|
|
'controllers/indicators',
|
|
'controllers/media',
|
|
'controllers/sounds'
|
|
]
|
|
}
|
|
});
|
|
|
|
// We start the camera loading straight
|
|
// away (async), as this is the slowest
|
|
// part of the boot process.
|
|
app.camera.load();
|
|
app.settings.fetch();
|
|
app.boot();
|
|
|
|
// Clean up
|
|
for (key in settingsData) {
|
|
delete settingsData[key];
|
|
}
|
|
|
|
});
|