10 Commits

Author SHA1 Message Date
Joel Wetzell eba857b324 bump version 2026-08-19 10:13:47 -05:00
Joel Wetzell a33c05373f add new ID property for processors and routes 2026-08-19 10:12:58 -05:00
Joel Wetzell a90a74650c Merge pull request #78 from jwetzell/renovate/astro-monorepo
Update dependency astro to v7.2.3
2026-08-18 12:50:26 -05:00
renovate[bot] 212259fc4d Update dependency astro to v7.2.3 2026-08-18 16:59:27 +00:00
Joel Wetzell 3a35b7241d Merge pull request #75 from jwetzell/renovate/astro-monorepo
Update dependency astro to v7.2.2
2026-08-17 12:53:07 -05:00
Joel Wetzell c08561a58f remove dependabot config 2026-08-17 12:42:36 -05:00
renovate[bot] 402f14ca27 Update dependency astro to v7.2.2 2026-08-17 17:42:27 +00:00
Joel Wetzell 88b455d86b Merge pull request #74 from jwetzell/renovate/configure
Configure Renovate
2026-08-17 12:41:57 -05:00
renovate[bot] 181b3c75d8 Add renovate.json 2026-08-17 17:38:08 +00:00
Joel Wetzell 0146750efa bump node version 2026-08-06 10:49:06 -05:00
52 changed files with 802 additions and 592 deletions
-10
View File
@@ -1,10 +0,0 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
+1 -1
View File
@@ -1 +1 @@
v24.11.1 v24.19.0
+689 -528
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,7 +1,7 @@
{ {
"name": "@showbridge/docs", "name": "@showbridge/docs",
"type": "module", "type": "module",
"version": "0.4.1", "version": "0.5.0",
"files": [ "files": [
"dist" "dist"
], ],
@@ -16,7 +16,7 @@
"devDependencies": { "devDependencies": {
"@astrojs/check": "0.9.10", "@astrojs/check": "0.9.10",
"@astrojs/starlight": "0.41.7", "@astrojs/starlight": "0.41.7",
"astro": "7.2.0", "astro": "7.2.3",
"sharp": "0.35.3", "sharp": "0.35.3",
"typescript": "6.0.3" "typescript": "6.0.3"
} }
+6
View File
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}
+1
View File
@@ -10,5 +10,6 @@ Processors are anything that create or manipulate messages. They are configured
A processor YAML block has the following properties A processor YAML block has the following properties
- **id**: a unique identifier for the processor (auto generated when using the web interface)
- **type**: the processor type - **type**: the processor type
- **params**: optional map for processor configuration values. The valid values will depend on the processor type - **params**: optional map for processor configuration values. The valid values will depend on the processor type
+1
View File
@@ -8,6 +8,7 @@ Routes take the messages coming from a module and push them through a list of [p
## YAML Definition ## YAML Definition
- **id**: a unique identifier for the route (auto generated when using the web interface)
- **input**: the id of the [module](/concepts/modules) that will provide messages to this route - **input**: the id of the [module](/concepts/modules) that will provide messages to this route
- **processors**: (optional) array of [processors](/concepts/processors) that will be called in order and the result of the previous will be fed to the next processor. - **processors**: (optional) array of [processors](/concepts/processors) that will be called in order and the result of the previous will be fed to the next processor.
- an error in a processor step will result in the individual route being terminated - an error in a processor step will result in the individual route being terminated
+8 -4
View File
@@ -23,13 +23,17 @@ modules:
host: 127.0.0.1 host: 127.0.0.1
port: 53000 port: 53000
routes: routes:
- input: sip - id: sip-to-osc
input: sip
processors: processors:
- type: osc.message.create - id: create-osc-message
type: osc.message.create
params: params:
address: "/cue/{{.Payload.To}}/go" address: "/cue/{{.Payload.To}}/go"
- type: osc.message.encode - id: encode-osc-message
- type: module.output type: osc.message.encode
- id: send-osc
type: module.output
params: params:
module: udp module: udp
`; `;
+8 -4
View File
@@ -23,13 +23,17 @@ modules:
host: 127.0.0.1 host: 127.0.0.1
port: 8000 port: 8000
routes: routes:
- input: http - id: http-to-osc
input: http
processors: processors:
- type: osc.message.create # create OSC message - id: create-osc-message
type: osc.message.create # create OSC message
params: params:
address: "{{.Payload.URL.Path}}" # template the address from the incoming message address: "{{.Payload.URL.Path}}" # template the address from the incoming message
- type: osc.message.encode # turn OSC message into bytes - id: encode-osc-message
- type: module.output # output to the udp module type: osc.message.encode # turn OSC message into bytes
- id: send-osc
type: module.output # output to the udp module
params: params:
module: udp module: udp
`; `;
@@ -14,5 +14,6 @@ This processor will decode incoming bytes into an ArtNet packet. This processor
### Example ### Example
```yaml ```yaml
- type: artnet.packet.decode - id: decode
type: artnet.packet.decode
``` ```
@@ -14,5 +14,6 @@ This processor will encode an ArtNet packet into an array of bytes. This process
### Example ### Example
```yaml ```yaml
- type: artnet.packet.encode - id: encode
type: artnet.packet.encode
``` ```
+2 -1
View File
@@ -17,7 +17,8 @@ This processor will return an error if any of the required parameters are missin
Issue a `SELECT` statement to a module with id `sqlite`. Issue a `SELECT` statement to a module with id `sqlite`.
```yaml ```yaml
- type: db.query - id: query
type: db.query
params: params:
module: sqlite module: sqlite
query: "SELECT * from users;" query: "SELECT * from users;"
+2 -1
View File
@@ -13,5 +13,6 @@ This processor will log information about the message being processed to the con
### Example ### Example
```yaml ```yaml
- type: debug.log - id: log
type: debug.log
``` ```
@@ -13,5 +13,6 @@ This processor will only pass messages through if the value of the message has c
### Example ### Example
```yaml ```yaml
- type: filter.change - id: filter
type: filter.change
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `filter.expr` processor evaluates an [Expr expression](https://expr-lang.org
Match a payload great than or equal to 0 Match a payload great than or equal to 0
```yaml ```yaml
- type: filter.expr - id: filter
type: filter.expr
params: params:
expression: "Payload >= 0" expression: "Payload >= 0"
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `filter.regex` processor matches incoming string payload against a regular e
Match strings starting with `hello` Match strings starting with `hello`
```yaml ```yaml
- type: filter.regex - id: filter
type: filter.regex
params: params:
pattern: "^hello.*" pattern: "^hello.*"
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `float.parse` processor takes a string and parses it as a float with the spe
This would parse the string payload as a 32 bit float and set the payload to that value. This would parse the string payload as a 32 bit float and set the payload to that value.
```yaml ```yaml
- type: float.parse - id: parse
type: float.parse
params: params:
bitSize: 32 bitSize: 32
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `float.random` processor will set the payload to a random float between the
This would generate a random 64-bit float between 1.1 and 1.5 and set the payload to that value. This would generate a random 64-bit float between 1.1 and 1.5 and set the payload to that value.
```yaml ```yaml
- type: float.random - id: random
type: float.random
params: params:
bitSize: 64 bitSize: 64
min: 1.0 min: 1.0
@@ -13,7 +13,8 @@ This processor will create a new FreeD message with the specified parameters.
### Example ### Example
```yaml ```yaml
- type: freed.create - id: freed-message
type: freed.create
params: params:
id: "1" id: "1"
pan: "45" pan: "45"
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a FreeD message. This processor w
### Example ### Example
```yaml ```yaml
- type: freed.decode - id: decode
type: freed.decode
``` ```
@@ -13,5 +13,6 @@ This processor will encode a FreeD message into an array of bytes. This processo
### Example ### Example
```yaml ```yaml
- type: freed.encode - id: encode
type: freed.encode
``` ```
@@ -15,7 +15,8 @@ This process will make an HTTP request to the specified URL using the specified
Make a GET request to `https://example.com` Make a GET request to `https://example.com`
```yaml ```yaml
- type: http.request.do - id: make-request
type: http.request.do
params: params:
method: GET method: GET
url: https://example.com url: https://example.com
@@ -15,7 +15,8 @@ This processor will create a new HTTP response with the specified status code an
This would create an HTTP response with a status code of `200` and a body of `OK` This would create an HTTP response with a status code of `200` and a body of `OK`
```yaml ```yaml
- type: http.response.create - id: create-response
type: http.response.create
params: params:
status: 200 status: 200
bodyTemplate: "OK" bodyTemplate: "OK"
+2 -1
View File
@@ -15,7 +15,8 @@ The `int.parse` processor takes a string and parses it as an integer with the sp
This would parse the string payload as a 32 bit, base 10 integer and set the payload to that value. This would parse the string payload as a 32 bit, base 10 integer and set the payload to that value.
```yaml ```yaml
- type: int.parse - id: parse
type: int.parse
params: params:
bitSize: 32 bitSize: 32
``` ```
+2 -1
View File
@@ -14,7 +14,8 @@ The `int.random` processor will set the payload to a random integer between the
This would generate a random integer between -127 and 127 and set the payload to that value. This would generate a random integer between -127 and 127 and set the payload to that value.
```yaml ```yaml
- type: int.random - id: random
type: int.random
params: params:
min: -127 min: -127
max: 127 max: 127
+2 -1
View File
@@ -15,7 +15,8 @@ This processor will scale an integer value from one range to another. This proce
Scale an integer value from the range 0-255 to the range 0-100 Scale an integer value from the range 0-255 to the range 0-100
```yaml ```yaml
- type: int.scale - id: scale
type: int.scale
params: params:
inMin: 0 inMin: 0
inMax: 255 inMax: 255
+2 -1
View File
@@ -13,5 +13,6 @@ Convert an incoming byte array or raw string into a JSON object. This processor
### Example ### Example
```yaml ```yaml
- type: json.decode - id: decode
type: json.decode
``` ```
+2 -1
View File
@@ -13,5 +13,6 @@ This processor will encode an incoming object into a JSON byte array. This proce
### Example ### Example
```yaml ```yaml
- type: json.encode - id: encode
type: json.encode
``` ```
+2 -1
View File
@@ -16,7 +16,8 @@ The output payload is the value if the key is found.
This will attempt to get the value for the `counter` key from the module with an id of `redis` This will attempt to get the value for the `counter` key from the module with an id of `redis`
```yaml ```yaml
- type: kv.get - id: get
type: kv.get
params: params:
module: redis module: redis
key: counter key: counter
+2 -1
View File
@@ -15,7 +15,8 @@ The `kv.set` processor sets the value of the configured key to the incoming payl
This will attempt to set the key `hello` using the module with an id of `redis` This will attempt to set the key `hello` using the module with an id of `redis`
```yaml ```yaml
- type: kv.set - id: set
type: kv.set
params: params:
module: redis module: redis
key: hello key: hello
@@ -13,7 +13,8 @@ This processor will create a MIDI Control Change message with the specified chan
### Example ### Example
```yaml ```yaml
- type: midi.control_change.create - id: create
type: midi.control_change.create
params: params:
channel: "1" channel: "1"
control: "64" control: "64"
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a MIDI message. This processor wi
### Example ### Example
```yaml ```yaml
- type: midi.message.decode - id: decode
type: midi.message.decode
``` ```
@@ -13,5 +13,6 @@ This processor will encode a MIDI message into an array of bytes. This processor
### Example ### Example
```yaml ```yaml
- type: midi.message.encode - id: encode
type: midi.message.encode
``` ```
@@ -13,5 +13,6 @@ This processor will unpack a MIDI message into its individual components. This p
### Example ### Example
```yaml ```yaml
- type: midi.message.unpack - id: unpack
type: midi.message.unpack
``` ```
@@ -13,7 +13,8 @@ This processor will create a MIDI Note Off message with the specified channel, n
### Example ### Example
```yaml ```yaml
- type: midi.note_off.create - id: create
type: midi.note_off.create
params: params:
channel: "1" channel: "1"
note: "60" note: "60"
@@ -13,7 +13,8 @@ This processor will create a MIDI Note On message with the specified channel, no
### Example ### Example
```yaml ```yaml
- type: midi.note_on.create - id: create
type: midi.note_on.create
params: params:
channel: "1" channel: "1"
note: "60" note: "60"
@@ -13,7 +13,8 @@ This processor will create a MIDI Program Change message with the specified chan
### Example ### Example
```yaml ```yaml
- type: midi.program_change.create - id: create
type: midi.program_change.create
params: params:
channel: "1" channel: "1"
program: "10" program: "10"
@@ -15,7 +15,8 @@ The `module.output` processor takes any payload and outputs to the specified mod
Output whatever payload comes through this processor to the `osc-out` module. Output whatever payload comes through this processor to the `osc-out` module.
```yaml ```yaml
- type: module.output - id: output
type: module.output
params: params:
module: osc-out module: osc-out
``` ```
@@ -15,7 +15,8 @@ This processor will create an OSC message from the provided parameters. This pro
Create an OSC message with the address `/test/message` and two integer arguments from the payload of the message being processed. Create an OSC message with the address `/test/message` and two integer arguments from the payload of the message being processed.
```yaml ```yaml
- type: osc.message.create - id: create
type: osc.message.create
params: params:
address: "/test/message" address: "/test/message"
args: ["{{.Payload[0]}}", "{{.Payload[1]}}"] args: ["{{.Payload[0]}}", "{{.Payload[1]}}"]
@@ -13,5 +13,6 @@ The `osc.message.decode` processor takes a array of bytes and turn it into OSC m
### Example ### Example
```yaml ```yaml
- type: osc.message.encode - id: decode
type: osc.message.decode
``` ```
@@ -13,5 +13,6 @@ The `osc.message.encode` processor takes an OSC message and turns it into an arr
### Example ### Example
```yaml ```yaml
- type: osc.message.encode - id: encode
type: osc.message.encode
``` ```
@@ -15,7 +15,8 @@ The payload is unchanged so whatever is received by this payload is output unles
### Example ### Example
```yaml ```yaml
- type: pubsub.publish - id: publish
type: pubsub.publish
params: params:
module: mqtt-out module: mqtt-out
topic: "test" topic: "test"
+2 -1
View File
@@ -15,7 +15,8 @@ The processor will execute the provided Expr expression and return the result as
This example will add 1 to the wrapped payload. This example will add 1 to the wrapped payload.
```yaml ```yaml
- type: script.expr - id: expr
type: script.expr
params: params:
expression: "Payload + 1" expression: "Payload + 1"
``` ```
+2 -1
View File
@@ -19,7 +19,8 @@ This run your JavaScript program in a [sandboxed environment](https://gitlab.com
Replace all occurrences of `|` with `,` in the payload Replace all occurrences of `|` with `,` in the payload
```yaml ```yaml
- type: script.js - id: javascript
type: script.js
params: params:
program: | program: |
payload = payload.replaceAll('|',','); payload = payload.replaceAll('|',',');
+2 -1
View File
@@ -15,7 +15,8 @@ This processor will load and execute a WASM plugin using the [Extism](https://ex
This example will load the plugin at `./test.wasm` and execute the `test` function This example will load the plugin at `./test.wasm` and execute the `test` function
```yaml ```yaml
- type: script.wasm - id: wasm
type: script.wasm
params: params:
path: "./test.wasm" path: "./test.wasm"
function: "test" function: "test"
@@ -15,7 +15,8 @@ This processor will create a SIP response message with an audio file as the payl
This example will create a SIP response that will wait 1 second then play `response.wav` then wait another second before completing the response. This example will create a SIP response that will wait 1 second then play `response.wav` then wait another second before completing the response.
```yaml ```yaml
- type: sip.response.audio.create - id: create-audio-response
type: sip.response.audio.create
params: params:
preWait: 1000 preWait: 1000
audioFile: "response.wav" audioFile: "response.wav"
@@ -15,7 +15,8 @@ This processor will create a SIP DTMF response from the provided parameters. If
This example will create a SIP response that will wait 1 second then play the DTMF digits "1234" then wait another second before completing the response. This example will create a SIP response that will wait 1 second then play the DTMF digits "1234" then wait another second before completing the response.
```yaml ```yaml
- type: sip.response.dtmf.create - id: create-dtmf-response
type: sip.response.dtmf.create
params: params:
preWait: 1000 preWait: 1000
digits: "1234" digits: "1234"
@@ -15,7 +15,8 @@ The `string.create` processor creates a string based on the provided template. T
This would create a string using the `Address` property of the incoming message like and OSC message This would create a string using the `Address` property of the incoming message like and OSC message
```yaml ```yaml
- type: string.create - id: create
type: string.create
params: params:
template: "{{.Address}} template: "{{.Address}}
``` ```
@@ -13,5 +13,6 @@ The `string.decode` processor takes a array of bytes and turn it into string. Th
### Example ### Example
```yaml ```yaml
- type: string.decode - id: decode
type: string.decode
``` ```
@@ -13,5 +13,6 @@ The `string.encode` processor takes a string and turns it into an array of bytes
### Example ### Example
```yaml ```yaml
- type: string.encode - id: encode
type: string.encode
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `string.split` processor takes a string and turns it into an array of string
Split incoming string on `,` i.e `"one,two,three"` -> `["one","two","three"]` Split incoming string on `,` i.e `"one,two,three"` -> `["one","two","three"]`
```yaml ```yaml
- type: string.split - id: split
type: string.split
params: params:
separator: "," separator: ","
``` ```
+2 -1
View File
@@ -15,7 +15,8 @@ The `time.sleep` processor will sleep for the specified `duration` in millisecon
This would sleep for 5 seconds before passing the message to the next processor. This would sleep for 5 seconds before passing the message to the next processor.
```yaml ```yaml
- type: time.sleep - id: sleep
type: time.sleep
params: params:
duration: 5000 duration: 5000
``` ```