47 Commits

Author SHA1 Message Date
Joel Wetzell 814816696c bump version 2026-08-30 19:06:58 -05:00
Joel Wetzell 966ff8240e remove SIP documentation and update schemas 2026-08-30 19:06:09 -05:00
Joel Wetzell 8c8bffeb68 Merge pull request #84 from jwetzell/renovate/astro-monorepo
Update dependency astro to v7.2.9
2026-08-30 08:33:05 -05:00
renovate[bot] ddc722ed16 Update dependency astro to v7.2.9 2026-08-28 16:25:01 +00:00
Joel Wetzell a9bf28b7c6 Merge pull request #85 from jwetzell/renovate/astrojs-starlight-0.x
Update dependency @astrojs/starlight to v0.41.10
2026-08-28 11:24:01 -05:00
renovate[bot] f678b0d376 Update dependency @astrojs/starlight to v0.41.10 2026-08-28 14:56:27 +00:00
Joel Wetzell b2f6fc02a3 Merge pull request #82 from jwetzell/renovate/astro-monorepo
Update dependency astro to v7.2.8
2026-08-27 10:00:56 -05:00
Joel Wetzell 57a51c9fff Merge pull request #83 from jwetzell/renovate/node-24.x
Update Node.js to v24.20.0
2026-08-27 10:00:30 -05:00
renovate[bot] ec6f774f3d Update Node.js to v24.20.0 2026-08-26 23:32:24 +00:00
renovate[bot] 4d9c6b2af2 Update dependency astro to v7.2.8 2026-08-26 23:32:19 +00:00
Joel Wetzell 102e88824c Merge pull request #81 from jwetzell/renovate/sharp-0.x
Update dependency sharp to v0.35.4
2026-08-26 09:28:00 -05:00
renovate[bot] d49991c265 Update dependency sharp to v0.35.4 2026-08-26 14:25:53 +00:00
Joel Wetzell d883b1dd3b Merge pull request #79 from jwetzell/renovate/astro-monorepo
Update dependency astro to v7.2.7
2026-08-26 09:24:58 -05:00
renovate[bot] bc3a7edb79 Update dependency astro to v7.2.7 2026-08-26 14:18:38 +00:00
Joel Wetzell 0da86ce668 Merge pull request #80 from jwetzell/renovate/astrojs-starlight-0.x
Update dependency @astrojs/starlight to v0.41.9
2026-08-26 09:14:48 -05:00
renovate[bot] a61d843952 Update dependency @astrojs/starlight to v0.41.9 2026-08-25 20:03:23 +00:00
Joel Wetzell b38fbdaab4 bump version 2026-08-19 10:16:28 -05:00
Joel Wetzell 8d680aa922 sync package-lock 2026-08-19 10:16:05 -05:00
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
Joel Wetzell f1ed9c0600 0.4.1 2026-08-06 10:46:06 -05:00
Joel Wetzell d6d8353709 sync package-lock 2026-08-06 10:44:13 -05:00
Joel Wetzell 1e02bfc4da update astro dependencies 2026-08-06 10:34:05 -05:00
Joel Wetzell 477862e73c Merge pull request #72 from jwetzell/dependabot/npm_and_yarn/astro-7.1.6
Bump astro from 6.4.4 to 7.1.6
2026-08-06 10:31:30 -05:00
dependabot[bot] c98ed11bae Bump astro from 6.4.4 to 7.1.6
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 6.4.4 to 7.1.6.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@7.1.6/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-version: 7.1.6
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-06 14:05:19 +00:00
Joel Wetzell 6a9a418bf5 Merge pull request #62 from jwetzell/dependabot/npm_and_yarn/sharp-0.35.3
Bump sharp from 0.34.5 to 0.35.3
2026-08-06 09:02:50 -05:00
dependabot[bot] 69cf0949d2 Bump sharp from 0.34.5 to 0.35.3
Bumps [sharp](https://github.com/lovell/sharp) from 0.34.5 to 0.35.3.
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.3)

---
updated-dependencies:
- dependency-name: sharp
  dependency-version: 0.35.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-06 14:01:50 +00:00
Joel Wetzell dc7bbc6c93 Merge pull request #66 from jwetzell/dependabot/github_actions/actions/setup-node-7.0.0
Bump actions/setup-node from 6.4.0 to 7.0.0
2026-08-06 08:52:21 -05:00
Joel Wetzell ea0b05bbdc Merge pull request #68 from jwetzell/dependabot/github_actions/actions/checkout-7.0.1
Bump actions/checkout from 6.0.3 to 7.0.1
2026-08-06 08:51:58 -05:00
Joel Wetzell 5bd3c68fc2 Merge pull request #71 from jwetzell/dependabot/npm_and_yarn/astrojs/check-0.9.10
Bump @astrojs/check from 0.9.9 to 0.9.10
2026-08-06 08:50:58 -05:00
dependabot[bot] b17e00bdb3 Bump @astrojs/check from 0.9.9 to 0.9.10
Bumps [@astrojs/check](https://github.com/withastro/astro/tree/HEAD/packages/language-tools/astro-check) from 0.9.9 to 0.9.10.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/language-tools/astro-check/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/@astrojs/check@0.9.10/packages/language-tools/astro-check)

---
updated-dependencies:
- dependency-name: "@astrojs/check"
  dependency-version: 0.9.10
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-29 16:43:21 +00:00
dependabot[bot] ea6370644f Bump actions/checkout from 6.0.3 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-22 16:43:18 +00:00
dependabot[bot] d6d8e7b532 Bump actions/setup-node from 6.4.0 to 7.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 16:43:11 +00:00
Joel Wetzell bb1517ca73 Merge pull request #48 from jwetzell/dependabot/github_actions/actions/checkout-6.0.3
Bump actions/checkout from 6.0.2 to 6.0.3
2026-06-07 21:19:58 -05:00
Joel Wetzell 6935a7d969 Merge pull request #49 from jwetzell/dependabot/npm_and_yarn/astrojs/starlight-0.39.3
Bump @astrojs/starlight from 0.39.2 to 0.39.3
2026-06-07 21:19:46 -05:00
dependabot[bot] 98f36a9a46 Bump @astrojs/starlight from 0.39.2 to 0.39.3
Bumps [@astrojs/starlight](https://github.com/withastro/starlight/tree/HEAD/packages/starlight) from 0.39.2 to 0.39.3.
- [Release notes](https://github.com/withastro/starlight/releases)
- [Changelog](https://github.com/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md)
- [Commits](https://github.com/withastro/starlight/commits/@astrojs/starlight@0.39.3/packages/starlight)

---
updated-dependencies:
- dependency-name: "@astrojs/starlight"
  dependency-version: 0.39.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 02:19:33 +00:00
Joel Wetzell 6d191eaa1d Merge pull request #50 from jwetzell/dependabot/npm_and_yarn/astro-6.4.4
Bump astro from 6.3.8 to 6.4.4
2026-06-07 21:17:30 -05:00
dependabot[bot] e614f31478 Bump astro from 6.3.8 to 6.4.4
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) from 6.3.8 to 6.4.4.
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@6.4.4/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-version: 6.4.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 02:30:59 +00:00
dependabot[bot] 7371ac9f8f Bump actions/checkout from 6.0.2 to 6.0.3
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 02:28:02 +00:00
60 changed files with 3664 additions and 2230 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"
+2 -2
View File
@@ -8,10 +8,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: ".nvmrc"
cache: "npm"
+2 -2
View File
@@ -8,10 +8,10 @@ jobs:
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: ".nvmrc"
cache: "npm"
+1 -1
View File
@@ -1 +1 @@
v24.11.1
24.20.0
-50
View File
@@ -96,22 +96,6 @@ export default defineConfig({
collapsed: true,
items: [{ autogenerate: { directory: "modules/serial" } }],
},
{
label: "SIP",
collapsed: true,
items: [
{
label: "Call",
collapsed: true,
items: [{ autogenerate: { directory: "modules/sip/call" } }],
},
{
label: "DTMF",
collapsed: true,
items: [{ autogenerate: { directory: "modules/sip/dtmf" } }],
},
],
},
{
label: "WebSocket",
collapsed: true,
@@ -264,40 +248,6 @@ export default defineConfig({
collapsed: true,
items: [{ autogenerate: { directory: "processors/script" } }],
},
{
label: "SIP",
collapsed: true,
items: [
{
label: "Response",
collapsed: true,
items: [
{
label: "Audio",
collapsed: true,
items: [
{
autogenerate: {
directory: "processors/sip/response/audio",
},
},
],
},
{
label: "DTMF",
collapsed: true,
items: [
{
autogenerate: {
directory: "processors/sip/response/dtmf",
},
},
],
},
],
},
],
},
{
label: "String",
collapsed: true,
+1925 -972
View File
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@showbridge/docs",
"type": "module",
"version": "0.4.0",
"version": "0.6.0",
"files": [
"dist"
],
@@ -14,10 +14,10 @@
"astro": "astro"
},
"devDependencies": {
"@astrojs/check": "0.9.9",
"@astrojs/starlight": "^0.39.2",
"astro": "^6.3.8",
"sharp": "0.34.5",
"@astrojs/check": "0.9.10",
"@astrojs/starlight": "0.41.10",
"astro": "7.2.9",
"sharp": "0.35.4",
"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
- **id**: a unique identifier for the processor (auto generated when using the web interface)
- **type**: 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
- **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
- **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
-37
View File
@@ -1,37 +0,0 @@
---
title: SIP > OSC
sidebar:
order: 2
---
import { Code } from "@astrojs/starlight/components";
This config starts an SIP server listening on port `5060`. Any incoming call will result in a OSC message being sent to `127.0.0.1:53000` with the address set to [fire a QLab cue](https://qlab.app/docs/v5/scripting/osc-dictionary-v5/#/cue/{cue_number}/go) with the dialed number as the cue number. This was tested with a cheap SIP gateway like [this one](https://www.grandstream.com/products/gateways-and-atas/analog-telephone-adaptors/product/ht802).
export const example = `
api:
enabled: true
port: 8080
modules:
- id: sip
type: sip.call.server
params:
port: 5060
- id: udp
type: net.udp.client
params:
host: 127.0.0.1
port: 53000
routes:
- input: sip
processors:
- type: osc.message.create
params:
address: "/cue/{{.Payload.To}}/go"
- type: osc.message.encode
- type: module.output
params:
module: udp
`;
<Code code={example} title="config.yaml" lang="yaml" />
+8 -4
View File
@@ -23,13 +23,17 @@ modules:
host: 127.0.0.1
port: 8000
routes:
- input: http
- id: http-to-osc
input: http
processors:
- type: osc.message.create # create OSC message
- id: create-osc-message
type: osc.message.create # create OSC message
params:
address: "{{.Payload.URL.Path}}" # template the address from the incoming message
- type: osc.message.encode # turn OSC message into bytes
- type: module.output # output to the udp module
- id: encode-osc-message
type: osc.message.encode # turn OSC message into bytes
- id: send-osc
type: module.output # output to the udp module
params:
module: udp
`;
@@ -1,24 +0,0 @@
---
title: SIP Call Server
sidebar:
label: Server
order: 1
---
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections and emits call events when a new call is received. This can be used with cheap SIP gateway devices to connect an analog phone line and do interesting things like [firing QLab cues with phone calls](/examples/dial-a-cue).
<SchemaInfo type="module" id="sip.call.server"></SchemaInfo>
### Example
Start a UDP SIP server listening on port 5060
```yaml
- id: sipCallServer
type: sip.call.server
params:
ip: 127.0.0.1
port: 5060
transport: udp
```
@@ -1,25 +0,0 @@
---
title: SIP DTMF Server
sidebar:
label: Server
order: 1
---
import SchemaInfo from '../../../../../components/SchemaInfo.astro';
This module starts a [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) server that listens for incoming connections. When a call is received this module will emit events based on the touch tones (DTMF) received during the call. The event is sent out whenever the use presses the separator key defined in the params.
<SchemaInfo type="module" id="sip.dtmf.server"></SchemaInfo>
### Example
Start a UDP SIP server listening on port 5060 that will emit events whenever the user presses the `#` key on their phone during a call
```yaml
- id: sipDTMFServer
type: sip.dtmf.server
params:
ip: 127.0.0.1
port: 5060
transport: udp
separator: "#"
```
@@ -14,5 +14,6 @@ This processor will decode incoming bytes into an ArtNet packet. This processor
### Example
```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
```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`.
```yaml
- type: db.query
- id: query
type: db.query
params:
module: sqlite
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
```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
```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
```yaml
- type: filter.expr
- id: filter
type: filter.expr
params:
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`
```yaml
- type: filter.regex
- id: filter
type: filter.regex
params:
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.
```yaml
- type: float.parse
- id: parse
type: float.parse
params:
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.
```yaml
- type: float.random
- id: random
type: float.random
params:
bitSize: 64
min: 1.0
@@ -13,7 +13,8 @@ This processor will create a new FreeD message with the specified parameters.
### Example
```yaml
- type: freed.create
- id: freed-message
type: freed.create
params:
id: "1"
pan: "45"
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a FreeD message. This processor w
### Example
```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
```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`
```yaml
- type: http.request.do
- id: make-request
type: http.request.do
params:
method: GET
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`
```yaml
- type: http.response.create
- id: create-response
type: http.response.create
params:
status: 200
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.
```yaml
- type: int.parse
- id: parse
type: int.parse
params:
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.
```yaml
- type: int.random
- id: random
type: int.random
params:
min: -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
```yaml
- type: int.scale
- id: scale
type: int.scale
params:
inMin: 0
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
```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
```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`
```yaml
- type: kv.get
- id: get
type: kv.get
params:
module: redis
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`
```yaml
- type: kv.set
- id: set
type: kv.set
params:
module: redis
key: hello
@@ -13,7 +13,8 @@ This processor will create a MIDI Control Change message with the specified chan
### Example
```yaml
- type: midi.control_change.create
- id: create
type: midi.control_change.create
params:
channel: "1"
control: "64"
@@ -13,5 +13,6 @@ This processor will decode incoming bytes into a MIDI message. This processor wi
### Example
```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
```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
```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
```yaml
- type: midi.note_off.create
- id: create
type: midi.note_off.create
params:
channel: "1"
note: "60"
@@ -13,7 +13,8 @@ This processor will create a MIDI Note On message with the specified channel, no
### Example
```yaml
- type: midi.note_on.create
- id: create
type: midi.note_on.create
params:
channel: "1"
note: "60"
@@ -13,7 +13,8 @@ This processor will create a MIDI Program Change message with the specified chan
### Example
```yaml
- type: midi.program_change.create
- id: create
type: midi.program_change.create
params:
channel: "1"
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.
```yaml
- type: module.output
- id: output
type: module.output
params:
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.
```yaml
- type: osc.message.create
- id: create
type: osc.message.create
params:
address: "/test/message"
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
```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
```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
```yaml
- type: pubsub.publish
- id: publish
type: pubsub.publish
params:
module: mqtt-out
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.
```yaml
- type: script.expr
- id: expr
type: script.expr
params:
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
```yaml
- type: script.js
- id: javascript
type: script.js
params:
program: |
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
```yaml
- type: script.wasm
- id: wasm
type: script.wasm
params:
path: "./test.wasm"
function: "test"
@@ -1,23 +0,0 @@
---
title: Create SIP Audio Response
sidebar:
label: Create
order: 1
---
import SchemaInfo from '../../../../../../components/SchemaInfo.astro';
This processor will create a SIP response message with an audio file as the payload. If this message is output to a SIP module using the [module.output](/processors/module/output) processor, then the SIP module will send the response to the caller and play the audio file included in the response.
<SchemaInfo type="processor" id="sip.response.audio.create"/>
### Example
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
- type: sip.response.audio.create
params:
preWait: 1000
audioFile: "response.wav"
postWait: 1000
```
@@ -1,23 +0,0 @@
---
title: Create SIP DTMF Response
sidebar:
label: Create
order: 1
---
import SchemaInfo from '../../../../../../components/SchemaInfo.astro';
This processor will create a SIP DTMF response from the provided parameters. If this message is output to a SIP module using the [module.output](/processors/module/output) processor, then the SIP module will send the response to the caller and play the DTMF tones specified.
<SchemaInfo type="processor" id="sip.response.dtmf.create"/>
### Example
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
- type: sip.response.dtmf.create
params:
preWait: 1000
digits: "1234"
postWait: 1000
```
@@ -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
```yaml
- type: string.create
- id: create
type: string.create
params:
template: "{{.Address}}
```
@@ -13,5 +13,6 @@ The `string.decode` processor takes a array of bytes and turn it into string. Th
### Example
```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
```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"]`
```yaml
- type: string.split
- id: split
type: string.split
params:
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.
```yaml
- type: time.sleep
- id: sleep
type: time.sleep
params:
duration: 5000
```
-3
View File
@@ -25,9 +25,6 @@ showbridge is a kind of re-imagining of [OSCulator](https://osculator.net/) take
- server
- [PosiStageNet](https://posistage.net/)
- client
- [SIP](https://datatracker.ietf.org/doc/html/rfc3261)
- call server
- [DTMF](https://en.wikipedia.org/wiki/DTMF_signaling) server
- MIDI
- input (not included in pre-built binaries yet)
- output (not included in pre-built binaries yet)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff