This commit is contained in:
Joel Wetzell
2026-05-17 21:12:04 -05:00
parent 69bc31d3f1
commit 8e6cd58006
82 changed files with 642 additions and 450 deletions
+5 -3
View File
@@ -1,9 +1,11 @@
---
title: Config
sidebar:
order: 1
order: 1
---
The showbridge router's config is entirely controlled by a YAML/JSON config file. This file must be made by hand for now. I do provide some starter/example configs to look at to get a general idea of what one entails.
The showbridge router's config is entirely controlled by a YAML/JSON config file. This file must be made by hand for now. I do provide some starter/example configs to look at to get a general idea of what one entails.
Resources
- good idea to start with [config.yaml](https://github.com/jwetzell/showbridge-go/blob/main/config.yaml)
- good idea to start with [config.yaml](https://github.com/jwetzell/showbridge-go/blob/main/config.yaml)
+2 -1
View File
@@ -1,12 +1,13 @@
---
title: Modules
sidebar:
order: 2
order: 2
---
Modules are anything that can produce input and/or handle output. They are configured in the `modules` property of the [router config file](/concepts/config).
## YAML Definition
A module YAML block has the following properties
- **id**: user assigned unique identifier that will be used to reference a module instance in a [route](/concepts/routes)
+2 -1
View File
@@ -1,10 +1,11 @@
---
title: Payload
sidebar:
order: 5
order: 5
---
[Processors](/concepts/Processors) operator on a "wrapped" version of the message produces by the module. This wrapped version is available to all processors and is defined as follows:
- **Payload**: the actual message produced by the module (or the result of the previous [processor](/concepts/processors) in the [route](/concepts/routes)).
- **Source**: the id of the module that produced the original payload.
- **Sender**: the network address of the module that produced the message (if applicable not all modules will have a sender address).
+2 -1
View File
@@ -1,12 +1,13 @@
---
title: Processors
sidebar:
order: 4
order: 4
---
Processors are anything that create or manipulate messages. They are configured in the `processors` property of an individual [route](/concepts/routes). Processors have the ability to change the type of the message flowing through the system so a byte array can come into a `osc.message.decode` processor and a OSC message type will come out of the processor.
## YAML Definition
A processor YAML block has the following properties
- **type**: the processor type
+4 -3
View File
@@ -1,12 +1,13 @@
---
title: Routes
sidebar:
order: 3
order: 3
---
Routes take the messages coming from a module and push them through a list of [processors](/concepts/processors). Having no processors is valid but serves no real purpose and is basically a no-op.
Routes take the messages coming from a module and push them through a list of [processors](/concepts/processors). Having no processors is valid but serves no real purpose and is basically a no-op.
## YAML Definition
- **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
- an error in a processor step will result in the individual route being terminated