-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtest_send.py
executable file
·131 lines (105 loc) · 4.64 KB
/
test_send.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/usr/bin/env python3
import traceback
import better_exceptions
import threading
from pythonosc import dispatcher
from pythonosc import osc_server
from pythonosc import osc_message_builder
from pythonosc import udp_client
import argparse
import random
import time
test_modes = ['PLY','MTE','SKP','RVS','RND','DBL','HLF']
loop_modes = ['PLAY','REVS','RAND','STOP']
def send_random_file_change():
new_file_index=random.randint(0,7)
new_loop_i = random.randint(1,4)
message_string="/loop/{}/file".format(new_loop_i)
client.send_message(message_string, new_file_index)
print ("sent: {} {} ".format(message_string,new_file_index))
#should really send a play message to start the new file ASAP
time.sleep(0.05)
message_string="/loop/{}/mode".format(new_loop_i)
play_mode_i=random.randint(0,2)
client.send_message(message_string, loop_modes[play_mode_i])
print ("sent: {} {} ".format(message_string,loop_modes[play_mode_i]))
return
def send_random_slice():
new_slice_mode = test_modes[random.randint(0,6)]
new_loop_i = random.randint(1,4)
new_slice_i = random.randint(0,7)
message_string = "/loop/{}/slice/{}".format(new_loop_i,new_slice_i)
client.send_message(message_string,new_slice_mode)
print("sent: {} {}".format(message_string,new_slice_mode))
return
def send_random_loop():
new_loop_mode = loop_modes[random.randint(0,3)]
new_loop_i = random.randint(1,4)
message_string = "/loop/{}/mode".format(new_loop_i)
client.send_message(message_string,new_loop_mode)
print("sent: {} {}".format(message_string,new_loop_mode))
return
def send_random_volume():
new_volume = random.randint(0,127)/127.0 # this should now be a float.
new_loop_i = random.randint(1,4)
message_string = "/loop/{}/volume".format(new_loop_i)
client.send_message(message_string,new_volume)
print("sent: {} {}".format(message_string,new_volume))
return
def set_all_play():
for i in range(1,5):
message_string = "/loop/{}/mode".format(i)
client.send_message(message_string,loop_modes[0])
for x in range(0,8):
message_string = "/loop/{}/slice/{}".format(i,x)
client.send_message(message_string,test_modes[0])
print("sent: {} {}".format(message_string,test_modes[0]))
def set_all_slices_mode(new_mode_index):
for i in range(1,5):
for x in range(0,8):
message_string = "/loop/{}/slice/{}".format(i,x)
client.send_message(message_string,test_modes[new_mode_index])
print("sent: {} {}".format(message_string,test_modes[new_mode_index]))
def send_one():
client.send_message("/loop/1/mode", loop_modes[1])
client.send_message("/loop/2/mode", loop_modes[1])
client.send_message("/loop/4/mode", loop_modes[1])
message_string = "/loop/3/slice/1"
client.send_message(message_string,test_modes[6])
print("sent: {} {}".format(message_string,test_modes[6]))
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="127.0.0.1",
help="The ip of the OSC server")
parser.add_argument("--port", type=int, default=5080,
help="The port the OSC server is listening on")
parser.add_argument("--allplay", action='store_true', help="set all loop and slice playback to PLAY then exits")
parser.add_argument("--sendone", action='store_true', help="set all loop and slice playback to PLAY then exits")
parser.add_argument("--setallslicemode",type=int,help="set all slices to the same playback mode", default=-1)
parser.add_argument("--time",type=float,help="time between random messages",default=0.1)
parser.add_argument("--loadfiletest",action='store_true',help="send a single load file message the quit")
args = parser.parse_args()
client = udp_client.SimpleUDPClient(args.ip, args.port)
#client._sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
if(args.allplay):
set_all_play()
exit()
if (args.loadfiletest):
send_random_file_change()
exit()
if(args.sendone):
send_one()
exit()
if(args.setallslicemode>-1):
if(args.setallslicemode<7):
set_all_slices_mode(args.setallslicemode)
exit()
funfun=[send_random_loop, send_random_slice, send_random_slice, send_random_slice, send_random_volume, send_random_file_change]
while True:
j = random.randint(0,(len(funfun)-1))
funfun[j]()
time.sleep(args.time)
# client.send_message("/loop/2/slice/5", 'RVS')
# client.send_message("/loop/3/slice/5", 'MTE')
# client.send_message("/loop/2/slice/2", 'PLY')
#client.send_message("/","-----------------")