summaryrefslogtreecommitdiffstats
path: root/osc_ctrl.py
diff options
context:
space:
mode:
Diffstat (limited to 'osc_ctrl.py')
-rw-r--r--osc_ctrl.py31
1 files changed, 11 insertions, 20 deletions
diff --git a/osc_ctrl.py b/osc_ctrl.py
index aebfa56..e5a2608 100644
--- a/osc_ctrl.py
+++ b/osc_ctrl.py
@@ -38,23 +38,8 @@ state = EvilGlobalState()
# This function provides a mapping from letter ('a') to index (26).
def generateEncoding():
encoding = {}
- for i in range(0, 26):
- encoding[chr(ord('A') + i)] = i
- for i in range(26, 52):
- encoding[chr(ord('a') + i - 26)] = i
- for i in range(52, 62):
- encoding[chr(ord('0') + i - 52)] = i
- encoding[','] = 62
- encoding['.'] = 63
- encoding[' '] = 64
- encoding['?'] = 65
- encoding['!'] = 66
- encoding[';'] = 67
- encoding[':'] = 68
- encoding['-'] = 69
- encoding['_'] = 70
- encoding["'"] = 71
- encoding['"'] = 72
+ for i in range(0, 65535):
+ encoding[chr(i)] = (i % 256, int(i / 256))
return encoding
state.encoding = generateEncoding()
@@ -75,9 +60,10 @@ def encodeMessage(lines):
return result
def updateCell(client, cell_idx, letter_encoded):
- addr="/avatar/parameters/" + generate_utils.getBlendParam(cell_idx)
- letter_remapped = (-127.5 + letter_encoded) / 127.5
- client.send_message(addr, letter_remapped)
+ for byte in range(0, generate_utils.BYTES_PER_CHAR):
+ addr="/avatar/parameters/" + generate_utils.getBlendParam(cell_idx, byte)
+ letter_remapped = (-127.5 + letter_encoded[byte]) / 127.5
+ client.send_message(addr, letter_remapped)
def enable(client):
addr="/avatar/parameters/" + getEnableParam()
@@ -331,6 +317,11 @@ if __name__ == "__main__":
state.encoding = generateEncoding()
+ sendRawMessage(client, [ \
+ (65,0), \
+ (0x20,0xAD), \
+ ])
+
tx_state = OscTxState()
for line in fileinput.input():
while not sendMessageLazy(client, line, tx_state):