aboutsummaryrefslogtreecommitdiff
path: root/packet.py
diff options
context:
space:
mode:
Diffstat (limited to 'packet.py')
-rw-r--r--packet.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/packet.py b/packet.py
index aefa758..72e47f5 100644
--- a/packet.py
+++ b/packet.py
@@ -13,14 +13,16 @@ class Packet(object):
def FromStr(cls, s):
parts = struct.unpack('>9L', s)
return cls(parts[0], *parts[1:])
+ def as_float(self, i):
+ return struct.unpack('>f', struct.pack('>L', self.data[i]))[0]
def __str__(self):
- return struct.pack('>L'+('L'*len(self.data)), self.cmd, *self.data)
+ return struct.pack('>L'+(''.join('f' if isinstance(i, float) else 'L' for i in self.data)), self.cmd, *self.data)
class CMD:
KA = 0 # No important data
PING = 1 # Data are echoed exactly
QUIT = 2 # No important data
- PLAY = 3 # seconds, microseconds, frequency (Hz), amplitude (0-255), port
+ PLAY = 3 # seconds, microseconds, frequency (Hz), amplitude (0.0 - 1.0), port
CAPS = 4 # ports, client type (1), user ident (2-7)
def itos(i):