diff --git a/app/demo/index.html b/app/demo/index.html
index ca18c54..872f5f8 100644
--- a/app/demo/index.html
+++ b/app/demo/index.html
@@ -11,7 +11,7 @@
margin: 0;
padding: 0;
}
- #editor-container {
+ #output-container {
flex-grow: 1;
}
#log-container {
@@ -50,11 +50,8 @@
-
-
-
-
-
+
diff --git a/app/demo/main.go b/app/demo/main.go
index 929abf7..012a2a2 100644
--- a/app/demo/main.go
+++ b/app/demo/main.go
@@ -23,76 +23,26 @@ func main() {
},
Modules: []config.ModuleConfig{
{
- Id: "timer",
- Type: "time.interval",
+ Id: "midi",
+ Type: "midi.input",
Params: map[string]any{
- "duration": 1000,
- },
- },
- {
- Id: "button1",
- Type: "web.onclick",
- Params: map[string]any{
- "id": "button1",
- },
- },
- {
- Id: "button2",
- Type: "web.onclick",
- Params: map[string]any{
- "id": "button2",
+ "port": "Launchpad S",
},
},
},
Routes: []config.RouteConfig{
{
- Input: "timer",
+ Input: "midi",
Processors: []config.ProcessorConfig{
{
Type: "debug.log",
},
- },
- },
- {
- Input: "button1",
- Processors: []config.ProcessorConfig{
- {
- Type: "string.create",
- Params: map[string]any{
- "template": "{{.Payload.UnixMilli}}",
- },
- },
- {
- Type: "debug.log",
- },
{
Type: "web.set",
Params: map[string]any{
- "id": "output1",
- "property": "innerText",
- "value": "Button1 Pressed @ {{.Payload}}",
- },
- },
- },
- },
- {
- Input: "button2",
- Processors: []config.ProcessorConfig{
- {
- Type: "string.create",
- Params: map[string]any{
- "template": "{{.Payload.UnixMilli}}",
- },
- },
- {
- Type: "debug.log",
- },
- {
- Type: "web.set",
- Params: map[string]any{
- "id": "output2",
- "property": "innerText",
- "value": "Button2 Pressed @ {{.Payload}}",
+ "id": "output",
+ "property": "textContent",
+ "value": "{{.Payload}}",
},
},
},
diff --git a/internal/module/desktop.go b/internal/module/desktop.go
new file mode 100644
index 0000000..0a16535
--- /dev/null
+++ b/internal/module/desktop.go
@@ -0,0 +1,7 @@
+//go:build cgo
+
+package module
+
+import (
+ _ "gitlab.com/gomidi/midi/v2/drivers/rtmididrv"
+)
diff --git a/internal/module/midi-input.go b/internal/module/midi-input.go
index c875998..0eedfae 100644
--- a/internal/module/midi-input.go
+++ b/internal/module/midi-input.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package module
@@ -12,7 +12,6 @@ import (
"github.com/jwetzell/showbridge-go/internal/common"
"github.com/jwetzell/showbridge-go/internal/config"
"gitlab.com/gomidi/midi/v2"
- _ "gitlab.com/gomidi/midi/v2/drivers/rtmididrv"
)
type MIDIInput struct {
diff --git a/internal/module/midi-output.go b/internal/module/midi-output.go
index 58973e0..64a840c 100644
--- a/internal/module/midi-output.go
+++ b/internal/module/midi-output.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package module
@@ -12,7 +12,6 @@ import (
"github.com/jwetzell/showbridge-go/internal/common"
"github.com/jwetzell/showbridge-go/internal/config"
"gitlab.com/gomidi/midi/v2"
- _ "gitlab.com/gomidi/midi/v2/drivers/rtmididrv"
)
type MIDIOutput struct {
diff --git a/internal/module/web.go b/internal/module/web.go
new file mode 100644
index 0000000..4e310ba
--- /dev/null
+++ b/internal/module/web.go
@@ -0,0 +1,7 @@
+//go:build js
+
+package module
+
+import (
+ _ "gitlab.com/gomidi/midi/v2/drivers/webmididrv"
+)
diff --git a/internal/processor/midi-message-create.go b/internal/processor/midi-message-create.go
index a4291be..46e1062 100644
--- a/internal/processor/midi-message-create.go
+++ b/internal/processor/midi-message-create.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package processor
diff --git a/internal/processor/midi-message-decode.go b/internal/processor/midi-message-decode.go
index a0f87be..113962f 100644
--- a/internal/processor/midi-message-decode.go
+++ b/internal/processor/midi-message-decode.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package processor
diff --git a/internal/processor/midi-message-encode.go b/internal/processor/midi-message-encode.go
index 3dea40a..7b6122d 100644
--- a/internal/processor/midi-message-encode.go
+++ b/internal/processor/midi-message-encode.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package processor
diff --git a/internal/processor/midi-message-unpack.go b/internal/processor/midi-message-unpack.go
index 0087303..2e66525 100644
--- a/internal/processor/midi-message-unpack.go
+++ b/internal/processor/midi-message-unpack.go
@@ -1,4 +1,4 @@
-//go:build cgo
+//go:build cgo || js
package processor