def main(*args): Graphline( PALETTE = Palette("Palette","Brush"), CONSOLE = ConsoleReader(">>> "), LINESTOKENS = lines_to_tokenlists(), PAINT = Painter(), linkages = { ("CONSOLE", "outbox"): ("LINESTOKENS","inbox"), ("LINESTOKENS", "outbox"): ("PAINT","inbox"), ("PALETTE", "outbox"): ("LINESTOKENS","inbox"), ("PAINT", "colour") : ("PALETTE", "colourchange"), } ).run()
def TopologyViewerServer(serverPort = 1500, **dictArgs): """\ TopologyViewerServer([noServer][,serverPort],**args) -> new TopologyViewerServer component. Multiple-clients-at-a-time TCP socket Topology viewer server. Connect on the specified port and send topology change data for display by a TopologyViewer. Keyword arguments: - serverPort -- None, or port number to listen on (default=1500) - args -- all remaining keyword arguments passed onto TopologyViewer """ FastRestartServer(protocol=Users, port=serverPort).activate() # SimpleServer(protocol=Users, port=serverPort).activate() return Pipeline( SubscribeTo("NODEEVENTS"), chunks_to_lines(), lines_to_tokenlists(), TopologyViewer(**dictArgs), ConsoleEchoer() )
for item in X: if re.match('(.+)\((.+),(.+)\)',item): # relation command = parseRelation(item) links.append(command) else: # entity command = parseEntity(item) nodes.append(command) for node in nodes: self.send(node, "outbox") for link in links: self.send(link, "outbox") yield 1 yield 1 self.send(self.shutdown_mess,"signal") if __name__ == "__main__": from Kamaelia.Util.DataSource import DataSource from Kamaelia.Visualisation.PhysicsGraph.lines_to_tokenlists import lines_to_tokenlists #from Kamaelia.Util.Console import ConsoleEchoer from Kamaelia.Visualisation.PhysicsGraph.TopologyViewer import TopologyViewer from Kamaelia.Chassis.Pipeline import Pipeline Pipeline( DataSource([' person mum ', ' ', """ """, ' person son ', ' childof ( mum , son ) ']), RelationParser(), lines_to_tokenlists(), #ConsoleEchoer(), TopologyViewer(), ).run()
'ADD NODE 6Node 6Node randompos -', 'ADD NODE 7Node 7Node randompos sphere', 'ADD LINK 1Node 2Node', 'ADD LINK 1Node 3Node', 'ADD LINK 1Node 4Node', 'ADD LINK 1Node 5Node', 'ADD LINK 1Node 6Node', 'ADD LINK 1Node 7Node', 'ADD NODE 1Node:1Node 1Node:1Node randompos -', 'ADD NODE 1Node:2Node 1Node:2Node randompos -', 'ADD NODE 1Node:3Node 1Node:3Node randompos -', 'ADD NODE 1Node:4Node 1Node:4Node randompos -', 'ADD LINK 1Node:1Node 1Node:2Node', 'ADD LINK 1Node:2Node 1Node:3Node', 'ADD LINK 1Node:3Node 1Node:4Node', 'ADD LINK 1Node:4Node 1Node:1Node', 'ADD NODE 1Node:1Node:1Node 1Node:1Node:1Node randompos -', 'ADD NODE 1Node:1Node:2Node 1Node:1Node:2Node randompos -', 'ADD LINK 1Node:1Node:1Node 1Node:1Node:2Node', 'ADD NODE 5Node:1Node 5Node:1Node randompos sphere', 'ADD NODE 5Node:2Node 5Node:2Node randompos sphere', 'ADD LINK 5Node:1Node 5Node:2Node' ]), TOKENS=lines_to_tokenlists(), VIEWER=TopologyViewer3D(), CONSOLEECHOER=ConsoleEchoer(), linkages={ ("CONSOLEREADER", "outbox"): ("TOKENS", "inbox"), ("DATASOURCE", "outbox"): ("TOKENS", "inbox"), ("TOKENS", "outbox"): ("VIEWER", "inbox"), ("VIEWER", "outbox"): ("CONSOLEECHOER", "inbox"), }).run() # Licensed to the BBC under a Contributor Agreement: CL
'ADD NODE 3Node 3Node randompos sphere image=../Files/mum.gif', 'ADD NODE 4Node 4Node randompos - image=http://kamaelia.sourceforge.net/Kamaelia.gif', 'ADD NODE 5Node 5Node randompos sphere image=../Files/dad.gif', 'ADD NODE 6Node 6Node randompos - image=../Files/son.gif', 'ADD NODE 7Node 7Node randompos sphere image=../Files/son1.gif', 'ADD LINK 1Node 2Node', 'ADD LINK 1Node 3Node', 'ADD LINK 1Node 4Node', 'ADD LINK 1Node 5Node','ADD LINK 1Node 6Node', 'ADD LINK 1Node 7Node', 'ADD NODE 1Node:1Node 1Node:1Node randompos - image=../Files/son.gif', 'ADD NODE 1Node:2Node 1Node:2Node randompos - image=../Files/dad.gif', 'ADD NODE 1Node:3Node 1Node:3Node randompos - image=../Files/mum.gif', 'ADD NODE 1Node:4Node 1Node:4Node randompos - image=../Files/son1.gif', 'ADD LINK 1Node:1Node 1Node:2Node', 'ADD LINK 1Node:2Node 1Node:3Node', 'ADD LINK 1Node:3Node 1Node:4Node', 'ADD LINK 1Node:4Node 1Node:1Node', 'ADD NODE 1Node:1Node:1Node 1Node:1Node:1Node randompos -', 'ADD NODE 1Node:1Node:2Node 1Node:1Node:2Node randompos -', 'ADD LINK 1Node:1Node:1Node 1Node:1Node:2Node', 'ADD NODE 5Node:1Node 5Node:1Node randompos sphere', 'ADD NODE 5Node:2Node 5Node:2Node randompos sphere', 'ADD LINK 5Node:1Node 5Node:2Node' ]), TOKENS = lines_to_tokenlists(), VIEWER = TopologyViewer3DWithParams(), CONSOLEECHOER = ConsoleEchoer(), linkages = { ("CONSOLEREADER","outbox") : ("TOKENS","inbox"), ("DATASOURCE","outbox") : ("TOKENS","inbox"), ("TOKENS","outbox") : ("VIEWER","inbox"), ("VIEWER","outbox") : ("CONSOLEECHOER","inbox"), } ).run()
} from Kamaelia.UI.PygameDisplay import PygameDisplay pgd = PygameDisplay(width=800,height=600).activate() PygameDisplay.setDisplayService(pgd) TVC = TopologyViewerComponent(position=(0,48), laws = AxonLaws(), particleTypes=particleTypes) SANDBOX = Sandbox() Graphline( CONSOLEINPUT = pipeline( ConsoleReader(">>> "), chunks_to_lines(), lines_to_tokenlists(), ), DEBUG = ConsoleEchoer(forwarder=True), TVC = TVC, INTROSPECTOR = pipeline(Introspector(SANDBOX), chunks_to_lines(), lines_to_tokenlists()), SANDBOX = SANDBOX, NEW = Button(caption="New Component", msg="NEXT", position=(8,8)), CHANGE = Button(caption="Change Component", msg="NEXT", position=(128,8)), DEL = Button(caption="Delete Component", msg="NEXT", position=(256,8)), LINK = Button(caption="Make Link", msg="NEXT", position=(402,8)), UNLINK = Button(caption="Break Link", msg="NEXT", position=(480,8)), GO = Button(caption="Activate!", msg="NEXT", position=(590,8)), EDITOR_LOGIC = EditorLogic(), CED = ComponentEditor(classes), linkages = { ("CONSOLEINPUT", "outbox") : ("SANDBOX", "inbox"),
ADD NODE VorbisDecode VorbisDecode auto - 2. add one link ADD LINK TCPClient VorbisDecode 3. Delete one node/ link/ all DEL NODE TCPClient ADD LINK TCPClient VorbisDecode DEL ALL """ import sys from Kamaelia.Util.Console import ConsoleReader, ConsoleEchoer from Kamaelia.File.ReadFileAdaptor import ReadFileAdaptor from Kamaelia.Visualisation.PhysicsGraph.lines_to_tokenlists import lines_to_tokenlists from Kamaelia.Visualisation.PhysicsGraph.TopologyViewer import TopologyViewer from Kamaelia.Chassis.Pipeline import Pipeline if len(sys.argv) == 1: print "Please type the command you want to draw" # ConsoleReader->lines_to_tokenlists->TopologyViewer Pipeline(ConsoleReader(">>> "), lines_to_tokenlists(), TopologyViewer()).run() else: # ReadFileAdaptor->lines_to_tokenlists->TopologyViewer Pipeline( ReadFileAdaptor(filename=sys.argv[1], readmode="line"), lines_to_tokenlists(), # ConsoleEchoer() TopologyViewer(), ConsoleEchoer(), ).run()
def text_to_token_lists(): return Pipeline(chunks_to_lines(), lines_to_tokenlists())
pipeline( ReadFileAdaptor("audio.2.raw", chunkrate=1000, readmode="bitrate", bitrate=datarate), TCPClient("127.0.0.1", musicport), ).activate() if networkserve: audiencemix = SingleServer(port=mockserverport) else: audiencemix = printer() # SimpleFileWriter("bingle.raw") if livecontrol: Graphline(CONTROL=SingleServer(port=controlport), TOKENISER=lines_to_tokenlists(), MIXER=MatrixMixer(), AUDIENCEMIX=audiencemix, linkages={ ("CONTROL", "outbox"): ("TOKENISER", "inbox"), ("TOKENISER", "outbox"): ("MIXER", "mixcontrol"), ("MIXER", "mixcontrolresponse"): ("CONTROL", "inbox"), ("MIXER", "outbox"): ("AUDIENCEMIX", "inbox"), }).run() else: Graphline(CONTROL=ConsoleReader("mixer desk >> "), CONTROL_=consoleEchoer(), TOKENISER=lines_to_tokenlists(), MIXER=MatrixMixer(), AUDIENCEMIX=audiencemix, linkages={
def TextControlledTopologyViewer(**dictArgs): return Pipeline( chunks_to_lines(), lines_to_tokenlists(), TopologyViewer(**dictArgs), ConsoleEchoer() )
def text_to_token_lists(): return Pipeline( chunks_to_lines(), lines_to_tokenlists() )
TCPClient("127.0.0.1", dj2port), ).activate() pipeline( ReadFileAdaptor("audio.2.raw", chunkrate=1000, readmode="bitrate", bitrate=datarate), TCPClient("127.0.0.1", musicport), ).activate() if networkserve: audiencemix = SingleServer(port=mockserverport) else: audiencemix = printer() # SimpleFileWriter("bingle.raw") if livecontrol: Graphline( CONTROL = SingleServer(port=controlport), TOKENISER = lines_to_tokenlists(), MIXER = MatrixMixer(), AUDIENCEMIX = audiencemix, linkages = { ("CONTROL" , "outbox") : ("TOKENISER" , "inbox"), ("TOKENISER" , "outbox") : ("MIXER" , "mixcontrol"), ("MIXER" , "mixcontrolresponse") : ("CONTROL" , "inbox"), ("MIXER", "outbox") : ("AUDIENCEMIX", "inbox"), } ).run() else: Graphline( CONTROL = ConsoleReader("mixer desk >> "), CONTROL_ = consoleEchoer(), TOKENISER = lines_to_tokenlists(), MIXER = MatrixMixer(),