#!/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(); });