[PYTHON] Note that int64 could not be received by pyOSC

Status

I tried to send a UnixTime Tick from UnityOSC to a client (pyOSC) as a long type, but I didn't receive it.

Error message

OSCServer: KeyError on request from localhost:49206: 'h'

environment

Cause

pyOSC does not support receiving int64

Correspondence

The typeTag for the received message is determined in def decode OSC (data): Since there is a definition of def _readLong (data): but it is not called when typeTag is h Fixed to call _readLong () when typeTag is h

In particular

table = {"i":_readInt, "f":_readFloat, "s":_readString, "b":_readBlob, "d":_readDouble, "t":_readTimeTag}

To

table = {"i":_readInt, "h":_readLong, "f":_readFloat, "s":_readString, "b":_readBlob, "d":_readDouble, "t":_readTimeTag}

Fixed to

Other

-OSC Specifications (Japanese translation )) According to this, it seems that 64-bit integers do not have to be recognized, so this problem is not simply a bug of pyOSC. --For the time being, I sent Pull Riku ――If you want to send the time like this time, it may be better to use the time tag (type tag: t). --typeTag: What is the acronym for h?

Recommended Posts

Note that int64 could not be received by pyOSC
Tkinter could not be imported in Python
[Note] QXcbConnection: Could not connect to display
Install Docker on CentOS8. The problem that the name could not be resolved was resolved.
The story that performance could be improved just by changing the dtype of numpy
The story that 5GHz band access point could not be created on Ubuntu
Qiitadon icon may not be changed by API