From d7c6da5c5b56a028b4931247f66374293be34d75 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Wed, 28 Jan 2026 14:37:23 -0600 Subject: [PATCH] support OSC 1.0 TCP format if SLIP is not enabled --- cmd/sendosc/sendosc.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmd/sendosc/sendosc.go b/cmd/sendosc/sendosc.go index 9aaa15e..6e45d2f 100644 --- a/cmd/sendosc/sendosc.go +++ b/cmd/sendosc/sendosc.go @@ -2,6 +2,7 @@ package main import ( "context" + "encoding/binary" "encoding/hex" "fmt" "net" @@ -211,6 +212,12 @@ func send(host string, port int32, address string, args []string, types []string if slip { oscMessageBuffer = slipEncode(oscMessageBuffer) + } else if protocol == "tcp" { + // OSC 1.0 prepends a 4 byte size header for non-SLIP TCP messages + size := uint32(len(oscMessageBuffer)) + sizeBytes := make([]byte, 4) + binary.BigEndian.PutUint32(sizeBytes, size) + oscMessageBuffer = append(sizeBytes, oscMessageBuffer...) } netAddress := fmt.Sprintf("%s:%d", host, port)