From 07972602ecd4f58e0962f54237b09c0c5019de08 Mon Sep 17 00:00:00 2001 From: Francesco Marino <79312518+marinofra@users.noreply.github.com> Date: Fri, 26 Mar 2021 15:17:29 +0100 Subject: [PATCH] Added annotate option --- src/lib/shared-args.ts | 21 +++++++++++++++++++++ src/lib/still-camera.ts | 1 + src/lib/stream-camera.ts | 1 + 3 files changed, 23 insertions(+) diff --git a/src/lib/shared-args.ts b/src/lib/shared-args.ts index aa02fba..fc39715 100644 --- a/src/lib/shared-args.ts +++ b/src/lib/shared-args.ts @@ -2,6 +2,22 @@ import { StillOptions } from './still-camera'; import { StreamOptions } from './stream-camera'; import { Flip } from '..'; +/** + * Generates the annotate command line arguments + * + * @param annotate Annotate option array + */ +function generateAnnotate(annotate: (number | string)[]): string[] { + const argumentsArray: string[] = []; + + for (const element of annotate) { + argumentsArray.push('--annotate'); + argumentsArray.push(typeof element === 'number' ? element.toString() : element); + } + + return argumentsArray; +} + /** * Get the command line arguments for `raspistill` or `raspivid` that are common among both * @@ -94,5 +110,10 @@ export function getSharedArgs(options: StillOptions | StreamOptions): string[] { * Digital Gain */ ...(options.digitalGain ? ['--digitalgain', options.digitalGain.toString()] : []), + + /** + * Annotate + */ + ...(options.annotate ? generateAnnotate(options.annotate) : []), ]; } diff --git a/src/lib/still-camera.ts b/src/lib/still-camera.ts index df7ee14..4788348 100644 --- a/src/lib/still-camera.ts +++ b/src/lib/still-camera.ts @@ -19,6 +19,7 @@ export interface StillOptions { awbMode?: AwbMode; analogGain?: number; digitalGain?: number; + annotate?: (number | string)[]; } export default class StillCamera { diff --git a/src/lib/stream-camera.ts b/src/lib/stream-camera.ts index 693ab3a..f883b56 100644 --- a/src/lib/stream-camera.ts +++ b/src/lib/stream-camera.ts @@ -40,6 +40,7 @@ export interface StreamOptions { awbMode?: AwbMode; analogGain?: number; digitalGain?: number; + annotate?: (number | string)[]; } declare interface StreamCamera {