2024-05-24 03:36:51 +00:00
< a name = "module_lib/sequencer" > < / a >
## lib/sequencer
* [lib/sequencer ](#module_lib/sequencer )
* [~Create a new sequencer and assign command and UI as private sub-classes ](#module_lib/sequencer..Create a new sequencer and assign command and UI as private sub-classes )
* [new Create a new sequencer and assign command and UI as private sub-classes(cfg, cmd, ui) ](#new_module_lib/sequencer..Create a new sequencer and assign command and UI as private sub-classes_new )
2024-05-24 19:23:58 +00:00
* [~Sequencer ](#module_lib/sequencer..Sequencer )
* [.cmds(obj) ](#module_lib/sequencer..Sequencer+cmds )
* [.init() ](#module_lib/sequencer..Sequencer+init )
* [.listen() ](#module_lib/sequencer..Sequencer+listen )
* [.listener(event, arg) ](#module_lib/sequencer..Sequencer+listener )
* [.setLoops(count) ](#module_lib/sequencer..Sequencer+setLoops )
* [.setSteps(steps) ](#module_lib/sequencer..Sequencer+setSteps )
* [.unsetSteps(steps) ](#module_lib/sequencer..Sequencer+unsetSteps )
* [.start(arg) ](#module_lib/sequencer..Sequencer+start )
* [.pause() ](#module_lib/sequencer..Sequencer+pause )
* [.stop() ](#module_lib/sequencer..Sequencer+stop )
* [.step(x) ](#module_lib/sequencer..Sequencer+step )
* [.cmdExec(x) ](#module_lib/sequencer..Sequencer+cmdExec )
2024-05-24 03:36:51 +00:00
< a name = "module_lib/sequencer..Create a new sequencer and assign command and UI as private sub-classes" > < / a >
### lib/sequencer~Create a new sequencer and assign command and UI as private sub-classes
**Kind**: inner class of [<code>lib/sequencer</code> ](#module_lib/sequencer )
< a name = "new_module_lib/sequencer..Create a new sequencer and assign command and UI as private sub-classes_new" > < / a >
#### new Create a new sequencer and assign command and UI as private sub-classes(cfg, cmd, ui)
| Param | Type | Description |
| --- | --- | --- |
| cfg | < code > object< / code > | Configuration object |
| cmd | < code > object< / code > | Shared command class |
| ui | < code > object< / code > | Electron UI, browser window |
2024-05-24 19:23:58 +00:00
< a name = "module_lib/sequencer..Sequencer" > < / a >
### lib/sequencer~Sequencer
Class representing all sequencer features.
**Kind**: inner class of [<code>lib/sequencer</code> ](#module_lib/sequencer )
* [~Sequencer ](#module_lib/sequencer..Sequencer )
* [.cmds(obj) ](#module_lib/sequencer..Sequencer+cmds )
* [.init() ](#module_lib/sequencer..Sequencer+init )
* [.listen() ](#module_lib/sequencer..Sequencer+listen )
* [.listener(event, arg) ](#module_lib/sequencer..Sequencer+listener )
* [.setLoops(count) ](#module_lib/sequencer..Sequencer+setLoops )
* [.setSteps(steps) ](#module_lib/sequencer..Sequencer+setSteps )
* [.unsetSteps(steps) ](#module_lib/sequencer..Sequencer+unsetSteps )
* [.start(arg) ](#module_lib/sequencer..Sequencer+start )
* [.pause() ](#module_lib/sequencer..Sequencer+pause )
* [.stop() ](#module_lib/sequencer..Sequencer+stop )
* [.step(x) ](#module_lib/sequencer..Sequencer+step )
* [.cmdExec(x) ](#module_lib/sequencer..Sequencer+cmdExec )
< a name = "module_lib/sequencer..Sequencer+cmds" > < / a >
#### sequencer.cmds(obj)
Take configuration object and assign all commands as keys
in the internal CMDS object.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| obj | < code > object< / code > | Configuration object |
< a name = "module_lib/sequencer..Sequencer+init" > < / a >
#### sequencer.init()
Initialize the class by requiring ipcMain from electron
and creating logger.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
< a name = "module_lib/sequencer..Sequencer+listen" > < / a >
#### sequencer.listen()
Bind ipc listener to channel 'sequencer' or current id of
class.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
< a name = "module_lib/sequencer..Sequencer+listener" > < / a >
#### sequencer.listener(event, arg)
Listener callback function. Called whenever ipc
message is sent to channel 'sequencer'.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| event | < code > object< / code > | IPC message event |
| arg | < code > object< / code > | Arguments provided in message |
< a name = "module_lib/sequencer..Sequencer+setLoops" > < / a >
#### sequencer.setLoops(count)
Sets the value of the loops in the grid sequence
to value sent by UI in ipc message.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| count | < code > integer< / code > | Number of loops to set grid sequence to |
< a name = "module_lib/sequencer..Sequencer+setSteps" > < / a >
#### sequencer.setSteps(steps)
Sets multiple steps at once
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| steps | < code > array< / code > | Array of steps to set or update |
< a name = "module_lib/sequencer..Sequencer+unsetSteps" > < / a >
#### sequencer.unsetSteps(steps)
Resets multiple steps to default 'undefined' state
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| steps | < code > array< / code > | Array containing the x location of steps to unset |
< a name = "module_lib/sequencer..Sequencer+start" > < / a >
#### sequencer.start(arg)
Starts a sequence with the existing grid sequence,
or if one is provided in the arg object, starts
that sequence.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| arg | < code > object< / code > | Arguments from ipc message |
< a name = "module_lib/sequencer..Sequencer+pause" > < / a >
#### sequencer.pause()
Pauses sequence from UI.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
< a name = "module_lib/sequencer..Sequencer+stop" > < / a >
#### sequencer.stop()
Stops the sequence
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
< a name = "module_lib/sequencer..Sequencer+step" > < / a >
#### sequencer.step(x)
Execute command @ step x. Wrapper with try catch.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| x | < code > integer< / code > | Step to execute command at |
< a name = "module_lib/sequencer..Sequencer+cmdExec" > < / a >
#### sequencer.cmdExec(x)
Locate step @ position x and execute the command.
**Kind**: instance method of [<code>Sequencer</code> ](#module_lib/sequencer..Sequencer )
| Param | Type | Description |
| --- | --- | --- |
| x | < code > integer< / code > | Step to execute command at |