From bddca05cdef4cc624e37ae8958c0ecc12937e014 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Thu, 10 Sep 2026 08:41:49 -0500 Subject: [PATCH] update osc-go to v0.4.0 --- go.mod | 2 +- go.sum | 4 +- internal/processor/osc-message-create.go | 48 +++++++++---------- internal/processor/osc-message-encode.go | 2 +- internal/processor/test/json-encode_test.go | 2 +- .../processor/test/osc-message-create_test.go | 26 +++++----- .../processor/test/osc-message-decode_test.go | 12 ++--- .../processor/test/osc-message-encode_test.go | 14 +++--- 8 files changed, 55 insertions(+), 55 deletions(-) diff --git a/go.mod b/go.mod index e24205c..6b77321 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/jackc/pgx/v5 v5.11.0 github.com/jwetzell/artnet-go v0.3.0 github.com/jwetzell/free-d-go v0.2.0 - github.com/jwetzell/osc-go v0.3.1 + github.com/jwetzell/osc-go v0.4.0 github.com/jwetzell/psn-go v0.3.0 github.com/nats-io/nats-server/v2 v2.14.6 github.com/nats-io/nats.go v1.53.1 diff --git a/go.sum b/go.sum index 4745ef3..88a06d1 100644 --- a/go.sum +++ b/go.sum @@ -53,8 +53,8 @@ github.com/jwetzell/artnet-go v0.3.0 h1:MDHElOSbpgmIbYGHO9SoxsT7ynrYtV5/UHGT82ge github.com/jwetzell/artnet-go v0.3.0/go.mod h1:zqRsSsrd6rPwJacwscPteDqGIqevjZ3Z6dpp092VJ1w= github.com/jwetzell/free-d-go v0.2.0 h1:8WQW4du8Sf3d18aUzk9n5jZtHE6WdDQHDFjkFffvycc= github.com/jwetzell/free-d-go v0.2.0/go.mod h1:yHuRy51NeDfN26eJ6wzZgys8qyQiS7hkYILw8yF+UJ4= -github.com/jwetzell/osc-go v0.3.1 h1:IyXCUxzMFjiUFOeqOpz57zNv5D3Zf9yEYs2tKmPQnxA= -github.com/jwetzell/osc-go v0.3.1/go.mod h1:vdfsVQ0fvtaOVwnvaz7IJ0gqtx2bLcswsVU9k7h2UGo= +github.com/jwetzell/osc-go v0.4.0 h1:TCh67SBt7cNE/6SUEzUNl9gh3iAPpbmob4KgzJOApPw= +github.com/jwetzell/osc-go v0.4.0/go.mod h1:+2prTtm8arSLJvopFQabuHroqGcDH0rFIuSgTqciMe0= 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/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8= diff --git a/internal/processor/osc-message-create.go b/internal/processor/osc-message-create.go index f7ef3a8..3e2b51c 100644 --- a/internal/processor/osc-message-create.go +++ b/internal/processor/osc-message-create.go @@ -60,7 +60,7 @@ func init() { argStrings, err := params.GetStringSlice("args") if err != nil { if errors.Is(err, config.ErrParamNotFound) { - return &OSCMessageCreate{config: processorConfig, Address: addressTemplate}, nil + return &MessageCreate{config: processorConfig, Address: addressTemplate}, nil } else { return nil, fmt.Errorf("osc.message.create args error: %w", err) } @@ -86,19 +86,19 @@ func init() { } argTemplates = append(argTemplates, argTemplate) } - return &OSCMessageCreate{config: processorConfig, Address: addressTemplate, Args: argTemplates, Types: typesString}, nil + return &MessageCreate{config: processorConfig, Address: addressTemplate, Args: argTemplates, Types: typesString}, nil }, }) } -type OSCMessageCreate struct { +type MessageCreate struct { config config.ProcessorConfig Address *template.Template Args []*template.Template Types string } -func (omc *OSCMessageCreate) Process(ctx context.Context, wrappedPayload common.WrappedPayload) (common.WrappedPayload, error) { +func (omc *MessageCreate) Process(ctx context.Context, wrappedPayload common.WrappedPayload) (common.WrappedPayload, error) { templateData := wrappedPayload @@ -122,11 +122,11 @@ func (omc *OSCMessageCreate) Process(ctx context.Context, wrappedPayload common. return wrappedPayload, errors.New("osc.message.create address must start with '/'") } - payloadMessage := &osc.OSCMessage{ + payloadMessage := &osc.Message{ Address: addressString, } - args := []osc.OSCArg{} + args := []osc.Arg{} for argIndex, argTemplate := range omc.Args { var argBuffer bytes.Buffer @@ -157,83 +157,83 @@ func (omc *OSCMessageCreate) Process(ctx context.Context, wrappedPayload common. return wrappedPayload, nil } -func (omc *OSCMessageCreate) Id() string { +func (omc *MessageCreate) Id() string { return omc.config.Id } -func (omc *OSCMessageCreate) Type() string { +func (omc *MessageCreate) Type() string { return omc.config.Type } -func argToTypedArg(rawArg string, oscType byte) (osc.OSCArg, error) { +func argToTypedArg(rawArg string, oscType byte) (osc.Arg, error) { switch oscType { case 's': - return osc.OSCArg{ + return osc.Arg{ Value: rawArg, Type: "s", }, nil case 'i': number, err := strconv.ParseInt(rawArg, 10, 32) if err != nil { - return osc.OSCArg{}, err + return osc.Arg{}, err } - return osc.OSCArg{ + return osc.Arg{ Value: int32(number), Type: "i", }, nil case 'f': number, err := strconv.ParseFloat(rawArg, 32) if err != nil { - return osc.OSCArg{}, err + return osc.Arg{}, err } - return osc.OSCArg{ + return osc.Arg{ Value: float32(number), Type: "f", }, nil case 'b': data, err := hex.DecodeString(rawArg) if err != nil { - return osc.OSCArg{}, err + return osc.Arg{}, err } - return osc.OSCArg{ + return osc.Arg{ Value: data, Type: "b", }, nil case 'h': number, err := strconv.ParseInt(rawArg, 10, 64) if err != nil { - return osc.OSCArg{}, err + return osc.Arg{}, err } - return osc.OSCArg{ + return osc.Arg{ Value: int64(number), Type: "h", }, nil case 'd': number, err := strconv.ParseFloat(rawArg, 64) if err != nil { - return osc.OSCArg{}, err + return osc.Arg{}, err } - return osc.OSCArg{ + return osc.Arg{ Value: float64(number), Type: "d", }, nil case 'T': - return osc.OSCArg{ + return osc.Arg{ Value: true, Type: "T", }, nil case 'F': - return osc.OSCArg{ + return osc.Arg{ Value: false, Type: "F", }, nil case 'N': - return osc.OSCArg{ + return osc.Arg{ Value: nil, Type: "N", }, nil default: - return osc.OSCArg{}, fmt.Errorf("osc.message.create unhandled osc type: %c", oscType) + return osc.Arg{}, fmt.Errorf("osc.message.create unhandled osc type: %c", oscType) } } diff --git a/internal/processor/osc-message-encode.go b/internal/processor/osc-message-encode.go index 677523f..fb53490 100644 --- a/internal/processor/osc-message-encode.go +++ b/internal/processor/osc-message-encode.go @@ -26,7 +26,7 @@ func init() { func (ome *OSCMessageEncode) Process(ctx context.Context, wrappedPayload common.WrappedPayload) (common.WrappedPayload, error) { payload := wrappedPayload.Payload - payloadMessage, ok := common.GetAnyAs[*osc.OSCMessage](payload) + payloadMessage, ok := common.GetAnyAs[*osc.Message](payload) if !ok { wrappedPayload.End = true diff --git a/internal/processor/test/json-encode_test.go b/internal/processor/test/json-encode_test.go index 039147e..1b0edd3 100644 --- a/internal/processor/test/json-encode_test.go +++ b/internal/processor/test/json-encode_test.go @@ -66,7 +66,7 @@ func TestGoodJsonEncode(t *testing.T) { }{ { name: "basic struct", - payload: osc.OSCMessage{ + payload: osc.Message{ Address: "/hello", }, expected: []byte("{\"address\":\"/hello\",\"args\":null}"), diff --git a/internal/processor/test/osc-message-create_test.go b/internal/processor/test/osc-message-create_test.go index 0fdf004..bd13b5e 100644 --- a/internal/processor/test/osc-message-create_test.go +++ b/internal/processor/test/osc-message-create_test.go @@ -49,8 +49,8 @@ func TestGoodOSCMessageCreate(t *testing.T) { params: map[string]any{ "address": "/test", }, - payload: osc.OSCMessage{}, - expected: &osc.OSCMessage{Address: "/test"}, + payload: osc.Message{}, + expected: &osc.Message{Address: "/test"}, }, { name: "address with template and no args", @@ -58,7 +58,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "address": "/test/{{.Payload.Value}}", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value"}, + expected: &osc.Message{Address: "/test/value"}, }, { name: "address with template and string arg", @@ -68,7 +68,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "s", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: "arg1", Type: "s"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: "arg1", Type: "s"}}}, }, { name: "address with template and mixed args", @@ -78,9 +78,9 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "sif", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{ + expected: &osc.Message{ Address: "/test/value", - Args: []osc.OSCArg{ + Args: []osc.Arg{ {Value: "arg1", Type: "s"}, {Value: int32(42), Type: "i"}, {Value: float32(3.14), Type: "f"}, @@ -95,7 +95,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "h", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: int64(42), Type: "h"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: int64(42), Type: "h"}}}, }, { name: "address with template and double arg", @@ -105,7 +105,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "d", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: float64(42), Type: "d"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: float64(42), Type: "d"}}}, }, { name: "address with template and true arg", @@ -115,7 +115,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "T", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: true, Type: "T"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: true, Type: "T"}}}, }, { name: "address with template and false arg", @@ -125,7 +125,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "F", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: false, Type: "F"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: false, Type: "F"}}}, }, { name: "address with template and nil arg", @@ -135,7 +135,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "N", }, payload: map[string]any{"Value": "value"}, - expected: &osc.OSCMessage{Address: "/test/value", Args: []osc.OSCArg{{Value: nil, Type: "N"}}}, + expected: &osc.Message{Address: "/test/value", Args: []osc.Arg{{Value: nil, Type: "N"}}}, }, { name: "blob arg", @@ -145,7 +145,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { "types": "b", }, payload: "", - expected: &osc.OSCMessage{Address: "/test", Args: []osc.OSCArg{{Value: []byte{0xde, 0xad, 0xbe, 0xef}, Type: "b"}}}, + expected: &osc.Message{Address: "/test", Args: []osc.Arg{{Value: []byte{0xde, 0xad, 0xbe, 0xef}, Type: "b"}}}, }, } @@ -178,7 +178,7 @@ func TestGoodOSCMessageCreate(t *testing.T) { return } - gotMessage, ok := got.Payload.(*osc.OSCMessage) + gotMessage, ok := got.Payload.(*osc.Message) if !ok { t.Fatalf("osc.message.create returned a %T payload: %+v", got, got) } diff --git a/internal/processor/test/osc-message-decode_test.go b/internal/processor/test/osc-message-decode_test.go index 95e6a21..26965b9 100644 --- a/internal/processor/test/osc-message-decode_test.go +++ b/internal/processor/test/osc-message-decode_test.go @@ -39,22 +39,22 @@ func TestGoodOSCMessageDecode(t *testing.T) { tests := []struct { name string payload []byte - expected *osc.OSCMessage + expected *osc.Message }{ { name: "basic OSC message", payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0}, - expected: &osc.OSCMessage{ + expected: &osc.Message{ Address: "/test", - Args: []osc.OSCArg{}, + Args: []osc.Arg{}, }, }, { name: "basic OSC message with argument", payload: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 105, 0, 0, 0, 0, 0, 42}, - expected: &osc.OSCMessage{ + expected: &osc.Message{ Address: "/test", - Args: []osc.OSCArg{ + Args: []osc.Arg{ { Type: "i", Value: int32(42), @@ -72,7 +72,7 @@ func TestGoodOSCMessageDecode(t *testing.T) { t.Fatalf("osc.message.decode processing failed: %s", err) } - gotMessage, ok := got.Payload.(*osc.OSCMessage) + gotMessage, ok := got.Payload.(*osc.Message) if !ok { t.Fatalf("osc.message.decode returned a %T payload: %+v", got, got) } diff --git a/internal/processor/test/osc-message-encode_test.go b/internal/processor/test/osc-message-encode_test.go index bce3182..c442cfd 100644 --- a/internal/processor/test/osc-message-encode_test.go +++ b/internal/processor/test/osc-message-encode_test.go @@ -43,16 +43,16 @@ func TestGoodOSCMessageEncode(t *testing.T) { }{ { name: "basic OSC message", - payload: &osc.OSCMessage{ + payload: &osc.Message{ Address: "/test", }, expected: []byte{47, 116, 101, 115, 116, 0, 0, 0, 44, 0, 0, 0}, }, { name: "basic OSC message with argument", - payload: &osc.OSCMessage{ + payload: &osc.Message{ Address: "/test", - Args: []osc.OSCArg{ + Args: []osc.Arg{ { Type: "i", Value: int32(42), @@ -96,9 +96,9 @@ func TestBadOSCMessageEncode(t *testing.T) { }, { name: "invalid OSC message argument", - payload: &osc.OSCMessage{ + payload: &osc.Message{ Address: "test", - Args: []osc.OSCArg{}, + Args: []osc.Arg{}, }, errorString: "osc.message.encode processor failed to encode OSCMessage: OSC Message address must start with /", }, @@ -120,9 +120,9 @@ func TestBadOSCMessageEncode(t *testing.T) { func BenchmarkOSCMessageEncode(b *testing.B) { processorInstance := processor.OSCMessageEncode{} - payload := &osc.OSCMessage{ + payload := &osc.Message{ Address: "/test", - Args: []osc.OSCArg{ + Args: []osc.Arg{ { Type: "i", Value: int32(42),