mirror of
https://github.com/jwetzell/showbridge-go.git
synced 2026-04-26 21:05:30 +00:00
upgrade osc library and switch to pointers
This commit is contained in:
2
go.mod
2
go.mod
@@ -10,7 +10,7 @@ require (
|
|||||||
github.com/extism/go-sdk v1.7.1
|
github.com/extism/go-sdk v1.7.1
|
||||||
github.com/jwetzell/artnet-go v0.2.1
|
github.com/jwetzell/artnet-go v0.2.1
|
||||||
github.com/jwetzell/free-d-go v0.1.0
|
github.com/jwetzell/free-d-go v0.1.0
|
||||||
github.com/jwetzell/osc-go v0.1.0
|
github.com/jwetzell/osc-go v0.2.0
|
||||||
github.com/jwetzell/psn-go v0.3.0
|
github.com/jwetzell/psn-go v0.3.0
|
||||||
github.com/nats-io/nats-server/v2 v2.12.4
|
github.com/nats-io/nats-server/v2 v2.12.4
|
||||||
github.com/nats-io/nats.go v1.49.0
|
github.com/nats-io/nats.go v1.49.0
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -61,8 +61,8 @@ github.com/jwetzell/artnet-go v0.2.1 h1:iYTKWcwYrF5kBkYfkw2UbWvoueeA23iKEn7fR27m
|
|||||||
github.com/jwetzell/artnet-go v0.2.1/go.mod h1:gli97Z32a0kMkZ6taoTiK7/lqHcF/dhiGjGJdx/PxqA=
|
github.com/jwetzell/artnet-go v0.2.1/go.mod h1:gli97Z32a0kMkZ6taoTiK7/lqHcF/dhiGjGJdx/PxqA=
|
||||||
github.com/jwetzell/free-d-go v0.1.0 h1:xHt6dvyit98X+OC3jVzV0aLidxbyzi3vI9QiYkteEtA=
|
github.com/jwetzell/free-d-go v0.1.0 h1:xHt6dvyit98X+OC3jVzV0aLidxbyzi3vI9QiYkteEtA=
|
||||||
github.com/jwetzell/free-d-go v0.1.0/go.mod h1:KmrkooRARRaxJTBSPvwt/6IMAIaHH1R8bSA8cwbbELw=
|
github.com/jwetzell/free-d-go v0.1.0/go.mod h1:KmrkooRARRaxJTBSPvwt/6IMAIaHH1R8bSA8cwbbELw=
|
||||||
github.com/jwetzell/osc-go v0.1.0 h1:EXxup5VWBErHot2Ri4MFToPf6KCzLDTbCt2x6GLfw8I=
|
github.com/jwetzell/osc-go v0.2.0 h1:4as+BYCeZhEddFczGveP5yZZxvY728Uavz+ZSLZfOII=
|
||||||
github.com/jwetzell/osc-go v0.1.0/go.mod h1:xLz0jTwebSxtx1TkKN1YVdeRqvpFNweDhTut5TE393A=
|
github.com/jwetzell/osc-go v0.2.0/go.mod h1:D3ZIXYB12bt4S35lKFUqgCFbF1Y+9Ld0sOhHA9mGZZM=
|
||||||
github.com/jwetzell/psn-go v0.3.0 h1:WVpCEmExYE8a+I5hQak5jNJJp2x35VdGX/VuMUKPmhY=
|
github.com/jwetzell/psn-go v0.3.0 h1:WVpCEmExYE8a+I5hQak5jNJJp2x35VdGX/VuMUKPmhY=
|
||||||
github.com/jwetzell/psn-go v0.3.0/go.mod h1:bcEAeti4sQM375buujb3mIfmUstD4Aby18gq3ENb6+o=
|
github.com/jwetzell/psn-go v0.3.0/go.mod h1:bcEAeti4sQM375buujb3mIfmUstD4Aby18gq3ENb6+o=
|
||||||
github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
|
github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package processor
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
osc "github.com/jwetzell/osc-go"
|
osc "github.com/jwetzell/osc-go"
|
||||||
"github.com/jwetzell/showbridge-go/internal/config"
|
"github.com/jwetzell/showbridge-go/internal/config"
|
||||||
@@ -29,7 +30,7 @@ func (omd *OSCMessageDecode) Process(ctx context.Context, payload any) (any, err
|
|||||||
|
|
||||||
message, err := osc.MessageFromBytes(payloadBytes)
|
message, err := osc.MessageFromBytes(payloadBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, fmt.Errorf("osc.message.decode processor failed to decode OSC message: %w", err)
|
||||||
}
|
}
|
||||||
return message, nil
|
return message, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ type OSCMessageEncode struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ome *OSCMessageEncode) Process(ctx context.Context, payload any) (any, error) {
|
func (ome *OSCMessageEncode) Process(ctx context.Context, payload any) (any, error) {
|
||||||
payloadMessage, ok := GetAnyAs[osc.OSCMessage](payload)
|
payloadMessage, ok := GetAnyAs[*osc.OSCMessage](payload)
|
||||||
|
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, errors.New("osc.message.encode processor only accepts an OSCMessage")
|
return nil, errors.New("osc.message.encode processor only accepts an *OSCMessage")
|
||||||
}
|
}
|
||||||
|
|
||||||
bytes := payloadMessage.ToBytes()
|
bytes := payloadMessage.ToBytes()
|
||||||
|
|||||||
@@ -33,12 +33,12 @@ func TestGoodOSCMessageDecode(t *testing.T) {
|
|||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
payload []byte
|
payload []byte
|
||||||
expected osc.OSCMessage
|
expected *osc.OSCMessage
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "basic OSC message",
|
name: "basic OSC message",
|
||||||
payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0},
|
payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0},
|
||||||
expected: osc.OSCMessage{
|
expected: &osc.OSCMessage{
|
||||||
Address: "/test",
|
Address: "/test",
|
||||||
Args: []osc.OSCArg{},
|
Args: []osc.OSCArg{},
|
||||||
},
|
},
|
||||||
@@ -46,7 +46,7 @@ func TestGoodOSCMessageDecode(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "basic OSC message with argument",
|
name: "basic OSC message with argument",
|
||||||
payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 105, 0, 0, 0, 0, 0, 42},
|
payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 105, 0, 0, 0, 0, 0, 42},
|
||||||
expected: osc.OSCMessage{
|
expected: &osc.OSCMessage{
|
||||||
Address: "/test",
|
Address: "/test",
|
||||||
Args: []osc.OSCArg{
|
Args: []osc.OSCArg{
|
||||||
{
|
{
|
||||||
@@ -66,7 +66,7 @@ func TestGoodOSCMessageDecode(t *testing.T) {
|
|||||||
t.Fatalf("osc.message.decode processing failed: %s", err)
|
t.Fatalf("osc.message.decode processing failed: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
gotMessage, ok := got.(osc.OSCMessage)
|
gotMessage, ok := got.(*osc.OSCMessage)
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Fatalf("osc.message.decode returned a %T payload: %s", got, got)
|
t.Fatalf("osc.message.decode returned a %T payload: %s", got, got)
|
||||||
}
|
}
|
||||||
@@ -100,6 +100,11 @@ func TestBadOSCMessageDecode(t *testing.T) {
|
|||||||
payload: []byte{48, 116, 101, 115, 116, 0, 0, 0, 44, 105, 0, 0, 0, 0, 0, 42},
|
payload: []byte{48, 116, 101, 115, 116, 0, 0, 0, 44, 105, 0, 0, 0, 0, 0, 42},
|
||||||
errorString: "osc.message.decode processor needs an OSC looking []byte",
|
errorString: "osc.message.decode processor needs an OSC looking []byte",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "invalid OSC payload",
|
||||||
|
payload: []byte{47, 116, 101, 115, 116, 0},
|
||||||
|
errorString: "osc.message.decode processor failed to decode OSC message: string data is not properly padded",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
|
|||||||
@@ -37,14 +37,14 @@ func TestGoodOSCMessageEncode(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
name: "basic OSC message",
|
name: "basic OSC message",
|
||||||
payload: osc.OSCMessage{
|
payload: &osc.OSCMessage{
|
||||||
Address: "/test",
|
Address: "/test",
|
||||||
},
|
},
|
||||||
expected: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0},
|
expected: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "basic OSC message with argument",
|
name: "basic OSC message with argument",
|
||||||
payload: osc.OSCMessage{
|
payload: &osc.OSCMessage{
|
||||||
Address: "/test",
|
Address: "/test",
|
||||||
Args: []osc.OSCArg{
|
Args: []osc.OSCArg{
|
||||||
{
|
{
|
||||||
@@ -86,7 +86,7 @@ func TestBadOSCMessageEncode(t *testing.T) {
|
|||||||
{
|
{
|
||||||
name: "non-osc message input",
|
name: "non-osc message input",
|
||||||
payload: "test",
|
payload: "test",
|
||||||
errorString: "osc.message.encode processor only accepts an OSCMessage",
|
errorString: "osc.message.encode processor only accepts an *OSCMessage",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user