mirror of
https://github.com/jwetzell/osc-go.git
synced 2026-08-12 02:23:38 +00:00
add osc timetag
This commit is contained in:
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user