Compare commits
2 Commits
690e81cea3
...
87e6a0e770
| Author | SHA1 | Date |
|---|---|---|
|
|
87e6a0e770 | |
|
|
dcd1633bd9 |
21
dfs.tidal
21
dfs.tidal
|
|
@ -91,28 +91,25 @@ t1 = buildG (1,15) [(1,4),(1,12),(4,2),(4,6),(2,8),(2,3),(6,5),(6,7),(12,10),(12
|
||||||
--
|
--
|
||||||
nubbeKG = buildG (0,89) [(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,52),(0,53),(0,54),(1,68),(1,69),(1,70),(2,71),(2,72),(2,73),(2,74),(3,75),(3,76),(3,77),(3,78),(3,79),(3,80),(3,81),(3,82),(3,83),(3,84),(3,85),(3,86),(3,87),(3,88),(3,89),(4,7),(4,8),(4,9),(4,10),(4,11),(4,12),(4,13),(4,14),(4,15),(5,60),(5,61),(5,62),(5,63),(5,64),(5,65),(5,66),(5,67),(6,55),(6,56),(6,57),(6,58),(6,59),(7,16),(7,17),(7,18),(7,19),(8,48),(8,49),(8,50),(8,51),(9,44),(9,45),(9,46),(9,47),(10,40),(10,41),(10,42),(10,43),(11,36),(11,37),(11,38),(11,39),(12,32),(12,33),(12,34),(12,35),(13,28),(13,29),(13,30),(13,31),(14,24),(14,25),(14,26),(14,27),(15,20),(15,21),(15,22),(15,23)]
|
nubbeKG = buildG (0,89) [(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,52),(0,53),(0,54),(1,68),(1,69),(1,70),(2,71),(2,72),(2,73),(2,74),(3,75),(3,76),(3,77),(3,78),(3,79),(3,80),(3,81),(3,82),(3,83),(3,84),(3,85),(3,86),(3,87),(3,88),(3,89),(4,7),(4,8),(4,9),(4,10),(4,11),(4,12),(4,13),(4,14),(4,15),(5,60),(5,61),(5,62),(5,63),(5,64),(5,65),(5,66),(5,67),(6,55),(6,56),(6,57),(6,58),(6,59),(7,16),(7,17),(7,18),(7,19),(8,48),(8,49),(8,50),(8,51),(9,44),(9,45),(9,46),(9,47),(10,40),(10,41),(10,42),(10,43),(11,36),(11,37),(11,38),(11,39),(12,32),(12,33),(12,34),(12,35),(13,28),(13,29),(13,30),(13,31),(14,24),(14,25),(14,26),(14,27),(15,20),(15,21),(15,22),(15,23)]
|
||||||
|
|
||||||
let edgePattern g e = (n $ pure $ toEnum $ (snd e) `mod` 31) # (s $ pure $ instrument g e) # pI "w" (pure $ snd e) # pS "edge_type" (pure $ show $ edgeType g e)
|
let edgePattern g e = (n $ pure $ toEnum $ (snd e) `mod` 31) # (s $ pure $ instrument g e) # pI "v" (pure $ fst e) # pI "w" (pure $ snd e) # pS "edge_type" (pure $ show $ edgeType g e)
|
||||||
# gain 1
|
|
||||||
vertexPattern g v = (scale "ritusen" $ pure $ toEnum $ (v `mod` 31) - 10) # s "supersquare" # pI "vertex" (pure v)
|
vertexPattern g v = (scale "ritusen" $ pure $ toEnum $ (v `mod` 31) - 10) # s "supersquare" # pI "vertex" (pure v)
|
||||||
# rate 0.1
|
# rate 0.1
|
||||||
# resonance 0.2
|
# resonance 0.2
|
||||||
# end 0.2
|
# end 0.2
|
||||||
# gain 0.8
|
# gain 0.8
|
||||||
patternize g = map (\(x,y) -> fastcat [vertexPattern g x, cat $ map (edgePattern g) y]) $ nodeEdgePairs g
|
patternize g = map (map (\(x,y) -> fastcat [x,y])) $ map (\(x,y) -> zip (repeat $ vertexPattern g x) (map (edgePattern g) y)) $ nodeEdgePairs g
|
||||||
gs = [ k 30
|
gs = [ k 30, buildG (32,33) [(32,33)] ]
|
||||||
, p 2
|
|
||||||
]
|
|
||||||
in d1 $ id
|
in d1 $ id
|
||||||
$ qtrigger -- restart at the beginning of the preorder
|
-- $ qtrigger -- restart at the beginning of the preorder
|
||||||
$ fast 4.0 -- depends on maximum degree
|
$ fast 4.0 -- depends on maximum degree
|
||||||
$ ghost
|
$ ghost
|
||||||
$ (stack $ map cat $ map patternize gs)
|
$ (stack $ map cat $ map concat $ map patternize gs)
|
||||||
# size "[0.8|0]"
|
# size "[0.8|0.5]"
|
||||||
# room "[0.7|0]"
|
# room "[0.7|0.4]"
|
||||||
# lpf "[1000|1500|2000]"
|
# lpf "[1000|1500|2000]"
|
||||||
# pan (randcat [-0.5,-0.3,-0.1,0,0.1,0.3,0.5])
|
# pan (randcat [-0.5,-0.3,-0.1,0,0.1,0.3,0.5])
|
||||||
-- # delay "[0|0.2|0.3|0.4|0.5|0.6|0.7|0.8|0.9|1]"
|
# delay "[0.3|0.4|0.5|0.6|0.7|0.8|0.9|1]"
|
||||||
-- # delayfb 0.3
|
# delayfb 0.3
|
||||||
|
|
||||||
hush
|
hush
|
||||||
|
|
||||||
|
|
|
||||||
41
osc/main.py
41
osc/main.py
|
|
@ -1,43 +1,46 @@
|
||||||
from graphviz import Digraph
|
from graphviz import Digraph
|
||||||
from pythonosc.dispatcher import Dispatcher
|
from pythonosc.dispatcher import Dispatcher
|
||||||
from pythonosc.osc_server import BlockingOSCUDPServer
|
from pythonosc.osc_server import BlockingOSCUDPServer
|
||||||
|
import threading
|
||||||
|
import time
|
||||||
|
|
||||||
edge_attrs = {
|
edge_attrs = {
|
||||||
'arrowhead': 'vee',
|
'arrowhead': 'vee',
|
||||||
}
|
}
|
||||||
|
|
||||||
g = Digraph('G', filename='graph.gv', format='pdf', engine='circo', strict=True, edge_attr = edge_attrs)
|
g = Digraph('G', filename='graph.gv', format='png', engine='circo', strict=True, edge_attr = edge_attrs)
|
||||||
|
|
||||||
# last vertex received
|
g_lock = threading.Lock()
|
||||||
v = -1
|
|
||||||
# last edge target received
|
|
||||||
w = -1
|
|
||||||
# last edge type received
|
|
||||||
t = ""
|
|
||||||
|
|
||||||
def print_vertex(address, *args):
|
def print_vertex(address, *args):
|
||||||
global v
|
|
||||||
global g
|
global g
|
||||||
v = args[args.index('vertex') + 1]
|
v = args[args.index('vertex') + 1]
|
||||||
if v == -1:
|
if v == -1:
|
||||||
g = Digraph('G', filename='graph.gv', format='pdf', engine='circo', strict=True, edge_attr = edge_attrs)
|
with g_lock:
|
||||||
|
g = Digraph('G', filename='graph.gv', format='pdf', engine='circo', strict=True, edge_attr = edge_attrs)
|
||||||
return
|
return
|
||||||
g.node(str(v))
|
with g_lock:
|
||||||
g.render("Test")
|
g.node(str(v))
|
||||||
print(args)
|
print(args)
|
||||||
|
|
||||||
def print_edge(address, *args):
|
def print_edge(address, *args):
|
||||||
global v
|
v = args[args.index('v') + 1]
|
||||||
global w
|
|
||||||
global t
|
|
||||||
w = args[args.index('w') + 1]
|
w = args[args.index('w') + 1]
|
||||||
t = args[args.index('edge_type') + 1]
|
t = args[args.index('edge_type') + 1]
|
||||||
print(args)
|
if v == -1:
|
||||||
# print((v,w,t))
|
|
||||||
if v == -1 or w == -1:
|
|
||||||
return
|
return
|
||||||
g.edge(str(v), str(w))
|
with g_lock:
|
||||||
g.render("Test")
|
g.edge(str(v), str(w))
|
||||||
|
print(args)
|
||||||
|
|
||||||
|
def update_loop():
|
||||||
|
while True:
|
||||||
|
g.render("Test")
|
||||||
|
time.sleep(0.4)
|
||||||
|
|
||||||
|
ul_thread = threading.Thread(target=update_loop)
|
||||||
|
|
||||||
|
ul_thread.start()
|
||||||
|
|
||||||
dispatcher = Dispatcher()
|
dispatcher = Dispatcher()
|
||||||
dispatcher.map("/edge", print_edge)
|
dispatcher.map("/edge", print_edge)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue