Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
393 lines (386 sloc) 20.7 KB
# drum maps from https://github.com/pichenettes/eurorack/blob/master/grids/resources.cc
node0 = [
255, 0, 0, 0, 0, 0, 145, 0,
0, 0, 0, 0, 218, 0, 0, 0,
72, 0, 36, 0, 182, 0, 0, 0,
109, 0, 0, 0, 72, 0, 0, 0,
36, 0, 109, 0, 0, 0, 8, 0,
255, 0, 0, 0, 0, 0, 72, 0,
0, 0, 182, 0, 0, 0, 36, 0,
218, 0, 0, 0, 145, 0, 0, 0,
170, 0, 113, 0, 255, 0, 56, 0,
170, 0, 141, 0, 198, 0, 56, 0,
170, 0, 113, 0, 226, 0, 28, 0,
170, 0, 113, 0, 198, 0, 85, 0,
]
node1 = [
229, 0, 25, 0, 102, 0, 25, 0,
204, 0, 25, 0, 76, 0, 8, 0,
255, 0, 8, 0, 51, 0, 25, 0,
178, 0, 25, 0, 153, 0, 127, 0,
28, 0, 198, 0, 56, 0, 56, 0,
226, 0, 28, 0, 141, 0, 28, 0,
28, 0, 170, 0, 28, 0, 28, 0,
255, 0, 113, 0, 85, 0, 85, 0,
159, 0, 159, 0, 255, 0, 63, 0,
159, 0, 159, 0, 191, 0, 31, 0,
159, 0, 127, 0, 255, 0, 31, 0,
159, 0, 127, 0, 223, 0, 95, 0,
]
node2 = [
255, 0, 0, 0, 127, 0, 0, 0,
0, 0, 102, 0, 0, 0, 229, 0,
0, 0, 178, 0, 204, 0, 0, 0,
76, 0, 51, 0, 153, 0, 25, 0,
0, 0, 127, 0, 0, 0, 0, 0,
255, 0, 191, 0, 31, 0, 63, 0,
0, 0, 95, 0, 0, 0, 0, 0,
223, 0, 0, 0, 31, 0, 159, 0,
255, 0, 85, 0, 148, 0, 85, 0,
127, 0, 85, 0, 106, 0, 63, 0,
212, 0, 170, 0, 191, 0, 170, 0,
85, 0, 42, 0, 233, 0, 21, 0,
]
node3 = [
255, 0, 212, 0, 63, 0, 0, 0,
106, 0, 148, 0, 85, 0, 127, 0,
191, 0, 21, 0, 233, 0, 0, 0,
21, 0, 170, 0, 0, 0, 42, 0,
0, 0, 0, 0, 141, 0, 113, 0,
255, 0, 198, 0, 0, 0, 56, 0,
0, 0, 85, 0, 56, 0, 28, 0,
226, 0, 28, 0, 170, 0, 56, 0,
255, 0, 231, 0, 255, 0, 208, 0,
139, 0, 92, 0, 115, 0, 92, 0,
185, 0, 69, 0, 46, 0, 46, 0,
162, 0, 23, 0, 208, 0, 46, 0,
]
node4 = [
255, 0, 31, 0, 63, 0, 63, 0,
127, 0, 95, 0, 191, 0, 63, 0,
223, 0, 31, 0, 159, 0, 63, 0,
31, 0, 63, 0, 95, 0, 31, 0,
8, 0, 0, 0, 95, 0, 63, 0,
255, 0, 0, 0, 127, 0, 0, 0,
8, 0, 0, 0, 159, 0, 63, 0,
255, 0, 223, 0, 191, 0, 31, 0,
76, 0, 25, 0, 255, 0, 127, 0,
153, 0, 51, 0, 204, 0, 102, 0,
76, 0, 51, 0, 229, 0, 127, 0,
153, 0, 51, 0, 178, 0, 102, 0,
]
node5 = [
255, 0, 51, 0, 25, 0, 76, 0,
0, 0, 0, 0, 102, 0, 0, 0,
204, 0, 229, 0, 0, 0, 178, 0,
0, 0, 153, 0, 127, 0, 8, 0,
178, 0, 127, 0, 153, 0, 204, 0,
255, 0, 0, 0, 25, 0, 76, 0,
102, 0, 51, 0, 0, 0, 0, 0,
229, 0, 25, 0, 25, 0, 204, 0,
178, 0, 102, 0, 255, 0, 76, 0,
127, 0, 76, 0, 229, 0, 76, 0,
153, 0, 102, 0, 255, 0, 25, 0,
127, 0, 51, 0, 204, 0, 51, 0,
]
node6 = [
255, 0, 0, 0, 223, 0, 0, 0,
31, 0, 8, 0, 127, 0, 0, 0,
95, 0, 0, 0, 159, 0, 0, 0,
95, 0, 63, 0, 191, 0, 0, 0,
51, 0, 204, 0, 0, 0, 102, 0,
255, 0, 127, 0, 8, 0, 178, 0,
25, 0, 229, 0, 0, 0, 76, 0,
204, 0, 153, 0, 51, 0, 25, 0,
255, 0, 226, 0, 255, 0, 255, 0,
198, 0, 28, 0, 141, 0, 56, 0,
170, 0, 56, 0, 85, 0, 28, 0,
170, 0, 28, 0, 113, 0, 56, 0,
]
node7 = [
223, 0, 0, 0, 63, 0, 0, 0,
95, 0, 0, 0, 223, 0, 31, 0,
255, 0, 0, 0, 159, 0, 0, 0,
127, 0, 31, 0, 191, 0, 31, 0,
0, 0, 0, 0, 109, 0, 0, 0,
218, 0, 0, 0, 182, 0, 72, 0,
8, 0, 36, 0, 145, 0, 36, 0,
255, 0, 8, 0, 182, 0, 72, 0,
255, 0, 72, 0, 218, 0, 36, 0,
218, 0, 0, 0, 145, 0, 0, 0,
255, 0, 36, 0, 182, 0, 36, 0,
182, 0, 0, 0, 109, 0, 0, 0,
]
node8 = [
255, 0, 0, 0, 218, 0, 0, 0,
36, 0, 0, 0, 218, 0, 0, 0,
182, 0, 109, 0, 255, 0, 0, 0,
0, 0, 0, 0, 145, 0, 72, 0,
159, 0, 0, 0, 31, 0, 127, 0,
255, 0, 31, 0, 0, 0, 95, 0,
8, 0, 0, 0, 191, 0, 31, 0,
255, 0, 31, 0, 223, 0, 63, 0,
255, 0, 31, 0, 63, 0, 31, 0,
95, 0, 31, 0, 63, 0, 127, 0,
159, 0, 31, 0, 63, 0, 31, 0,
223, 0, 223, 0, 191, 0, 191, 0,
]
node9 = [
226, 0, 28, 0, 28, 0, 141, 0,
8, 0, 8, 0, 255, 0, 8, 0,
113, 0, 28, 0, 198, 0, 85, 0,
56, 0, 198, 0, 170, 0, 28, 0,
8, 0, 95, 0, 8, 0, 8, 0,
255, 0, 63, 0, 31, 0, 223, 0,
8, 0, 31, 0, 191, 0, 8, 0,
255, 0, 127, 0, 127, 0, 159, 0,
115, 0, 46, 0, 255, 0, 185, 0,
139, 0, 23, 0, 208, 0, 115, 0,
231, 0, 69, 0, 255, 0, 162, 0,
139, 0, 115, 0, 231, 0, 92, 0,
]
node10 = [
145, 0, 0, 0, 0, 0, 109, 0,
0, 0, 0, 0, 255, 0, 109, 0,
72, 0, 218, 0, 0, 0, 0, 0,
36, 0, 0, 0, 182, 0, 0, 0,
0, 0, 127, 0, 159, 0, 127, 0,
159, 0, 191, 0, 223, 0, 63, 0,
255, 0, 95, 0, 31, 0, 95, 0,
31, 0, 8, 0, 63, 0, 8, 0,
255, 0, 0, 0, 145, 0, 0, 0,
182, 0, 109, 0, 109, 0, 109, 0,
218, 0, 0, 0, 72, 0, 0, 0,
182, 0, 72, 0, 182, 0, 36, 0,
]
node11 = [
255, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 0, 0, 0, 218, 0, 72, 36,
0, 0, 182, 0, 0, 0, 145, 109,
0, 0, 127, 0, 0, 0, 42, 0,
212, 0, 0, 212, 0, 0, 212, 0,
0, 0, 0, 0, 42, 0, 0, 0,
255, 0, 0, 0, 170, 170, 127, 85,
145, 0, 109, 109, 218, 109, 72, 0,
145, 0, 72, 0, 218, 0, 109, 0,
182, 0, 109, 0, 255, 0, 72, 0,
182, 109, 36, 109, 255, 109, 109, 0,
]
node12 = [
255, 0, 0, 0, 255, 0, 191, 0,
0, 0, 0, 0, 95, 0, 63, 0,
31, 0, 0, 0, 223, 0, 223, 0,
0, 0, 8, 0, 159, 0, 127, 0,
0, 0, 85, 0, 56, 0, 28, 0,
255, 0, 28, 0, 0, 0, 226, 0,
0, 0, 170, 0, 56, 0, 113, 0,
198, 0, 0, 0, 113, 0, 141, 0,
255, 0, 42, 0, 233, 0, 63, 0,
212, 0, 85, 0, 191, 0, 106, 0,
191, 0, 21, 0, 170, 0, 8, 0,
170, 0, 127, 0, 148, 0, 148, 0,
]
node13 = [
255, 0, 0, 0, 0, 0, 63, 0,
191, 0, 95, 0, 31, 0, 223, 0,
255, 0, 63, 0, 95, 0, 63, 0,
159, 0, 0, 0, 0, 0, 127, 0,
72, 0, 0, 0, 0, 0, 0, 0,
255, 0, 0, 0, 0, 0, 0, 0,
72, 0, 72, 0, 36, 0, 8, 0,
218, 0, 182, 0, 145, 0, 109, 0,
255, 0, 162, 0, 231, 0, 162, 0,
231, 0, 115, 0, 208, 0, 139, 0,
185, 0, 92, 0, 185, 0, 46, 0,
162, 0, 69, 0, 162, 0, 23, 0,
]
node14 = [
255, 0, 0, 0, 51, 0, 0, 0,
0, 0, 0, 0, 102, 0, 0, 0,
204, 0, 0, 0, 153, 0, 0, 0,
0, 0, 0, 0, 51, 0, 0, 0,
0, 0, 0, 0, 8, 0, 36, 0,
255, 0, 0, 0, 182, 0, 8, 0,
0, 0, 0, 0, 72, 0, 109, 0,
145, 0, 0, 0, 255, 0, 218, 0,
212, 0, 8, 0, 170, 0, 0, 0,
127, 0, 0, 0, 85, 0, 8, 0,
255, 0, 8, 0, 170, 0, 0, 0,
127, 0, 0, 0, 42, 0, 8, 0,
]
node15 = [
255, 0, 0, 0, 0, 0, 0, 0,
36, 0, 0, 0, 182, 0, 0, 0,
218, 0, 0, 0, 0, 0, 0, 0,
72, 0, 0, 0, 145, 0, 109, 0,
36, 0, 36, 0, 0, 0, 0, 0,
255, 0, 0, 0, 182, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 109,
218, 0, 0, 0, 145, 0, 72, 72,
255, 0, 28, 0, 226, 0, 56, 0,
198, 0, 0, 0, 0, 0, 28, 28,
170, 0, 0, 0, 141, 0, 0, 0,
113, 0, 0, 0, 85, 85, 85, 85,
]
node16 = [
255, 0, 0, 0, 0, 0, 95, 0,
0, 0, 127, 0, 0, 0, 0, 0,
223, 0, 95, 0, 63, 0, 31, 0,
191, 0, 0, 0, 159, 0, 0, 0,
0, 0, 31, 0, 255, 0, 0, 0,
0, 0, 95, 0, 223, 0, 0, 0,
0, 0, 63, 0, 191, 0, 0, 0,
0, 0, 0, 0, 159, 0, 127, 0,
141, 0, 28, 0, 28, 0, 28, 0,
113, 0, 8, 0, 8, 0, 8, 0,
255, 0, 0, 0, 226, 0, 0, 0,
198, 0, 56, 0, 170, 0, 85, 0,
]
node17 = [
255, 0, 0, 0, 8, 0, 0, 0,
182, 0, 0, 0, 72, 0, 0, 0,
218, 0, 0, 0, 36, 0, 0, 0,
145, 0, 0, 0, 109, 0, 0, 0,
0, 0, 51, 25, 76, 25, 25, 0,
153, 0, 0, 0, 127, 102, 178, 0,
204, 0, 0, 0, 0, 0, 255, 0,
0, 0, 102, 0, 229, 0, 76, 0,
113, 0, 0, 0, 141, 0, 85, 0,
0, 0, 0, 0, 170, 0, 0, 0,
56, 28, 255, 0, 0, 0, 0, 0,
198, 0, 0, 0, 226, 0, 0, 0,
]
node18 = [
255, 0, 8, 0, 28, 0, 28, 0,
198, 0, 56, 0, 56, 0, 85, 0,
255, 0, 85, 0, 113, 0, 113, 0,
226, 0, 141, 0, 170, 0, 141, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 0, 0, 0, 127, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
63, 0, 0, 0, 191, 0, 0, 0,
255, 0, 0, 0, 255, 0, 127, 0,
0, 0, 85, 0, 0, 0, 212, 0,
0, 0, 212, 0, 42, 0, 170, 0,
0, 0, 127, 0, 0, 0, 0, 0,
]
node19 = [
255, 0, 0, 0, 0, 0, 218, 0,
182, 0, 0, 0, 0, 0, 145, 0,
145, 0, 36, 0, 0, 0, 109, 0,
109, 0, 0, 0, 72, 0, 36, 0,
0, 0, 0, 0, 109, 0, 8, 0,
72, 0, 0, 0, 255, 0, 182, 0,
0, 0, 0, 0, 145, 0, 8, 0,
36, 0, 8, 0, 218, 0, 182, 0,
255, 0, 0, 0, 0, 0, 226, 0,
85, 0, 0, 0, 141, 0, 0, 0,
0, 0, 0, 0, 170, 0, 56, 0,
198, 0, 0, 0, 113, 0, 28, 0,
]
node20 = [
255, 0, 0, 0, 113, 0, 0, 0,
198, 0, 56, 0, 85, 0, 28, 0,
255, 0, 0, 0, 226, 0, 0, 0,
170, 0, 0, 0, 141, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
255, 0, 145, 0, 109, 0, 218, 0,
36, 0, 182, 0, 72, 0, 72, 0,
255, 0, 0, 0, 0, 0, 109, 0,
36, 0, 36, 0, 145, 0, 0, 0,
72, 0, 72, 0, 182, 0, 0, 0,
72, 0, 72, 0, 218, 0, 0, 0,
109, 0, 109, 0, 255, 0, 0, 0,
]
node21 = [
255, 0, 0, 0, 218, 0, 0, 0,
145, 0, 0, 0, 36, 0, 0, 0,
218, 0, 0, 0, 36, 0, 0, 0,
182, 0, 72, 0, 0, 0, 109, 0,
0, 0, 0, 0, 8, 0, 0, 0,
255, 0, 85, 0, 212, 0, 42, 0,
0, 0, 0, 0, 8, 0, 0, 0,
85, 0, 170, 0, 127, 0, 42, 0,
109, 0, 109, 0, 255, 0, 0, 0,
72, 0, 72, 0, 218, 0, 0, 0,
145, 0, 182, 0, 255, 0, 0, 0,
36, 0, 36, 0, 218, 0, 8, 0,
]
node22 = [
255, 0, 0, 0, 42, 0, 0, 0,
212, 0, 0, 0, 8, 0, 212, 0,
170, 0, 0, 0, 85, 0, 0, 0,
212, 0, 8, 0, 127, 0, 8, 0,
255, 0, 85, 0, 0, 0, 0, 0,
226, 0, 85, 0, 0, 0, 198, 0,
0, 0, 141, 0, 56, 0, 0, 0,
170, 0, 28, 0, 0, 0, 113, 0,
113, 0, 56, 0, 255, 0, 0, 0,
85, 0, 56, 0, 226, 0, 0, 0,
0, 0, 170, 0, 0, 0, 141, 0,
28, 0, 28, 0, 198, 0, 28, 0,
]
node23 = [
255, 0, 0, 0, 229, 0, 0, 0,
204, 0, 204, 0, 0, 0, 76, 0,
178, 0, 153, 0, 51, 0, 178, 0,
178, 0, 127, 0, 102, 51, 51, 25,
0, 0, 0, 0, 0, 0, 0, 31,
0, 0, 0, 0, 255, 0, 0, 31,
0, 0, 8, 0, 0, 0, 191, 159,
127, 95, 95, 0, 223, 0, 63, 0,
255, 0, 255, 0, 204, 204, 204, 204,
0, 0, 51, 51, 51, 51, 0, 0,
204, 0, 204, 0, 153, 153, 153, 153,
153, 0, 0, 0, 102, 102, 102, 102,
]
node24 = [
170, 0, 0, 0, 0, 255, 0, 0,
198, 0, 0, 0, 0, 28, 0, 0,
141, 0, 0, 0, 0, 226, 0, 0,
56, 0, 0, 113, 0, 85, 0, 0,
255, 0, 0, 0, 0, 113, 0, 0,
85, 0, 0, 0, 0, 226, 0, 0,
141, 0, 0, 8, 0, 170, 56, 56,
198, 0, 0, 56, 0, 141, 28, 0,
255, 0, 0, 0, 0, 191, 0, 0,
159, 0, 0, 0, 0, 223, 0, 0,
95, 0, 0, 0, 0, 63, 0, 0,
127, 0, 0, 0, 0, 31, 0, 0,
]
nodes = [node10, node8, node0, node9, #, node11
node15, node7, node13, node12, #, node6
node18, node14, node4, node5, # node3
node23, node16, node21, node1] #, node2
# node24, node19, node17, node20, node22
nodes1=nodes[0..3]
nodes2=nodes[4..7]
nodes3=nodes[8..11]
nodes4=nodes[12..15]
def nodes2embedding(node1, node2, node3, node4)
ne1 = node2embedding(node1)
ne2 = node2embedding(node2)
ne3 = node2embedding(node3)
ne4 = node2embedding(node4)
return (0..15).map { |i| "#{ne1[i]} #{ne2[i]} #{ne3[i]} #{ne4[i]}" }.join("\n")
end
def node2embedding(node)
bd = node[0..31]
sd = node[32..63]
hh = node[64..95]
return (0..15).map { |i|
((bd[i * 2] >> 3) << 0) | ((sd[i * 2] >> 3) << 5) | ((hh[i * 2] >> 3) << 10)
}
end
puts <<EOF
#P
0 0 0 0
1 1 1 1
0 0 0 0
63 63 63 63
#{nodes2embedding(*nodes1)}
#{nodes2embedding(*nodes2)}
#{nodes2embedding(*nodes3)}
#{nodes2embedding(*nodes4)}
EOF