forked from aiberlin/HyperDisCo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SyncText_tests.scd
55 lines (48 loc) · 1.53 KB
/
SyncText_tests.scd
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
// one single SyncText per textID:
q.dojo = SyncText(\CodingDojo, relayAddr: q.oscGroup);
n = NetAddr.localAddr;
// SyncEditor.all;
// x === SyncEditor(\syncText);
q.dojo.requestText;
n.sendMsg(\syncTextRequest, q.dojo.textID, \adc);
q.dojo .synced = true;
n.sendMsg(\syncTextRequest, q.dojo.textID, \adc);
q.dojo .setCurr("adc has some text now ...".postln);
n.sendMsg(\syncTextRequest, q.dojo.textID, \adc);
(
q.dojo.requestText;
q.dojo.makeDoc;
fork {
0.1.wait;
n.sendMsg(\syncText, q.dojo.textID, \hh, SyncText.defaultText ++ "hannes has this text");
0.1.wait;
n.sendMsg(\syncText, q.dojo.textID, \bg, SyncText.defaultText ++ "bruno has this one");
0.1.wait;
n.sendMsg(\syncText, q.dojo.textID, \vn, SyncText.defaultText ++ "victors text is different");
}
)
// multiple syncText locally
(
fork {
var o1, o2, st1, st2;
var texID = \testSync ++ rrand(0,999);
o1 = OSCRouterClient(\syncTextSyncTest1, \test);
o2 = OSCRouterClient(\syncTextSyncTest1, \test);
o1.join;
o2.join;
0.5.wait;
st1 = SyncText(\testSync, relayAddr: o1);
0.2.wait;
st2 = SyncText(\testSync, relayAddr: o2);
0.4.wait; // wait for sync
(st1.currText == st2.currText).if {"Sync ok!".postln} {"Failed to sync!".postln};
st1.setCurr("New text " ++ rrand(0,99999));
0.5.wait; // wait for sync;
(st1.currText == st2.currText).if {"Sync ok!".postln} {"Failed to sync!".postln};
st2.setCurr("Another New text " ++ rrand(0,99999));
0.5.wait; // wait for sync;
(st1.currText == st2.currText).if {"Sync ok!".postln} {"Failed to sync!".postln};
o1.close;
o2.close;
};
)