diff --git a/dist/cli/index.d.ts b/dist/cli/index.d.ts index 16684aa..af92d15 100644 --- a/dist/cli/index.d.ts +++ b/dist/cli/index.d.ts @@ -26,6 +26,7 @@ export declare class CLI { private parse; private parseLine; private execute; + private framing; private expose; private forward; private backward; diff --git a/dist/cli/index.js b/dist/cli/index.js index 5b19840..51696f0 100644 --- a/dist/cli/index.js +++ b/dist/cli/index.js @@ -13,6 +13,7 @@ const display_1 = require("../display"); const files_1 = require("../files"); const delay_1 = require("../delay"); const camera_1 = require("../camera"); +const testimage_1 = require("../testimage"); const ffprobe_1 = require("../ffprobe"); const image_1 = require("../image"); let cli; @@ -46,6 +47,9 @@ class CLI { async main() { this.log.info('Starting...'); await (0, delay_1.delay)(10000); + if (this.args.framing > 0) { + await this.framing(); + } if (typeof this.args.input !== 'undefined') { this.log.info(`Loading ${(0, path_1.basename)(this.args.input)}`); await this.parse(this.args.input); @@ -62,6 +66,7 @@ class CLI { this.height = (0, env_1.envInt)('HEIGHT', 0); this.host = (0, env_1.envString)('FD_HOST', 'localhost'); this.altDimensions = this.parseDimensions((0, env_1.envString)('DIMENSIONS', null)); + //console.dir({ this.width, this.height}) this.port = (0, env_1.envInt)('FD_PORT', 8082); } getArgs() { @@ -98,6 +103,11 @@ class CLI { help: 'Enable verbose output', action: 'store_true' }); + parser.add_argument('-f', '--framing', { + help: 'Test screen with framing grid for number of seconds (default=0)', + type: 'int', + default: 0 + }); this.args = parser.parse_args(); if (this.args.verbose) { console.dir(this.args); @@ -277,6 +287,37 @@ class CLI { break; } } + async framing() { + let framingImage; + let dimensions; + let len = this.args.framing * 1000; + this.display.setSource(this.width, this.height); + if (this.altDimensions !== null) { + this.display.setOffsetX(this.altDimensions.x); + this.display.setOffsetY(this.altDimensions.y); + this.display.setWidth(this.altDimensions.w); + this.display.setHeight(this.altDimensions.h); + framingImage = await testimage_1.TestImage.Frame(this.altDimensions.w, this.altDimensions.h); + } + else { + framingImage = await testimage_1.TestImage.Frame(this.width, this.height); + } + dimensions = this.display.getOutgoingPosition(); + this.log.info(`Displaying framing image for ${this.args.framing} seconds...`); + try { + await this.fd.load(framingImage, dimensions.x, dimensions.y, dimensions.w, dimensions.h); + } + catch (err) { + this.log.error(`Error loading image ${framingImage} for display`, err); + } + try { + await this.fd.display(framingImage, [len]); + } + catch (err) { + this.log.error(`Error displaying image ${framingImage}`, err); + } + await (0, promises_1.unlink)(framingImage); + } async expose(cmd, invert = false) { const start = Date.now(); let result; diff --git a/dist/cli/index.js.map b/dist/cli/index.js.map index 944b06e..a0df9dc 100644 --- a/dist/cli/index.js.map +++ b/dist/cli/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/scripts/macbook_framing.sh b/scripts/macbook_framing.sh index 4c16639..e2c7eee 100644 --- a/scripts/macbook_framing.sh +++ b/scripts/macbook_framing.sh @@ -1,3 +1,3 @@ #!/bin/bash -node dist/cli -w 2560 -H 1600 -d 214,22,2132,1556 -f \ No newline at end of file +node dist/cli -w 2560 -H 1600 -d 214,22,2132,1556 -f 530 diff --git a/src/cli/index.ts b/src/cli/index.ts index 841f0cd..ba18400 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -41,7 +41,7 @@ interface Args { height? : number; mock?: boolean; focus? : boolean; - framing? : boolean; + framing? : number; verbose? : boolean; dimensions? : string; } @@ -92,7 +92,12 @@ export class CLI { private async main () { this.log.info('Starting...') + await delay(10000); + + if (this.args.framing > 0) { + await this.framing(); + } if (typeof this.args.input !== 'undefined') { this.log.info(`Loading ${basename(this.args.input)}`); await this.parse(this.args.input); @@ -111,7 +116,7 @@ export class CLI { this.host = envString('FD_HOST', 'localhost'); this.altDimensions = this.parseDimensions(envString('DIMENSIONS', null)); - + //console.dir({ this.width, this.height}) this.port = envInt('FD_PORT', 8082); } @@ -155,6 +160,12 @@ export class CLI { help: 'Enable verbose output', action: 'store_true' }); + + parser.add_argument('-f', '--framing', { + help : 'Test screen with framing grid for number of seconds (default=0)', + type: 'int', + default : 0 + }) this.args = parser.parse_args() as Args; @@ -341,6 +352,42 @@ export class CLI { } } + private async framing () { + let framingImage : string; + let dimensions : fdOutgoingPosition; + let len : number = this.args.framing * 1000; + + this.display.setSource(this.width, this.height); + + if (this.altDimensions !== null) { + this.display.setOffsetX(this.altDimensions.x); + this.display.setOffsetY(this.altDimensions.y); + this.display.setWidth(this.altDimensions.w); + this.display.setHeight(this.altDimensions.h); + framingImage = await TestImage.Frame(this.altDimensions.w, this.altDimensions.h); + } else { + framingImage = await TestImage.Frame(this.width, this.height); + } + + dimensions = this.display.getOutgoingPosition(); + + this.log.info(`Displaying framing image for ${this.args.framing} seconds...`) + + try { + await this.fd.load(framingImage, dimensions.x, dimensions.y, dimensions.w, dimensions.h); + } catch (err) { + this.log.error(`Error loading image ${framingImage} for display`, err); + } + + try { + await this.fd.display(framingImage, [ len ] ); + } catch (err) { + this.log.error(`Error displaying image ${framingImage}`, err); + } + + await unlink(framingImage); + } + private async expose (cmd : CMD, invert : boolean = false) { const start : number = Date.now(); let result : fdResult; @@ -640,4 +687,4 @@ process.on('SIGUSR1', exitHandler.bind(null, {exit:true})); process.on('SIGUSR2', exitHandler.bind(null, {exit:true})); // catches uncaught exceptions -process.on('uncaughtException', exitHandler.bind(null, {exit:true})); \ No newline at end of file +process.on('uncaughtException', exitHandler.bind(null, {exit:true}));