Start mscript docs. Will describe each method to facilitate the addition of the "fade" feature.
This commit is contained in:
parent
df0806efa9
commit
c1d5e52a10
|
@ -0,0 +1,136 @@
|
||||||
|
<a name="module_lib/mscript"></a>
|
||||||
|
|
||||||
|
## lib/mscript
|
||||||
|
|
||||||
|
* [lib/mscript](#module_lib/mscript)
|
||||||
|
* [~mscript](#module_lib/mscript..mscript)
|
||||||
|
* [.arg(shrt, lng)](#module_lib/mscript..mscript.arg) ⇒ <code>boolean</code>
|
||||||
|
* [.arg_pos(shrt, lng)](#module_lib/mscript..mscript.arg_pos) ⇒ <code>boolean</code>
|
||||||
|
* [.state_clear()](#module_lib/mscript..mscript.state_clear)
|
||||||
|
* [.alts_unique()](#module_lib/mscript..mscript.alts_unique)
|
||||||
|
* [.interpret()](#module_lib/mscript..mscript.interpret)
|
||||||
|
* [.last_loop()](#module_lib/mscript..mscript.last_loop)
|
||||||
|
* [.parent_loop()](#module_lib/mscript..mscript.parent_loop)
|
||||||
|
* [.state_update()](#module_lib/mscript..mscript.state_update)
|
||||||
|
* [.str_to_arr()](#module_lib/mscript..mscript.str_to_arr)
|
||||||
|
* [.light_state()](#module_lib/mscript..mscript.light_state)
|
||||||
|
* [.light_to_arr()](#module_lib/mscript..mscript.light_to_arr)
|
||||||
|
* [.loop_count()](#module_lib/mscript..mscript.loop_count)
|
||||||
|
* [.fail()](#module_lib/mscript..mscript.fail)
|
||||||
|
* [.output()](#module_lib/mscript..mscript.output)
|
||||||
|
* [.init()](#module_lib/mscript..mscript.init)
|
||||||
|
* [.tests()](#module_lib/mscript..mscript.tests)
|
||||||
|
|
||||||
|
<a name="module_lib/mscript..mscript"></a>
|
||||||
|
|
||||||
|
### lib/mscript~mscript
|
||||||
|
object mscript
|
||||||
|
|
||||||
|
**Kind**: inner constant of [<code>lib/mscript</code>](#module_lib/mscript)
|
||||||
|
|
||||||
|
* [~mscript](#module_lib/mscript..mscript)
|
||||||
|
* [.arg(shrt, lng)](#module_lib/mscript..mscript.arg) ⇒ <code>boolean</code>
|
||||||
|
* [.arg_pos(shrt, lng)](#module_lib/mscript..mscript.arg_pos) ⇒ <code>boolean</code>
|
||||||
|
* [.state_clear()](#module_lib/mscript..mscript.state_clear)
|
||||||
|
* [.alts_unique()](#module_lib/mscript..mscript.alts_unique)
|
||||||
|
* [.interpret()](#module_lib/mscript..mscript.interpret)
|
||||||
|
* [.last_loop()](#module_lib/mscript..mscript.last_loop)
|
||||||
|
* [.parent_loop()](#module_lib/mscript..mscript.parent_loop)
|
||||||
|
* [.state_update()](#module_lib/mscript..mscript.state_update)
|
||||||
|
* [.str_to_arr()](#module_lib/mscript..mscript.str_to_arr)
|
||||||
|
* [.light_state()](#module_lib/mscript..mscript.light_state)
|
||||||
|
* [.light_to_arr()](#module_lib/mscript..mscript.light_to_arr)
|
||||||
|
* [.loop_count()](#module_lib/mscript..mscript.loop_count)
|
||||||
|
* [.fail()](#module_lib/mscript..mscript.fail)
|
||||||
|
* [.output()](#module_lib/mscript..mscript.output)
|
||||||
|
* [.init()](#module_lib/mscript..mscript.init)
|
||||||
|
* [.tests()](#module_lib/mscript..mscript.tests)
|
||||||
|
|
||||||
|
<a name="module_lib/mscript..mscript.arg"></a>
|
||||||
|
|
||||||
|
#### mscript.arg(shrt, lng) ⇒ <code>boolean</code>
|
||||||
|
Check for the presence of specific arguments in process
|
||||||
|
argv
|
||||||
|
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
**Returns**: <code>boolean</code> - Is flag present
|
||||||
|
|
||||||
|
| Param | Type | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| shrt | <code>string</code> | Short version of argument or flag |
|
||||||
|
| lng | <code>string</code> | Long version of argument or flag |
|
||||||
|
|
||||||
|
<a name="module_lib/mscript..mscript.arg_pos"></a>
|
||||||
|
|
||||||
|
#### mscript.arg_pos(shrt, lng) ⇒ <code>boolean</code>
|
||||||
|
Check for the position of specific arguments in process
|
||||||
|
argv
|
||||||
|
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
**Returns**: <code>boolean</code> - Position of arg or flag, for locating input
|
||||||
|
|
||||||
|
| Param | Type | Description |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| shrt | <code>string</code> | Short version of argument or flag |
|
||||||
|
| lng | <code>string</code> | Long version of argument or flag |
|
||||||
|
|
||||||
|
<a name="module_lib/mscript..mscript.state_clear"></a>
|
||||||
|
|
||||||
|
#### mscript.state_clear()
|
||||||
|
Clear the state object
|
||||||
|
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.alts_unique"></a>
|
||||||
|
|
||||||
|
#### mscript.alts_unique()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.interpret"></a>
|
||||||
|
|
||||||
|
#### mscript.interpret()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.last_loop"></a>
|
||||||
|
|
||||||
|
#### mscript.last_loop()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.parent_loop"></a>
|
||||||
|
|
||||||
|
#### mscript.parent_loop()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.state_update"></a>
|
||||||
|
|
||||||
|
#### mscript.state_update()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.str_to_arr"></a>
|
||||||
|
|
||||||
|
#### mscript.str_to_arr()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.light_state"></a>
|
||||||
|
|
||||||
|
#### mscript.light_state()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.light_to_arr"></a>
|
||||||
|
|
||||||
|
#### mscript.light_to_arr()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.loop_count"></a>
|
||||||
|
|
||||||
|
#### mscript.loop_count()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.fail"></a>
|
||||||
|
|
||||||
|
#### mscript.fail()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.output"></a>
|
||||||
|
|
||||||
|
#### mscript.output()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.init"></a>
|
||||||
|
|
||||||
|
#### mscript.init()
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
||||||
|
<a name="module_lib/mscript..mscript.tests"></a>
|
||||||
|
|
||||||
|
#### mscript.tests()
|
||||||
|
Legacy tests. To be deprecated in future releases.
|
||||||
|
|
||||||
|
**Kind**: static method of [<code>mscript</code>](#module_lib/mscript..mscript)
|
|
@ -1,10 +1,22 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
/** @module lib/mscript */
|
||||||
|
|
||||||
let fs;
|
let fs;
|
||||||
let input;
|
let input;
|
||||||
|
|
||||||
|
/** object mscript */
|
||||||
const mscript = {};
|
const mscript = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check for the presence of specific arguments in process
|
||||||
|
* argv
|
||||||
|
*
|
||||||
|
* @param {string} shrt Short version of argument or flag
|
||||||
|
* @param {string} lng Long version of argument or flag
|
||||||
|
*
|
||||||
|
* @return {boolean} Is flag present
|
||||||
|
*/
|
||||||
mscript.arg = function arg (shrt, lng) {
|
mscript.arg = function arg (shrt, lng) {
|
||||||
if (process.argv.indexOf(shrt) !== -1 ||
|
if (process.argv.indexOf(shrt) !== -1 ||
|
||||||
process.argv.indexOf(lng) !== -1) {
|
process.argv.indexOf(lng) !== -1) {
|
||||||
|
@ -13,6 +25,15 @@ mscript.arg = function arg (shrt, lng) {
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check for the position of specific arguments in process
|
||||||
|
* argv
|
||||||
|
*
|
||||||
|
* @param {string} shrt Short version of argument or flag
|
||||||
|
* @param {string} lng Long version of argument or flag
|
||||||
|
*
|
||||||
|
* @return {boolean} Position of arg or flag, for locating input
|
||||||
|
*/
|
||||||
mscript.arg_pos = function arg_pos (shrt, lng) {
|
mscript.arg_pos = function arg_pos (shrt, lng) {
|
||||||
var pos = -1;
|
var pos = -1;
|
||||||
pos = process.argv.indexOf(shrt);
|
pos = process.argv.indexOf(shrt);
|
||||||
|
@ -21,6 +42,7 @@ mscript.arg_pos = function arg_pos (shrt, lng) {
|
||||||
}
|
}
|
||||||
return pos;
|
return pos;
|
||||||
};
|
};
|
||||||
|
|
||||||
mscript.black = '0,0,0';
|
mscript.black = '0,0,0';
|
||||||
mscript.cmd = [
|
mscript.cmd = [
|
||||||
'CF',
|
'CF',
|
||||||
|
@ -33,13 +55,19 @@ mscript.cmd = [
|
||||||
mscript.alts = {
|
mscript.alts = {
|
||||||
'CF' : ['CAMERA FORWARD', 'CAM FORWARD'],
|
'CF' : ['CAMERA FORWARD', 'CAM FORWARD'],
|
||||||
'PF' : ['PROJECTOR FORWARD', 'PROJ FORWARD'],
|
'PF' : ['PROJECTOR FORWARD', 'PROJ FORWARD'],
|
||||||
'BF': ['BLACK FORWARD'],
|
'BF': ['BLACK FORWARD', 'BLACK', 'BLANK FORWARD', 'BLANK'],
|
||||||
'CB' : ['CAMERA BACKWARD', 'CAM BACKWARD', 'CAMERA BACK', 'CAM BACK'],
|
'CB' : ['CAMERA BACKWARD', 'CAM BACKWARD', 'CAMERA BACK', 'CAM BACK'],
|
||||||
'PB' : ['PROJECTOR FORWARD', 'PROJ FORWARD', 'PROJECTOR BACK', 'PROJ BACK'],
|
'PB' : ['PROJECTOR FORWARD', 'PROJ FORWARD', 'PROJECTOR BACK', 'PROJ BACK'],
|
||||||
'BB' : ['BLACK BACKWARD', 'BLACK BACK'],
|
'BB' : ['BLACK BACKWARD', 'BLACK BACK', 'BLANK BACK'],
|
||||||
'L ' : ['LIGHT', 'COLOR', 'LAMP']
|
'L ' : ['LIGHT', 'COLOR', 'LAMP'],
|
||||||
|
'F ' : ['FADE']
|
||||||
};
|
};
|
||||||
|
|
||||||
mscript.state = {};
|
mscript.state = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear the state object
|
||||||
|
*/
|
||||||
mscript.state_clear = function state_clear () {
|
mscript.state_clear = function state_clear () {
|
||||||
mscript.state = {
|
mscript.state = {
|
||||||
cam : 0,
|
cam : 0,
|
||||||
|
@ -49,6 +77,9 @@ mscript.state_clear = function state_clear () {
|
||||||
rec : -1
|
rec : -1
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.alts_unique = function alts_unique () {
|
mscript.alts_unique = function alts_unique () {
|
||||||
var ids = Object.keys(mscript.alts),
|
var ids = Object.keys(mscript.alts),
|
||||||
all = [];
|
all = [];
|
||||||
|
@ -60,6 +91,9 @@ mscript.alts_unique = function alts_unique () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.interpret = function interpret (text, callback) {
|
mscript.interpret = function interpret (text, callback) {
|
||||||
mscript.state_clear();
|
mscript.state_clear();
|
||||||
if (typeof text === 'undefined') {
|
if (typeof text === 'undefined') {
|
||||||
|
@ -214,12 +248,21 @@ mscript.interpret = function interpret (text, callback) {
|
||||||
return mscript.output(output);
|
return mscript.output(output);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.last_loop = function last_loop () {
|
mscript.last_loop = function last_loop () {
|
||||||
return mscript.state.loops[mscript.state.loops.length - 1];
|
return mscript.state.loops[mscript.state.loops.length - 1];
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.parent_loop = function parent_loop () {
|
mscript.parent_loop = function parent_loop () {
|
||||||
return mscript.state.loops[mscript.state.loops.length - 2];
|
return mscript.state.loops[mscript.state.loops.length - 2];
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.state_update = function state_update (cmd, val) {
|
mscript.state_update = function state_update (cmd, val) {
|
||||||
if (cmd === 'END') {
|
if (cmd === 'END') {
|
||||||
for (var i = 0; i < val; i++) {
|
for (var i = 0; i < val; i++) {
|
||||||
|
@ -271,6 +314,9 @@ mscript.state_update = function state_update (cmd, val) {
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.str_to_arr = function str_to_arr (str, cmd) {
|
mscript.str_to_arr = function str_to_arr (str, cmd) {
|
||||||
var cnt = str.split(cmd),
|
var cnt = str.split(cmd),
|
||||||
c = parseInt(cnt[1]),
|
c = parseInt(cnt[1]),
|
||||||
|
@ -286,11 +332,17 @@ mscript.str_to_arr = function str_to_arr (str, cmd) {
|
||||||
}
|
}
|
||||||
return arr;
|
return arr;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.light_state = function light_state (str) {
|
mscript.light_state = function light_state (str) {
|
||||||
//add parsers for other color spaces
|
//add parsers for other color spaces
|
||||||
var color = str.replace('L ', '').trim();
|
var color = str.replace('L ', '').trim();
|
||||||
mscript.state.color = color;
|
mscript.state.color = color;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.light_to_arr = function light_to_arr (str, cmd) {
|
mscript.light_to_arr = function light_to_arr (str, cmd) {
|
||||||
var cnt = str.split(cmd),
|
var cnt = str.split(cmd),
|
||||||
c = parseInt(cnt[1]),
|
c = parseInt(cnt[1]),
|
||||||
|
@ -313,13 +365,25 @@ mscript.light_to_arr = function light_to_arr (str, cmd) {
|
||||||
}
|
}
|
||||||
return arr;
|
return arr;
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.loop_count = function loop_count (str) {
|
mscript.loop_count = function loop_count (str) {
|
||||||
return parseInt(str.split('LOOP ')[1]);
|
return parseInt(str.split(' ')[1]);
|
||||||
};
|
};
|
||||||
|
mscript.fade_count = function fade_count (str) {
|
||||||
|
return parseInt(str.split(' ')[1]);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.fail = function fail (reason) {
|
mscript.fail = function fail (reason) {
|
||||||
console.error(JSON.stringify({success: false, error: true, msg : reason}));
|
console.error(JSON.stringify({success: false, error: true, msg : reason}));
|
||||||
if (process) process.exit();
|
if (process) process.exit();
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.output = function output (data) {
|
mscript.output = function output (data) {
|
||||||
var json = true; //default
|
var json = true; //default
|
||||||
if (mscript.arg('-j', '--json')) {
|
if (mscript.arg('-j', '--json')) {
|
||||||
|
@ -339,6 +403,9 @@ mscript.output = function output (data) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
mscript.init = function init () {
|
mscript.init = function init () {
|
||||||
if (mscript.arg('-t', '--tests')) {
|
if (mscript.arg('-t', '--tests')) {
|
||||||
return mscript.tests();
|
return mscript.tests();
|
||||||
|
@ -367,7 +434,9 @@ mscript.init = function init () {
|
||||||
console.timeEnd('mscript');
|
console.timeEnd('mscript');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* Legacy tests. To be deprecated in future releases.
|
||||||
|
*/
|
||||||
mscript.tests = function tests () {
|
mscript.tests = function tests () {
|
||||||
console.log('Running mscript tests');
|
console.log('Running mscript tests');
|
||||||
console.time('Tests took');
|
console.time('Tests took');
|
||||||
|
|
Loading…
Reference in New Issue