From: Ben Beltran Date: Mon, 9 May 2016 05:30:51 +0000 (-0500) Subject: Adds the binary wrapper X-Git-Tag: 1.0.0~1^2^2~1 X-Git-Url: https://git.r.bdr.sh/rbdr/tomato-sauce/commitdiff_plain/67b718d4042de29991561917fd39597c0a632c6f?hp=b05f26f5336a26fd767fe02f607846fb2caca872 Adds the binary wrapper --- 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(); +});