add osc timetag

This commit is contained in:
2024-12-22 14:16:57 -06:00
parent fea1d47085
commit b71ee95364
2 changed files with 30 additions and 1 deletions
+24
View File
@@ -79,6 +79,13 @@ func byteArrayToOSCBytes(bytes []byte) []byte {
return oscBytes
}
func timeTagToOSCBytes(timeTag OSCTimeTag) []byte {
timeTagBytes := int32ToOSCBytes(timeTag.seconds)
timeTagBytes = append(timeTagBytes, int32ToOSCBytes(timeTag.fractionalSeconds)...)
return timeTagBytes
}
func argsToBuffer(args []OSCArg) []byte {
//TODO(jwetzell): add error handling
var argBuffers = []byte{}
@@ -256,6 +263,23 @@ func readOSCColor(bytes []byte) (OSCColor, []byte, error) {
}
return oscColor, bytes[4:], nil
}
func readOSCTimeTag(bytes []byte) (OSCTimeTag, []byte, error) {
seconds, bytesAfterSeconds, err := readOSCInt32(bytes)
if err != nil {
return OSCTimeTag{}, bytes, err
}
fractionalSeconds, remainingBytes, err := readOSCInt32(bytesAfterSeconds)
if err != nil {
return OSCTimeTag{}, bytes, err
}
return OSCTimeTag{
seconds: seconds,
fractionalSeconds: fractionalSeconds,
},
remainingBytes,
nil
}
func readOSCArg(bytes []byte, oscType string) (OSCArg, []byte, error) {
var readArgError error
+6 -1
View File
@@ -5,7 +5,7 @@ type OSCPacket interface {
}
type OSCBundle struct {
TimeTag uint64
TimeTag OSCTimeTag
Contents []OSCPacket
}
@@ -25,3 +25,8 @@ type OSCColor struct {
b uint8
a uint8
}
type OSCTimeTag struct {
seconds int32
fractionalSeconds int32
}