Interface specifications

All Player communication occurs through interfaces, which specify the syntax and semantics for a set of messages. See the tutorial Interfaces, drivers, and devices for a discussion of what an interface is.

Below are the details. For each interface, the following is given:

It can be the case that a given message can be sent as data or in response to a request. A common example is geometry. For many devices geometry is fixed and so need only be requested once. For others geometry may change dynamically and so the device will publish it periodically.

Todo
Normalize subtype names (PLAYER_PTZ_REQ_GEOM vs PLAYER_POSITION2D_REQ_GET_GEOM)