diff options
| author | Ben Beltran <ben@nsovocal.com> | 2016-05-09 00:30:51 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2016-05-09 00:30:51 -0500 |
| commit | 67b718d4042de29991561917fd39597c0a632c6f (patch) | |
| tree | e020857b33faa9ac4e22968a60bfe523a1a20e44 | |
| parent | b05f26f5336a26fd767fe02f607846fb2caca872 (diff) | |
Adds the binary wrapper
| -rwxr-xr-x | bin/tomato_sauce.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/bin/tomato_sauce.js b/bin/tomato_sauce.js new file mode 100755 index 0000000..5a416d5 --- /dev/null +++ b/bin/tomato_sauce.js @@ -0,0 +1,41 @@ +#!/usr/bin/env node + +'use strict'; + +/* eslint no-console: 0 */ + +const Path = require('path'); +const Getenv = require('getenv'); + +const TomatoSauce = require('..'); +const Util = require('../lib/util'); + +const config = { + port: Getenv.int('TOMATO_SAUCE_PORT', 9999), + frequency: Getenv.int('TOMATO_SAUCE_FREQUENCY', 333), + modulation: Getenv.int('TOMATO_SAUCE_MODULATION_SPEED', 5) +}; + +const screenPath = Getenv('TOMATO_SAUCE_SCREEN_PATH', Path.join(__dirname, '../lib/screens')); +const rendererPath = Getenv('TOMATO_SAUCE_RENDERER_PATH', Path.join(__dirname, '../lib/renderers')); + +Util.loadFiles(screenPath).then(function (screens) { + config.screens = screens; + return Util.loadFiles(rendererPath); +}).then(function (renderers) { + config.renderers = renderers; +}).then(function () { + let tomatoSauce = new TomatoSauce(config); + + tomatoSauce.on('listening', function (event) { + const address = event.data.server.address(); + console.log(`Tomato Sauce listening on: ${address.address}:${address.port}`); + }); + + tomatoSauce.on('error', function (error) { + console.error(error.stack || error.message || error); + process.exit(1); + }); + + tomatoSauce.run(); +}); |