hdf-0.11: Haskell data flow library for audio processing

Sound.DF.Graph

Description

Graph analysis

Synopsis

Documentation

nodes :: Node -> [Node]Source

List of nodes, in left biased order.

label :: [(NodeID, Node)] -> Node -> NodeIDSource

Read label of node.

source :: [(NodeID, Node)] -> Node -> (NodeID, PortID)Source

Transform node to source, see through rec_r and proxy and mrg.

type Edge = ((NodeID, PortID), (NodeID, PortID))Source

Edge between ports.

edges :: [(NodeID, Node)] -> Node -> [Edge]Source

List incoming node edges,

analyse :: [Node] -> [((NodeID, Node), [Edge])]Source

Label nodes and list edges. Proxy and multiple-root nodes are erased.

mod_e :: Edge -> (NodeID, NodeID, (PortID, PortID))Source

Transform edge into form required by fgl.

graph :: Node -> Gr Node (PortID, PortID)Source

Generate graph.

tsort :: Node -> [Node]Source

Topological sort of nodes (via graph).