switch to WebMIDI driver when building JS

This commit is contained in:
Joel Wetzell
2026-03-30 15:16:35 -05:00
parent 050ada6a70
commit 1d4cb251e9
10 changed files with 30 additions and 71 deletions

View File

@@ -11,7 +11,7 @@
margin: 0;
padding: 0;
}
#editor-container {
#output-container {
flex-grow: 1;
}
#log-container {
@@ -50,11 +50,8 @@
</script>
</head>
<body>
<div id="editor-container">
<button id="button1">Button 1</button>
<button id="button2">Button 2</button>
<div id="output1"></div>
<div id="output2"></div>
<div id="output-container">
<div id="output"></div>
</div>
<div id="log-container">

View File

@@ -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}}",
},
},
},

View File

@@ -0,0 +1,7 @@
//go:build cgo
package module
import (
_ "gitlab.com/gomidi/midi/v2/drivers/rtmididrv"
)

View File

@@ -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 {

View File

@@ -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 {

7
internal/module/web.go Normal file
View File

@@ -0,0 +1,7 @@
//go:build js
package module
import (
_ "gitlab.com/gomidi/midi/v2/drivers/webmididrv"
)

View File

@@ -1,4 +1,4 @@
//go:build cgo
//go:build cgo || js
package processor

View File

@@ -1,4 +1,4 @@
//go:build cgo
//go:build cgo || js
package processor

View File

@@ -1,4 +1,4 @@
//go:build cgo
//go:build cgo || js
package processor

View File

@@ -1,4 +1,4 @@
//go:build cgo
//go:build cgo || js
package processor