MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / OSCIn

Class OSCIn

src/main/java/trace/sound/OSCIn.kt:11–58  ·  view source on GitHub ↗

# {'btl': ['23CCEAF4-4B70-1FA0-9D36-2DD4B6B92E68', 'HTC BS', '(null)', '{\n kCBAdvDataIsConnectable = 1;\n kCBAdvDataLocalName = "HTC BS 1B5BE7";\n kCBAdvDataServiceUUIDs = (\n CB00\n );\n kCBAdvDataTimestamp = "608101878.588375";\n kCBAdvDataTxPowerLevel = 4;\n}'], 'seq': 6824} */

Source from the content-addressed store, hash-verified

9import java.net.InetAddress
10
11/*
12# {'btl': ['23CCEAF4-4B70-1FA0-9D36-2DD4B6B92E68', 'HTC BS', '(null)', '{\n kCBAdvDataIsConnectable = 1;\n kCBAdvDataLocalName = "HTC BS 1B5BE7";\n kCBAdvDataServiceUUIDs = (\n CB00\n );\n kCBAdvDataTimestamp = "608101878.588375";\n kCBAdvDataTxPowerLevel = 4;\n}'], 'seq': 6824}
13 */
14class OSCIn(val p: Int) {
15
16 companion object {
17 val portage = mutableMapOf<Int, OSCPortIn>()
18
19 fun make(p: Int): OSCPortIn = portage.computeIfAbsent(p) {
20 val o = OSCPortIn(it)
21 o.startListening()
22 o
23 }
24 }
25
26 val oin = make(p)
27
28 val values = mutableMapOf<String, Any>()
29 val times = mutableMapOf<String, Long>()
30
31 init {
32 oin.dispatcher.addListener(object : MessageSelector {
33 override fun isInfoRequired() = false
34 override fun matches(p0: OSCMessageEvent?) = true
35 }) { mess ->
36 val a = mess.message.address
37 val b = mess.message.arguments
38 val t = System.currentTimeMillis()
39
40 RunLoop.main.once {
41 values[a] = b
42 times[a] = t
43 }
44 }
45// oin.startListening()
46 }
47
48 fun clear(name: String) {
49 values.remove(name)
50 times.remove(name)
51 }
52
53 fun <T> get(name: String, d: Any): T {
54 return values.getOrDefault(name, d) as T
55 }
56
57 fun getTime(name: String, d: Any): Long? {
58 return times.getOrDefault(name, -1L)
59 }
60
61}

Callers 1

KinectBodyClass · 0.85

Calls 2

makeFunction · 0.85
onceMethod · 0.80

Tested by

no test coverage detected