packages feed

hsc3-dot 0.14 → 0.15

raw patch · 17 files changed

+1188/−139 lines, 17 filesdep ~hsc3PVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hsc3

API changes (from Hackage documentation)

+ Sound.SC3.UGen.Dot.Internal: attr_list_pp :: [Attr] -> String
+ Sound.SC3.UGen.Dot.Internal: attr_pp :: Attr -> String
+ Sound.SC3.UGen.Dot.Internal: attr_pp_maybe :: Attr -> Maybe String
+ Sound.SC3.UGen.Dot.Internal: attr_set_pp :: String -> [Attr] -> String
+ Sound.SC3.UGen.Dot.Internal: bool_pp :: Bool -> String
+ Sound.SC3.UGen.Dot.Internal: bracket :: ([a], [a]) -> [a] -> [a]
+ Sound.SC3.UGen.Dot.Internal: bracket1 :: (a, a) -> [a] -> [a]
+ Sound.SC3.UGen.Dot.Internal: dot_node_k_color :: Node -> Attr
+ Sound.SC3.UGen.Dot.Internal: int_pp :: Int -> String
+ Sound.SC3.UGen.Dot.Internal: label_pp :: String -> String
+ Sound.SC3.UGen.Dot.Internal: size_pp :: (Double, Double) -> String
+ Sound.SC3.UGen.Dot.Internal: string_pp :: String -> String
+ Sound.SC3.UGen.Dot.Internal: type Attr = (String, String)
+ Sound.SC3.UGen.Dot.Type: indicate_precision :: Dot_Options -> Bool
- Sound.SC3.UGen.Dot.Internal: IP_Const :: (Maybe String, String, Int) -> Float -> IP
+ Sound.SC3.UGen.Dot.Internal: IP_Const :: (Maybe String, String, Int) -> Sample -> IP
- Sound.SC3.UGen.Dot.Internal: limit_precision :: Int -> Float -> String
+ Sound.SC3.UGen.Dot.Internal: limit_precision :: Bool -> Int -> Sample -> String
- Sound.SC3.UGen.Dot.Internal: limit_precision_e :: Int -> Float -> String
+ Sound.SC3.UGen.Dot.Internal: limit_precision_e :: Int -> Sample -> String
- Sound.SC3.UGen.Dot.Internal: limit_precision_o :: Dot_Options -> Float -> String
+ Sound.SC3.UGen.Dot.Internal: limit_precision_o :: Dot_Options -> Sample -> String
- Sound.SC3.UGen.Dot.Internal: limit_precision_p :: Int -> Float -> String
+ Sound.SC3.UGen.Dot.Internal: limit_precision_p :: Bool -> Int -> Sample -> String
- Sound.SC3.UGen.Dot.Type: Dot_Options :: Bool -> Bool -> Dot_Format -> Bool -> Int -> Bool -> Bool -> FilePath -> String -> String -> String -> String -> Int -> Maybe (Double, Double) -> Dot_Options
+ Sound.SC3.UGen.Dot.Type: Dot_Options :: Bool -> Bool -> Dot_Format -> Bool -> Int -> Bool -> Bool -> Bool -> FilePath -> String -> String -> String -> String -> Int -> Maybe (Double, Double) -> Dot_Options

Files

README view
@@ -9,10 +9,13 @@ be installed.  There is an-[entry](?t=hsc3-texts&l=lhs/hsc3-tutorial.lhs#ugen-graph-drawings)+[entry](?t=hsc3-texts&e=lhs/hsc3-tutorial.lhs#ugen-graph-drawings) at the [hsc3-texts](?t=hsc3-texts)-[tutorial](?t=hsc3-texts&l=lhs/hsc3-tutorial.lhs).+[tutorial](?t=hsc3-texts&e=lhs/hsc3-tutorial.lhs). +The default [SVG][svg] viewer is [rsvg-view-3][rsvg], which is in the+debian package `librsvg2-bin`.+ [hs]: http://haskell.org/ [sc3]: http://audiosynth.com/ [graphviz]: http://graphviz.org/@@ -20,8 +23,10 @@ [hsc3-dot]: http://rd.slavepianos.org/?t=hsc3-dot [hsc3-texts]: http://rd.slavepianos.org/?t=hsc3-texts [hsc3]: http://rd.slavepianos.org/?t=hsc3+[svg]: http://www.w3.org/Graphics/SVG/+[rsvg]: http://wiki.gnome.org/LibRsvg -© [rohan drape][rd], 2006-2013, [gpl]+© [rohan drape][rd], 2006-2014, [gpl]  [rd]: http://rd.slavepianos.org/ [gpl]: http://gnu.org/copyleft/
Sound/SC3/UGen/Dot.hs view
@@ -1,94 +1,125 @@--- | Module to provide graph drawing of unit generator graphs.  The---   output is in the form of a dot graph, which can be layed out---   using the @graphviz@ tools, see <http://graphviz.org>.------ > import Sound.SC3.ID--- > import Sound.SC3.UGen.Dot------ Simple a-rate only graph.------ > draw (out 0 (sinOsc AR 440 0 * 0.1))------ As above, but using the /record/ interface.------ > import Sound.SC3.UGen.Dot.Type------ > let o = dot_options {use_tables = False}--- > in draw_with_opt o (out 0 (sinOsc AR 440 0 * 0.1))------ With k-rate subgraph.------ > let f = lfSaw KR 1 0 * 220 + 440--- > in draw (out 0 (sinOsc AR f 0 * 0.1))------ With k-rate & i-rate subgraphs------ > let {l = rand 'a' 200 400--- >     ;m = rand 'b' l 600--- >     ;a = rand 'c' 500 900--- >     ;f = lfSaw KR 1 0 * m + a}--- > in draw (out 0 (sinOsc AR f 0 * 0.1))------ With control input------ > let f = control KR "freq" 440--- > in draw (out 0 (sinOsc AR f 0 * 0.1))------ As above but with inlined controls.------ > let {f = control KR "freq" 440--- >     ;o = dot_options {inline_controls = True}}--- > in draw_with_opt o (out 0 (sinOsc AR f 0 * 0.1))------ As above but without control name label.------ > let {o = dot_options {inline_controls = True--- >                      ,display_control_names = False}--- >     ;f = control KR "freq" 440}--- > in draw_with_opt o (out 0 (sinOsc AR f 0 * 0.1))------ With multiple channel expansion.------ > let f = mce2 440 220--- > in draw (out 0 (sinOsc AR f 0 * 0.1))------ With multiple root graph.------ > let {f = mce2 440 220 + in' 2 KR 0--- >     ;o1 = sinOsc AR f 0 * 0.1--- >     ;o2 = sinOsc KR (mce2 0.25 0.35) 0 * mce2 10 15 }--- > in draw (mrg [out 0 o1,out 0 o2])------ With multiple channel UGen.------ > draw (out 0 (pan2 (sinOsc AR 440 0 * 0.1) 0 1))------ With reserved labels (ie. <,>,&), and fixed size graph (size in inches).------ > let o = svg_options {graph_size = Just (1,4)}--- > in draw_with_opt o (out 0 (sinOsc AR 440 0 >* 0))+{- | Module to provide graph drawing of unit generator graphs.  The+output is in the form of a dot graph, which can be layed out using the+@graphviz@ tools, see <http://graphviz.org>.++> import Sound.SC3.ID+> import Sound.SC3.UGen.Dot++Simple a-rate only graph.++> draw (out 0 (sinOsc AR 440 0 * 0.1))++<<dot/01.svg>>++As above, but using the /record/ interface.++> import Sound.SC3.UGen.Dot.Type++> let o = dot_options {use_tables = False}+> in draw_with_opt o (out 0 (sinOsc AR 440 0 * 0.1))++<<dot/02.svg>>++With k-rate subgraph.++> let f = lfSaw KR 1 0 * 220 + 440+> in draw (out 0 (sinOsc AR f 0 * 0.1))++<<dot/03.svg>>++With k-rate & i-rate subgraphs++> let {l = rand 'a' 200 400+>     ;m = rand 'b' l 600+>     ;a = rand 'c' 500 900+>     ;f = lfSaw KR 1 0 * m + a}+> in draw (out 0 (sinOsc AR f 0 * 0.1))++<<dot/04.svg>>++With control input++> let f = control KR "freq" 440+> in draw (out 0 (sinOsc AR f 0 * 0.1))++<<dot/05.svg>>++As above but with inlined controls.++> let {f = control KR "freq" 440+>     ;o = dot_options {inline_controls = True}}+> in draw_with_opt o (out 0 (sinOsc AR f 0 * 0.1))++<<dot/06.svg>>++As above but without control name label.++> let {o = dot_options {inline_controls = True+>                      ,display_control_names = False}+>     ;f = control KR "freq" 440}+> in draw_with_opt o (out 0 (sinOsc AR f 0 * 0.1))++<<dot/07.svg>>++With multiple channel expansion.++> let f = mce2 440 220+> in draw (out 0 (sinOsc AR f 0 * 0.1))++<<dot/08.svg>>++With multiple root graph.++> let {f = mce2 440 220 + in' 2 KR 0+>     ;o1 = sinOsc AR f 0 * 0.1+>     ;o2 = sinOsc KR (mce2 0.25 0.35) 0 * mce2 10 15 }+> in draw (mrg [out 0 o1,out 0 o2])++<<dot/09.svg>>++With multiple channel UGen.++> draw (out 0 (pan2 (sinOsc AR 440 0 * 0.1) 0 1))++<<dot/10.svg>>++With reserved labels (ie. <,>,&), and fixed size graph (size in inches).++> let o = svg_options {graph_size = Just (1,4)}+> in draw_with_opt o (out 0 (sinOsc AR 440 0 >* 0))++<<dot/11.svg>>++-} module Sound.SC3.UGen.Dot where  import Sound.SC3.UGen.Dot.Class import Sound.SC3.UGen.Dot.Internal import Sound.SC3.UGen.Dot.Type +-- | 'dot_with_opt' of 'dot_options'. dot :: Drawable a => a -> String dot = dot_with_opt dot_options +-- | 'dot_with_opt' of 'svg_options'. dot_svg :: Drawable a => a -> String dot_svg = dot_with_opt svg_options +-- | 'view_with' of 'dot_with_opt'. draw_with_opt :: Drawable a => Dot_Options -> a -> IO () draw_with_opt o x = view_with o (dot_with_opt o x) +-- | 'draw_with_opt' of 'dot_options'. draw :: Drawable a => a -> IO () draw = draw_with_opt dot_options +-- | 'draw_with_opt' of 'svg_options'. draw_svg :: Drawable a => a -> IO () draw_svg = draw_with_opt svg_options  -- | Default @dot@ format 'Dot_Options'.+--+-- > std_style dot_options dot_options :: Dot_Options dot_options = Dot_Options     {use_tables = True@@ -98,10 +129,11 @@     ,output_file_name = "hsc3"     ,fix_edge_location = False     ,numeric_precision = 3+    ,indicate_precision = False     ,inline_controls = False     ,display_control_names = True     ,dot_viewer = "dotty"-    ,svg_viewer = "rsvg-view"+    ,svg_viewer = "rsvg-view-3"     ,font_name = "Courier"     ,font_size = 12     ,graph_size = Nothing
Sound/SC3/UGen/Dot/Class.hs view
@@ -1,6 +1,8 @@+-- | Typeclass for 'Drawable' values. module Sound.SC3.UGen.Dot.Class where  import Sound.SC3 as S+import Sound.SC3.UGen.Graph as S import Sound.SC3.UGen.Dot.Internal import Sound.SC3.UGen.Dot.Type @@ -10,11 +12,14 @@ class Drawable a where     dot_with_opt :: Dot_Options -> a -> String +-- | 'S.Graph's are 'Drawable', by 'dotGraph'. instance Drawable S.Graph where     dot_with_opt = dotGraph +-- | 'S.UGens's are 'Drawable', by 'S.ugen_to_graph'. instance Drawable S.UGen where-    dot_with_opt o = dotGraph o . S.synth+    dot_with_opt o = dotGraph o . S.ugen_to_graph +-- | 'S.Synthdef's are 'Drawable', by 'S.synthdefGraph'. instance Drawable S.Synthdef where     dot_with_opt o = dotGraph o . S.synthdefGraph
Sound/SC3/UGen/Dot/Internal.hs view
@@ -1,27 +1,77 @@+-- | Implementation of @Dot@ language writer. module Sound.SC3.UGen.Dot.Internal where -import Control.Monad-import Data.List-import Data.Maybe-import qualified Sound.SC3 as S {- hsc3 -}-import qualified Sound.SC3.Server.Synthdef.Internal as S-import Sound.SC3.UGen.Dot.Type {- hsc3-dot -}-import System.IO-import System.Cmd {- process -}+import Control.Monad {- base -}+import Data.Char {- base -}+import Data.List {- base -}+import Data.Maybe {- base -} import System.Directory {- directory -} import System.FilePath {- filepath -}-import Text.Printf+import System.Process {- process -}+import Text.Printf {- base -} +import qualified Sound.SC3 as S {- hsc3 -}+import qualified Sound.SC3.UGen.Graph as S {- hsc3 -}+import Sound.SC3.UGen.Dot.Type {- hsc3-dot -}++-- | Bracket with elements.+bracket1 :: (a,a) -> [a] -> [a]+bracket1 (l,r) x = [l] ++ x ++ [r]++-- | Bracket with lists.+bracket :: ([a],[a]) -> [a] -> [a]+bracket (l,r) x = l ++ x ++ r++-- | 'bracket' with double quotes.+string_pp :: String -> String+string_pp = bracket1 ('"','"')++-- | 'bracket' with double quotes and braces.+label_pp :: String -> String+label_pp = bracket ("\"{","}\"")++-- | Key value pair.+type Attr = (String,String)++-- | Dot attributes are written @key=value@.+attr_pp :: Attr -> String+attr_pp (k,v) = k ++ "=" ++ v++-- | If @value@ is 'null' then 'Nothing'.+attr_pp_maybe :: Attr -> Maybe String+attr_pp_maybe (k,v) = if null v then Nothing else Just (attr_pp (k,v))++-- | Attribute lists are in square brackets and comma seperated.+attr_list_pp :: [Attr] -> String+attr_list_pp = bracket1 ('[',']') . intercalate "," . mapMaybe attr_pp_maybe++-- | Attribute sets are named and semi-colon terminated.+attr_set_pp :: String -> [Attr] -> String+attr_set_pp nm attr = concat [nm," ",attr_list_pp attr,";"]++-- | Type specialised 'show'.+int_pp :: Int -> String+int_pp = show++-- | Size is given as @(width,height)@.+size_pp :: (Double,Double) -> String+size_pp (x,y) = printf "\"%f,%f\"" x y++-- | 'toLower' of 'show'.+bool_pp :: Bool -> String+bool_pp = map toLower . show++-- | Basic attribute sets given 'Dot_Options'. std_style :: Dot_Options -> [String] std_style o =-    let s = if use_splines o then "true" else "false"-        sz_f (x,y) = printf ",size=\"%f,%f\"" x y-    in [printf "graph [splines=%s%s];" s (maybe "" sz_f (graph_size o))-       ,printf "node [fontsize=%d" (font_size o)-       ,printf "     ,fontname=\"%s\"];" (font_name o)-       ,"edge [arrowhead=box,arrowsize=0.25];"]+    [attr_set_pp "graph" [("splines",bool_pp (use_splines o))+                         ,("size",maybe "" size_pp (graph_size o))]+    ,attr_set_pp "node" [("fontsize",int_pp (font_size o))+                        ,("fontname",string_pp (font_name o))]+    ,attr_set_pp "edge" [("arrowhead","box")+                        ,("arrowsize","0.25")]] --- Generate dot representation of the provided unit generator graph.+-- | Generate dot representation of the provided unit generator graph. dotGraph :: Dot_Options -> S.Graph -> String dotGraph o g =     let (S.Graph _ _ ks us) = g@@ -35,6 +85,7 @@                     ,["}"]]     in unlines (filter (not.null) ls) +-- | View @dot@ graph according to 'Dot_Options'. view_with :: Dot_Options -> String -> IO () view_with o x = do   v <- get_viewer o@@ -48,34 +99,44 @@                  SVG -> f_svg                  SVG_GZ -> f_svg_gz       gen_svg = rawSystem "dot" ["-T","svg",f_dot,"-o",f_svg]-  withFile f_dot WriteMode (`hPutStr` x)+  writeFile f_dot x   when (output_format o `elem` [SVG,SVG_GZ]) (void gen_svg)   when (output_format o == SVG_GZ) (void (rawSystem "gzip" ["-f",f_svg]))   when (False && output_format o /= DOT) (removeFile f_dot)   _ <- rawSystem v [f_view]   return () +-- | Input port. data IP = IP_Label String         | IP_Port String Char Int-        | IP_Const (Maybe String,String,Int) Float+        | IP_Const (Maybe String,String,Int) S.Sample --- > drop_while_right f = right_variant (dropWhile f)+-- | 'reverse' of /f/ of 'reverse'.+--+-- > let drop_while_right f = right_variant (dropWhile f)+-- > in drop_while_right isUpper "abcDEF" == "abc" right_variant :: ([a] -> [b]) -> [a] -> [b] right_variant f = reverse . f . reverse --- > map (limit_precision_p 3) [1,1.25,0.05,pi*1e8,1e9]-limit_precision_p :: Int -> Float -> String-limit_precision_p n c =+-- | Limited precision PP for 'S.Sample', no scientific notation.+--+-- > map (limit_precision_p True 2) [1,1.25,1.12345,0,0.05,pi*1e8,1e9]+limit_precision_p :: Bool -> Int -> S.Sample -> String+limit_precision_p r n c =     let i = printf "%.*f" n c-    in right_variant (dropWhile (== '.') . dropWhile (== '0')) i+    in if r+       then i+       else right_variant (dropWhile (== '.') . dropWhile (== '0')) i +-- | Limited precision PP for 'S.Sample', with scientific notation.+-- -- > map (limit_precision_e 3) [1,1.25,0.05,pi*1e8,1e9]-limit_precision_e :: Int -> Float -> String+limit_precision_e :: Int -> S.Sample -> String limit_precision_e n c =     let (i,_:j) = break (== '.') (show c)         (k,l) = break (== 'e') j         f :: String -> Int-        f m = round ((read (take (n + 1) m) :: Float) / 10)+        f m = round ((read (take (n + 1) m) :: S.Sample) / 10)         k' = if length k > n              then show (f k)              else k@@ -83,16 +144,20 @@             then l             else "." ++ k' ++ l --- > map (limit_precision 3) [1,1.25,0.05,pi*1e8,1e9]-limit_precision :: Int -> Float -> String-limit_precision n c =-    if c < 1e-3 || c > 1e6+-- | Variant selecting scientific notation more cautiously than haskells default PP.+--+-- > map (limit_precision True 3) [1,1.25,0.05,0,pi*1e8,1e9]+limit_precision :: Bool -> Int -> S.Sample -> String+limit_precision r n c =+    if c /= 0 && (c < (10 ** fromIntegral (- n)) || c > 1e6)     then limit_precision_e n c-    else limit_precision_p n c+    else limit_precision_p r n c -limit_precision_o :: Dot_Options -> Float -> String-limit_precision_o o = limit_precision (numeric_precision o)+-- | Variant of 'limit_precision' reading parameters from 'Dot_Options'.+limit_precision_o :: Dot_Options -> S.Sample -> String+limit_precision_o o = limit_precision (indicate_precision o) (numeric_precision o) +-- | IP in record form. ip_record :: Dot_Options -> IP -> String ip_record o i =     case i of@@ -100,12 +165,14 @@       IP_Port _ d n -> '<' : d : '_' : show n ++ ">"       IP_Const _ n -> limit_precision_o o n +-- | Very rudimentary HTML escaping. escape_html :: String -> String escape_html =     let t = [('<',"&lt;"),('>',"&gt;"),('&',"&amp;")]         f c = fromMaybe [c] (lookup c t)     in concatMap f +-- | 'IP' as @HTML@ string. ip_html :: Dot_Options -> IP -> String ip_html o i =     case i of@@ -124,8 +191,9 @@     let f l = concat ["{",g (map (ip_record o) l),"}"]         g = intercalate "|"         lbl = g [f upr,f lwr]-        f_str = "%s [shape=\"record\",color=\"%s\",label=\"{%s}\"];"-    in printf f_str nm clr lbl+    in attr_set_pp nm [("shape",string_pp "record")+                      ,("color",string_pp clr)+                      ,("label",label_pp lbl)]  table :: Dot_Options -> String -> String -> ([IP],[IP]) -> String table o lbl clr (upr,lwr) =@@ -134,12 +202,13 @@         f p l = if null l                 then ""                 else concat ["<TR>",p ++ concatMap (ip_html o) l,"</TR>"]-    in concat [lbl-              ,"[shape=\"plaintext\","-              ,"color=\"",clr,"\","-              ,"label=<<TABLE BORDER=\"0\" CELLBORDER=\"1\">"-              ,f [] upr ++ f e lwr-              ,"</TABLE>>];"]+    in attr_set_pp+       lbl+       [("shape",string_pp "plaintext")+       ,("color",string_pp clr)+       ,("label",concat ["<<TABLE BORDER=\"0\" CELLBORDER=\"1\">"+                        ,f [] upr ++ f e lwr+                        ,"</TABLE>>"])]  dot_edge :: Dot_Options -> S.Graph -> S.Edge -> String dot_edge o g (l,S.ToPort ri rn) =@@ -191,29 +260,32 @@        then ""        else f lbl clr (upr,lwr) +dot_node_k_color :: S.Node -> Attr+dot_node_k_color k =+    let c = if S.node_k_type k == S.K_TR+            then "cyan"+            else S.rate_color (S.node_k_rate k)+    in ("color",string_pp c)+ dot_node_k_rec :: Dot_Options -> S.Node -> String dot_node_k_rec o u =-    concat [S.node_label u-           ,"[shape=\"rect\",color=\""-           ,S.rate_color (S.node_k_rate u)-           ,"\",label=\""-           ,S.node_k_name u-           ,":"-           ,limit_precision_o o (S.node_k_default u)-           ,"\"];"]+    attr_set_pp+    (S.node_label u)+    [("shape",string_pp "rect")+    ,dot_node_k_color u+    ,("label",string_pp (S.node_k_name u ++ ":" ++ limit_precision_o o (S.node_k_default u)))]  dot_node_k_html :: Dot_Options -> S.Node -> String dot_node_k_html o u =-    concat [S.node_label u-           ,"[shape=\"plaintext\",color=\""-           ,S.rate_color (S.node_k_rate u)-           ,"\",label=<<TABLE BORDER=\"0\" CELLBORDER=\"1\">"-           ,"<TR><TD PORT=\"o_0\">"-           ,S.node_k_name u-           ,":"-           ,limit_precision_o o (S.node_k_default u)-           ,"</TD></TR>"-           ,"</TABLE>>];"]+    attr_set_pp+    (S.node_label u)+    [("shape",string_pp "plaintext")+    ,dot_node_k_color u+    ,("label",concat ["<<TABLE BORDER=\"0\" CELLBORDER=\"1\">"+                     ,"<TR><TD PORT=\"o_0\">"+                     ,S.node_k_name u,":",limit_precision_o o (S.node_k_default u)+                     ,"</TD></TR>"+                     ,"</TABLE>>"])]  dot_node_k :: Dot_Options -> S.Node -> String dot_node_k o =
Sound/SC3/UGen/Dot/Type.hs view
@@ -1,3 +1,4 @@+-- | Dot types. module Sound.SC3.UGen.Dot.Type where  -- | Dot output formats.@@ -10,8 +11,9 @@     ,output_format :: Dot_Format -- ^ Select viewer format.     ,fix_edge_location :: Bool -- ^ Select output port edge location.     ,numeric_precision :: Int -- ^ Printing precision for constants.-    ,inline_controls :: Bool-    ,display_control_names :: Bool+    ,indicate_precision :: Bool -- ^ Print to precision even if not required+    ,inline_controls :: Bool -- ^ Draw controls within UGen input port slots.+    ,display_control_names :: Bool -- ^ Elide control names if 'False'.     ,output_directory :: FilePath -- ^ File name (without suffix).     ,output_file_name :: String -- ^ File name (without suffix).     ,dot_viewer :: String -- ^ @dot@ file viewer (ie. "dotty")
+ dot/01.svg view
@@ -0,0 +1,52 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="125pt" height="188pt"+ viewBox="0.00 0.00 125.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-184 122,-184 122,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 73,-174 73,-158 51,-158"/>+<text text-anchor="start" x="54" y="-163.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="black" points="75,-158 75,-174 87,-174 87,-158 75,-158"/>+<text text-anchor="start" x="78" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="75,-150 75,-156 87,-156 87,-150 75,-150"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="63,-86 63,-102 76,-102 76,-86 63,-86"/>+<text text-anchor="start" x="66.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="78,-86 78,-102 84,-102 84,-86 78,-86"/>+<polygon fill="none" stroke="black" points="86,-86 86,-102 108,-102 108,-86 86,-86"/>+<text text-anchor="start" x="89" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="86,-78 86,-84 108,-84 108,-78 86,-78"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M81,-150C81,-150 81,-114.551 81,-104.581"/>+<polygon fill="black" stroke="black" points="80,-102 82,-102 82.0001,-104 80.0001,-104 80,-102"/>+<polyline fill="none" stroke="black" points="81.0001,-104 81.0001,-104.5 "/>+</g>+<!-- u_5 -->+<g id="node3" class="node"><title>u_5</title>+<polygon fill="none" stroke="black" points="55,-10 55,-26 78,-26 78,-10 55,-10"/>+<text text-anchor="start" x="58.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="80,-10 80,-26 92,-26 92,-10 80,-10"/>+<text text-anchor="start" x="83" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="94,-10 94,-26 100,-26 100,-10 94,-10"/>+</g>+<!-- u_4&#45;&gt;u_5 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_5:i_1</title>+<path fill="none" stroke="black" d="M97,-78C97,-78 97,-38.8953 97,-28.5081"/>+<polygon fill="black" stroke="black" points="96,-26 98,-26 98.0001,-28 96.0001,-28 96,-26"/>+<polyline fill="none" stroke="black" points="97.0001,-28 97.0001,-28.5 "/>+</g>+</g>+</svg>
+ dot/02.svg view
@@ -0,0 +1,58 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="119pt" height="200pt"+ viewBox="0.00 0.00 119.00 200.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 196)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-196 116,-196 116,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="9,-153 9,-191 111,-191 111,-153 9,-153"/>+<text text-anchor="middle" x="33" y="-178.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polyline fill="none" stroke="black" points="57,-172 57,-191 "/>+<text text-anchor="middle" x="73" y="-178.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polyline fill="none" stroke="black" points="89,-172 89,-191 "/>+<text text-anchor="middle" x="100" y="-178.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polyline fill="none" stroke="black" points="9,-172 111,-172 "/>+<text text-anchor="middle" x="60" y="-159.9" font-family="Courier,monospace" font-size="9.00"> </text>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="27,-77 27,-115 103,-115 103,-77 27,-77"/>+<text text-anchor="middle" x="38" y="-102.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polyline fill="none" stroke="black" points="49,-96 49,-115 "/>+<text text-anchor="middle" x="60" y="-102.9" font-family="Courier,monospace" font-size="9.00"> </text>+<polyline fill="none" stroke="black" points="71,-96 71,-115 "/>+<text text-anchor="middle" x="87" y="-102.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polyline fill="none" stroke="black" points="27,-96 103,-96 "/>+<text text-anchor="middle" x="65" y="-83.9" font-family="Courier,monospace" font-size="9.00"> </text>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M60,-153C60,-153 60,-126.94 60,-117.982"/>+<polygon fill="black" stroke="black" points="59,-115 61,-115 61.0001,-117 59.0001,-117 59,-115"/>+<polyline fill="none" stroke="black" points="60.0001,-117 60.0001,-117.5 "/>+</g>+<!-- u_5 -->+<g id="node3" class="node"><title>u_5</title>+<polygon fill="none" stroke="black" points="0,-1 0,-39 76,-39 76,-1 0,-1"/>+<text text-anchor="middle" x="16" y="-26.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polyline fill="none" stroke="black" points="32,-20 32,-39 "/>+<text text-anchor="middle" x="43" y="-26.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polyline fill="none" stroke="black" points="54,-20 54,-39 "/>+<text text-anchor="middle" x="65" y="-26.9" font-family="Courier,monospace" font-size="9.00"> </text>+<polyline fill="none" stroke="black" points="0,-20 76,-20 "/>+<text text-anchor="middle" x="38" y="-7.9" font-family="Courier,monospace" font-size="9.00"> </text>+</g>+<!-- u_4&#45;&gt;u_5 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_5:i_1</title>+<path fill="none" stroke="black" d="M65,-77C65,-77 65,-50.9399 65,-41.9818"/>+<polygon fill="black" stroke="black" points="64,-39 66,-39 66.0001,-41 64.0001,-41 64,-39"/>+<polyline fill="none" stroke="black" points="65.0001,-41 65.0001,-41.5 "/>+</g>+</g>+</svg>
+ dot/03.svg view
@@ -0,0 +1,97 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="153pt" height="404pt"+ viewBox="0.00 0.00 153.00 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-400 150,-400 150,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="blue" points="10,-374 10,-390 44,-390 44,-374 10,-374"/>+<text text-anchor="start" x="13.5" y="-379.9" font-family="Courier,monospace" font-size="9.00">LFSaw</text>+<polygon fill="none" stroke="blue" points="46,-374 46,-390 58,-390 58,-374 46,-374"/>+<text text-anchor="start" x="49" y="-379.9" font-family="Courier,monospace" font-size="9.00">1</text>+<polygon fill="none" stroke="blue" points="60,-374 60,-390 72,-390 72,-374 60,-374"/>+<text text-anchor="start" x="63" y="-379.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="60,-366 60,-372 72,-372 72,-366 60,-366"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="blue" points="48,-302 48,-318 61,-318 61,-302 48,-302"/>+<text text-anchor="start" x="51.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="blue" points="63,-302 63,-318 69,-318 69,-302 63,-302"/>+<polygon fill="none" stroke="blue" points="71,-302 71,-318 93,-318 93,-302 71,-302"/>+<text text-anchor="start" x="74" y="-307.9" font-family="Courier,monospace" font-size="9.00">220</text>+<polygon fill="none" stroke="blue" points="71,-294 71,-300 93,-300 93,-294 71,-294"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M66,-366C66,-366 66,-330.551 66,-320.581"/>+<polygon fill="black" stroke="black" points="65,-318 67,-318 67.0001,-320 65.0001,-320 65,-318"/>+<polyline fill="none" stroke="black" points="66.0001,-320 66.0001,-320.5 "/>+</g>+<!-- u_6 -->+<g id="node3" class="node"><title>u_6</title>+<polygon fill="none" stroke="blue" points="64,-230 64,-246 77,-246 77,-230 64,-230"/>+<text text-anchor="start" x="67.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">+</text>+<polygon fill="none" stroke="blue" points="79,-230 79,-246 85,-246 85,-230 79,-230"/>+<polygon fill="none" stroke="blue" points="87,-230 87,-246 109,-246 109,-230 87,-230"/>+<text text-anchor="start" x="90" y="-235.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="blue" points="87,-222 87,-228 109,-228 109,-222 87,-222"/>+</g>+<!-- u_4&#45;&gt;u_6 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_6:i_0</title>+<path fill="none" stroke="black" d="M82,-294C82,-294 82,-258.551 82,-248.581"/>+<polygon fill="black" stroke="black" points="81,-246 83,-246 83.0001,-248 81.0001,-248 81,-246"/>+<polyline fill="none" stroke="black" points="82.0001,-248 82.0001,-248.5 "/>+</g>+<!-- u_7 -->+<g id="node4" class="node"><title>u_7</title>+<polygon fill="none" stroke="black" points="54,-158 54,-174 93,-174 93,-158 54,-158"/>+<text text-anchor="start" x="57.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="95,-158 95,-174 101,-174 101,-158 95,-158"/>+<polygon fill="none" stroke="black" points="103,-158 103,-174 115,-174 115,-158 103,-158"/>+<text text-anchor="start" x="106" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="103,-150 103,-156 115,-156 115,-150 103,-150"/>+</g>+<!-- u_6&#45;&gt;u_7 -->+<g id="edge6" class="edge"><title>u_6:o_0&#45;&gt;u_7:i_0</title>+<path fill="none" stroke="black" d="M98,-222C98,-222 98,-186.551 98,-176.581"/>+<polygon fill="black" stroke="black" points="97,-174 99,-174 99.0001,-176 97.0001,-176 97,-174"/>+<polyline fill="none" stroke="black" points="98.0001,-176 98.0001,-176.5 "/>+</g>+<!-- u_9 -->+<g id="node5" class="node"><title>u_9</title>+<polygon fill="none" stroke="black" points="91,-86 91,-102 104,-102 104,-86 91,-86"/>+<text text-anchor="start" x="94.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="106,-86 106,-102 112,-102 112,-86 106,-86"/>+<polygon fill="none" stroke="black" points="114,-86 114,-102 136,-102 136,-86 114,-86"/>+<text text-anchor="start" x="117" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="114,-78 114,-84 136,-84 136,-78 114,-78"/>+</g>+<!-- u_7&#45;&gt;u_9 -->+<g id="edge8" class="edge"><title>u_7:o_0&#45;&gt;u_9:i_0</title>+<path fill="none" stroke="black" d="M109,-150C109,-150 109,-114.551 109,-104.581"/>+<polygon fill="black" stroke="black" points="108,-102 110,-102 110,-104 108,-104 108,-102"/>+<polyline fill="none" stroke="black" points="109,-104 109,-104.5 "/>+</g>+<!-- u_10 -->+<g id="node6" class="node"><title>u_10</title>+<polygon fill="none" stroke="black" points="83,-10 83,-26 106,-26 106,-10 83,-10"/>+<text text-anchor="start" x="86.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="108,-10 108,-26 120,-26 120,-10 108,-10"/>+<text text-anchor="start" x="111" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="122,-10 122,-26 128,-26 128,-10 122,-10"/>+</g>+<!-- u_9&#45;&gt;u_10 -->+<g id="edge10" class="edge"><title>u_9:o_0&#45;&gt;u_10:i_1</title>+<path fill="none" stroke="black" d="M125,-78C125,-78 125,-38.8953 125,-28.5081"/>+<polygon fill="black" stroke="black" points="124,-26 126,-26 126,-28 124,-28 124,-26"/>+<polyline fill="none" stroke="black" points="125,-28 125,-28.5 "/>+</g>+</g>+</svg>
+ dot/04.svg view
@@ -0,0 +1,142 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="254pt" height="476pt"+ viewBox="0.00 0.00 254.00 476.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 472)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-472 251,-472 251,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="blue" points="10,-374 10,-390 44,-390 44,-374 10,-374"/>+<text text-anchor="start" x="13.5" y="-379.9" font-family="Courier,monospace" font-size="9.00">LFSaw</text>+<polygon fill="none" stroke="blue" points="46,-374 46,-390 58,-390 58,-374 46,-374"/>+<text text-anchor="start" x="49" y="-379.9" font-family="Courier,monospace" font-size="9.00">1</text>+<polygon fill="none" stroke="blue" points="60,-374 60,-390 72,-390 72,-374 60,-374"/>+<text text-anchor="start" x="63" y="-379.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="60,-366 60,-372 72,-372 72,-366 60,-366"/>+</g>+<!-- u_8 -->+<g id="node4" class="node"><title>u_8</title>+<polygon fill="none" stroke="blue" points="91,-302 91,-318 104,-318 104,-302 91,-302"/>+<text text-anchor="start" x="94.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="blue" points="106,-302 106,-318 112,-318 112,-302 106,-302"/>+<polygon fill="none" stroke="blue" points="114,-302 114,-318 120,-318 120,-302 114,-302"/>+<polygon fill="none" stroke="blue" points="114,-294 114,-300 120,-300 120,-294 114,-294"/>+</g>+<!-- u_2&#45;&gt;u_8 -->+<g id="edge4" class="edge"><title>u_2:o_0&#45;&gt;u_8:i_0</title>+<path fill="none" stroke="black" d="M73,-369C73,-369 100.562,-329.953 107.453,-320.191"/>+<polygon fill="black" stroke="black" points="108.183,-317.423 109.817,-318.577 108.664,-320.211 107.03,-319.057 108.183,-317.423"/>+<polyline fill="none" stroke="black" points="107.847,-319.634 107.558,-320.042 "/>+</g>+<!-- u_5 -->+<g id="node2" class="node"><title>u_5</title>+<polygon fill="none" stroke="yellow" points="78,-446 78,-462 107,-462 107,-446 78,-446"/>+<text text-anchor="start" x="81.5" y="-451.9" font-family="Courier,monospace" font-size="9.00">Rand</text>+<polygon fill="none" stroke="yellow" points="109,-446 109,-462 131,-462 131,-446 109,-446"/>+<text text-anchor="start" x="112" y="-451.9" font-family="Courier,monospace" font-size="9.00">200</text>+<polygon fill="none" stroke="yellow" points="133,-446 133,-462 155,-462 155,-446 133,-446"/>+<text text-anchor="start" x="136" y="-451.9" font-family="Courier,monospace" font-size="9.00">400</text>+<polygon fill="none" stroke="yellow" points="133,-438 133,-444 155,-444 155,-438 133,-438"/>+</g>+<!-- u_7 -->+<g id="node3" class="node"><title>u_7</title>+<polygon fill="none" stroke="yellow" points="110,-374 110,-390 139,-390 139,-374 110,-374"/>+<text text-anchor="start" x="113.5" y="-379.9" font-family="Courier,monospace" font-size="9.00">Rand</text>+<polygon fill="none" stroke="yellow" points="141,-374 141,-390 147,-390 147,-374 141,-374"/>+<polygon fill="none" stroke="yellow" points="149,-374 149,-390 171,-390 171,-374 149,-374"/>+<text text-anchor="start" x="152" y="-379.9" font-family="Courier,monospace" font-size="9.00">600</text>+<polygon fill="none" stroke="yellow" points="149,-366 149,-372 171,-372 171,-366 149,-366"/>+</g>+<!-- u_5&#45;&gt;u_7 -->+<g id="edge2" class="edge"><title>u_5:o_0&#45;&gt;u_7:i_0</title>+<path fill="none" stroke="black" d="M144,-438C144,-438 144,-402.551 144,-392.581"/>+<polygon fill="black" stroke="black" points="143,-390 145,-390 145,-392 143,-392 143,-390"/>+<polyline fill="none" stroke="black" points="144,-392 144,-392.5 "/>+</g>+<!-- u_7&#45;&gt;u_8 -->+<g id="edge6" class="edge"><title>u_7:o_0&#45;&gt;u_8:i_1</title>+<path fill="none" stroke="black" d="M160,-366C160,-366 127.078,-329.25 118.848,-320.062"/>+<polygon fill="black" stroke="black" points="116.255,-318.667 117.745,-317.333 119.079,-318.822 117.59,-320.157 116.255,-318.667"/>+<polyline fill="none" stroke="black" points="118.335,-319.49 118.668,-319.862 "/>+</g>+<!-- u_12 -->+<g id="node6" class="node"><title>u_12</title>+<polygon fill="none" stroke="blue" points="149,-230 149,-246 162,-246 162,-230 149,-230"/>+<text text-anchor="start" x="152.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">+</text>+<polygon fill="none" stroke="blue" points="164,-230 164,-246 170,-246 170,-230 164,-230"/>+<polygon fill="none" stroke="blue" points="172,-230 172,-246 178,-246 178,-230 172,-230"/>+<polygon fill="none" stroke="blue" points="172,-222 172,-228 178,-228 178,-222 172,-222"/>+</g>+<!-- u_8&#45;&gt;u_12 -->+<g id="edge8" class="edge"><title>u_8:o_0&#45;&gt;u_12:i_0</title>+<path fill="none" stroke="black" d="M117,-294C117,-294 155.281,-257.25 164.852,-248.062"/>+<polygon fill="black" stroke="black" points="166.307,-245.279 167.693,-246.721 166.25,-248.106 164.865,-246.664 166.307,-245.279"/>+<polyline fill="none" stroke="black" points="165.557,-247.385 165.197,-247.731 "/>+</g>+<!-- u_11 -->+<g id="node5" class="node"><title>u_11</title>+<polygon fill="none" stroke="yellow" points="160,-302 160,-318 189,-318 189,-302 160,-302"/>+<text text-anchor="start" x="163.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">Rand</text>+<polygon fill="none" stroke="yellow" points="191,-302 191,-318 213,-318 213,-302 191,-302"/>+<text text-anchor="start" x="194" y="-307.9" font-family="Courier,monospace" font-size="9.00">500</text>+<polygon fill="none" stroke="yellow" points="215,-302 215,-318 237,-318 237,-302 215,-302"/>+<text text-anchor="start" x="218" y="-307.9" font-family="Courier,monospace" font-size="9.00">900</text>+<polygon fill="none" stroke="yellow" points="215,-294 215,-300 237,-300 237,-294 215,-294"/>+</g>+<!-- u_11&#45;&gt;u_12 -->+<g id="edge10" class="edge"><title>u_11:o_0&#45;&gt;u_12:i_1</title>+<path fill="none" stroke="black" d="M226,-294C226,-294 186.953,-257.25 177.191,-248.062"/>+<polygon fill="black" stroke="black" points="174.315,-246.728 175.685,-245.272 177.142,-246.643 175.771,-248.099 174.315,-246.728"/>+<polyline fill="none" stroke="black" points="176.456,-247.371 176.821,-247.713 "/>+</g>+<!-- u_13 -->+<g id="node7" class="node"><title>u_13</title>+<polygon fill="none" stroke="black" points="131,-158 131,-174 170,-174 170,-158 131,-158"/>+<text text-anchor="start" x="134.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="172,-158 172,-174 178,-174 178,-158 172,-158"/>+<polygon fill="none" stroke="black" points="180,-158 180,-174 192,-174 192,-158 180,-158"/>+<text text-anchor="start" x="183" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="180,-150 180,-156 192,-156 192,-150 180,-150"/>+</g>+<!-- u_12&#45;&gt;u_13 -->+<g id="edge12" class="edge"><title>u_12:o_0&#45;&gt;u_13:i_0</title>+<path fill="none" stroke="black" d="M175,-222C175,-222 175,-186.551 175,-176.581"/>+<polygon fill="black" stroke="black" points="174,-174 176,-174 176,-176 174,-176 174,-174"/>+<polyline fill="none" stroke="black" points="175,-176 175,-176.5 "/>+</g>+<!-- u_15 -->+<g id="node8" class="node"><title>u_15</title>+<polygon fill="none" stroke="black" points="168,-86 168,-102 181,-102 181,-86 168,-86"/>+<text text-anchor="start" x="171.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="183,-86 183,-102 189,-102 189,-86 183,-86"/>+<polygon fill="none" stroke="black" points="191,-86 191,-102 213,-102 213,-86 191,-86"/>+<text text-anchor="start" x="194" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="191,-78 191,-84 213,-84 213,-78 191,-78"/>+</g>+<!-- u_13&#45;&gt;u_15 -->+<g id="edge14" class="edge"><title>u_13:o_0&#45;&gt;u_15:i_0</title>+<path fill="none" stroke="black" d="M186,-150C186,-150 186,-114.551 186,-104.581"/>+<polygon fill="black" stroke="black" points="185,-102 187,-102 187,-104 185,-104 185,-102"/>+<polyline fill="none" stroke="black" points="186,-104 186,-104.5 "/>+</g>+<!-- u_16 -->+<g id="node9" class="node"><title>u_16</title>+<polygon fill="none" stroke="black" points="160,-10 160,-26 183,-26 183,-10 160,-10"/>+<text text-anchor="start" x="163.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="185,-10 185,-26 197,-26 197,-10 185,-10"/>+<text text-anchor="start" x="188" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="199,-10 199,-26 205,-26 205,-10 199,-10"/>+</g>+<!-- u_15&#45;&gt;u_16 -->+<g id="edge16" class="edge"><title>u_15:o_0&#45;&gt;u_16:i_1</title>+<path fill="none" stroke="black" d="M202,-78C202,-78 202,-38.8953 202,-28.5081"/>+<polygon fill="black" stroke="black" points="201,-26 203,-26 203,-28 201,-28 201,-26"/>+<polyline fill="none" stroke="black" points="202,-28 202,-28.5 "/>+</g>+</g>+</svg>
+ dot/05.svg view
@@ -0,0 +1,62 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="109pt" height="260pt"+ viewBox="0.00 0.00 109.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-256 106,-256 106,5 -4,5"/>+<!-- k_1 -->+<g id="node1" class="node"><title>k_1</title>+<polygon fill="none" stroke="blue" points="29,-226 29,-242 79,-242 79,-226 29,-226"/>+<text text-anchor="start" x="32.5" y="-231.9" font-family="Courier,monospace" font-size="9.00">freq:440</text>+</g>+<!-- u_2 -->+<g id="node2" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 57,-174 57,-158 51,-158"/>+<polygon fill="none" stroke="black" points="59,-158 59,-174 71,-174 71,-158 59,-158"/>+<text text-anchor="start" x="62" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="59,-150 59,-156 71,-156 71,-150 59,-150"/>+</g>+<!-- k_1&#45;&gt;u_2 -->+<g id="edge2" class="edge"><title>k_1:o_0&#45;&gt;u_2:i_0</title>+<path fill="none" stroke="black" d="M54,-225.657C54,-212.004 54,-185.538 54,-176.844"/>+<polygon fill="black" stroke="black" points="53,-174 55,-174 55.0001,-176 53.0001,-176 53,-174"/>+<polyline fill="none" stroke="black" points="54.0001,-176 54.0001,-176.5 "/>+</g>+<!-- u_4 -->+<g id="node3" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="47,-86 47,-102 60,-102 60,-86 47,-86"/>+<text text-anchor="start" x="50.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="62,-86 62,-102 68,-102 68,-86 62,-86"/>+<polygon fill="none" stroke="black" points="70,-86 70,-102 92,-102 92,-86 70,-86"/>+<text text-anchor="start" x="73" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="70,-78 70,-84 92,-84 92,-78 70,-78"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge4" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M65,-150C65,-150 65,-114.551 65,-104.581"/>+<polygon fill="black" stroke="black" points="64,-102 66,-102 66.0001,-104 64.0001,-104 64,-102"/>+<polyline fill="none" stroke="black" points="65.0001,-104 65.0001,-104.5 "/>+</g>+<!-- u_5 -->+<g id="node4" class="node"><title>u_5</title>+<polygon fill="none" stroke="black" points="39,-10 39,-26 62,-26 62,-10 39,-10"/>+<text text-anchor="start" x="42.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="64,-10 64,-26 76,-26 76,-10 64,-10"/>+<text text-anchor="start" x="67" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="78,-10 78,-26 84,-26 84,-10 78,-10"/>+</g>+<!-- u_4&#45;&gt;u_5 -->+<g id="edge6" class="edge"><title>u_4:o_0&#45;&gt;u_5:i_1</title>+<path fill="none" stroke="black" d="M81,-78C81,-78 81,-38.8953 81,-28.5081"/>+<polygon fill="black" stroke="black" points="80,-26 82,-26 82.0001,-28 80.0001,-28 80,-26"/>+<polyline fill="none" stroke="black" points="81.0001,-28 81.0001,-28.5 "/>+</g>+</g>+</svg>
+ dot/06.svg view
@@ -0,0 +1,52 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="152pt" height="188pt"+ viewBox="0.00 0.00 152.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-184 149,-184 149,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 100,-174 100,-158 51,-158"/>+<text text-anchor="start" x="54" y="-163.9" font-family="Courier,monospace" font-size="9.00">freq:440</text>+<polygon fill="none" stroke="black" points="102,-158 102,-174 114,-174 114,-158 102,-158"/>+<text text-anchor="start" x="105" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="102,-150 102,-156 114,-156 114,-150 102,-150"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="90,-86 90,-102 103,-102 103,-86 90,-86"/>+<text text-anchor="start" x="93.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="105,-86 105,-102 111,-102 111,-86 105,-86"/>+<polygon fill="none" stroke="black" points="113,-86 113,-102 135,-102 135,-86 113,-86"/>+<text text-anchor="start" x="116" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="113,-78 113,-84 135,-84 135,-78 113,-78"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M108,-150C108,-150 108,-114.551 108,-104.581"/>+<polygon fill="black" stroke="black" points="107,-102 109,-102 109,-104 107,-104 107,-102"/>+<polyline fill="none" stroke="black" points="108,-104 108,-104.5 "/>+</g>+<!-- u_5 -->+<g id="node3" class="node"><title>u_5</title>+<polygon fill="none" stroke="black" points="82,-10 82,-26 105,-26 105,-10 82,-10"/>+<text text-anchor="start" x="85.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="107,-10 107,-26 119,-26 119,-10 107,-10"/>+<text text-anchor="start" x="110" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="121,-10 121,-26 127,-26 127,-10 121,-10"/>+</g>+<!-- u_4&#45;&gt;u_5 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_5:i_1</title>+<path fill="none" stroke="black" d="M124,-78C124,-78 124,-38.8953 124,-28.5081"/>+<polygon fill="black" stroke="black" points="123,-26 125,-26 125,-28 123,-28 123,-26"/>+<polyline fill="none" stroke="black" points="124,-28 124,-28.5 "/>+</g>+</g>+</svg>
+ dot/07.svg view
@@ -0,0 +1,52 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="125pt" height="188pt"+ viewBox="0.00 0.00 125.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-184 122,-184 122,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 73,-174 73,-158 51,-158"/>+<text text-anchor="start" x="54" y="-163.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="black" points="75,-158 75,-174 87,-174 87,-158 75,-158"/>+<text text-anchor="start" x="78" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="75,-150 75,-156 87,-156 87,-150 75,-150"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="63,-86 63,-102 76,-102 76,-86 63,-86"/>+<text text-anchor="start" x="66.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="78,-86 78,-102 84,-102 84,-86 78,-86"/>+<polygon fill="none" stroke="black" points="86,-86 86,-102 108,-102 108,-86 86,-86"/>+<text text-anchor="start" x="89" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="86,-78 86,-84 108,-84 108,-78 86,-78"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M81,-150C81,-150 81,-114.551 81,-104.581"/>+<polygon fill="black" stroke="black" points="80,-102 82,-102 82.0001,-104 80.0001,-104 80,-102"/>+<polyline fill="none" stroke="black" points="81.0001,-104 81.0001,-104.5 "/>+</g>+<!-- u_5 -->+<g id="node3" class="node"><title>u_5</title>+<polygon fill="none" stroke="black" points="55,-10 55,-26 78,-26 78,-10 55,-10"/>+<text text-anchor="start" x="58.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="80,-10 80,-26 92,-26 92,-10 80,-10"/>+<text text-anchor="start" x="83" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="94,-10 94,-26 100,-26 100,-10 94,-10"/>+</g>+<!-- u_4&#45;&gt;u_5 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_5:i_1</title>+<path fill="none" stroke="black" d="M97,-78C97,-78 97,-38.8953 97,-28.5081"/>+<polygon fill="black" stroke="black" points="96,-26 98,-26 98.0001,-28 96.0001,-28 96,-26"/>+<polyline fill="none" stroke="black" points="97.0001,-28 97.0001,-28.5 "/>+</g>+</g>+</svg>
+ dot/08.svg view
@@ -0,0 +1,84 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="231pt" height="188pt"+ viewBox="0.00 0.00 231.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-184 228,-184 228,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 73,-174 73,-158 51,-158"/>+<text text-anchor="start" x="54" y="-163.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="black" points="75,-158 75,-174 87,-174 87,-158 75,-158"/>+<text text-anchor="start" x="78" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="75,-150 75,-156 87,-156 87,-150 75,-150"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="71,-86 71,-102 84,-102 84,-86 71,-86"/>+<text text-anchor="start" x="74.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="86,-86 86,-102 92,-102 92,-86 86,-86"/>+<polygon fill="none" stroke="black" points="94,-86 94,-102 116,-102 116,-86 94,-86"/>+<text text-anchor="start" x="97" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="94,-78 94,-84 116,-84 116,-78 94,-78"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M81,-150C81,-150 86.9082,-114.551 88.5699,-104.581"/>+<polygon fill="black" stroke="black" points="88.0136,-101.836 89.9864,-102.164 89.6575,-104.137 87.6847,-103.808 88.0136,-101.836"/>+<polyline fill="none" stroke="black" points="88.6711,-103.973 88.5889,-104.466 "/>+</g>+<!-- u_8 -->+<g id="node5" class="node"><title>u_8</title>+<polygon fill="none" stroke="black" points="108,-10 108,-26 131,-26 131,-10 108,-10"/>+<text text-anchor="start" x="111.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="133,-10 133,-26 145,-26 145,-10 133,-10"/>+<text text-anchor="start" x="136" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="147,-10 147,-26 153,-26 153,-10 147,-10"/>+<polygon fill="none" stroke="black" points="155,-10 155,-26 161,-26 161,-10 155,-10"/>+</g>+<!-- u_4&#45;&gt;u_8 -->+<g id="edge6" class="edge"><title>u_4:o_0&#45;&gt;u_8:i_1</title>+<path fill="none" stroke="black" d="M117,-81C117,-81 142.266,-38.8906 148.582,-28.3633"/>+<polygon fill="black" stroke="black" points="149.143,-25.4855 150.857,-26.5145 149.828,-28.2295 148.113,-27.2005 149.143,-25.4855"/>+<polyline fill="none" stroke="black" points="148.971,-27.715 148.714,-28.1437 "/>+</g>+<!-- u_6 -->+<g id="node3" class="node"><title>u_6</title>+<polygon fill="none" stroke="black" points="124,-158 124,-174 163,-174 163,-158 124,-158"/>+<text text-anchor="start" x="127.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="165,-158 165,-174 187,-174 187,-158 165,-158"/>+<text text-anchor="start" x="168" y="-163.9" font-family="Courier,monospace" font-size="9.00">220</text>+<polygon fill="none" stroke="black" points="189,-158 189,-174 201,-174 201,-158 189,-158"/>+<text text-anchor="start" x="192" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="189,-150 189,-156 201,-156 201,-150 189,-150"/>+</g>+<!-- u_7 -->+<g id="node4" class="node"><title>u_7</title>+<polygon fill="none" stroke="black" points="169,-86 169,-102 182,-102 182,-86 169,-86"/>+<text text-anchor="start" x="172.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="184,-86 184,-102 190,-102 190,-86 184,-86"/>+<polygon fill="none" stroke="black" points="192,-86 192,-102 214,-102 214,-86 192,-86"/>+<text text-anchor="start" x="195" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="192,-78 192,-84 214,-84 214,-78 192,-78"/>+</g>+<!-- u_6&#45;&gt;u_7 -->+<g id="edge4" class="edge"><title>u_6:o_0&#45;&gt;u_7:i_0</title>+<path fill="none" stroke="black" d="M195,-150C195,-150 189.092,-114.551 187.43,-104.581"/>+<polygon fill="black" stroke="black" points="186.014,-102.164 187.986,-101.836 188.315,-103.808 186.342,-104.137 186.014,-102.164"/>+<polyline fill="none" stroke="black" points="187.329,-103.973 187.411,-104.466 "/>+</g>+<!-- u_7&#45;&gt;u_8 -->+<g id="edge8" class="edge"><title>u_7:o_0&#45;&gt;u_8:i_2</title>+<path fill="none" stroke="black" d="M203,-78C203,-78 168.547,-38.1875 159.934,-28.2344"/>+<polygon fill="black" stroke="black" points="157.244,-26.6544 158.756,-25.3456 160.065,-26.858 158.553,-28.1667 157.244,-26.6544"/>+<polyline fill="none" stroke="black" points="159.309,-27.5124 159.636,-27.8904 "/>+</g>+</g>+</svg>
+ dot/09.svg view
@@ -0,0 +1,204 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="443pt" height="332pt"+ viewBox="0.00 0.00 443.00 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-328 440,-328 440,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="blue" points="10,-302 10,-318 49,-318 49,-302 10,-302"/>+<text text-anchor="start" x="13.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="blue" points="51,-302 51,-318 79,-318 79,-302 51,-302"/>+<text text-anchor="start" x="54" y="-307.9" font-family="Courier,monospace" font-size="9.00">0.25</text>+<polygon fill="none" stroke="blue" points="81,-302 81,-318 93,-318 93,-302 81,-302"/>+<text text-anchor="start" x="84" y="-307.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="81,-294 81,-300 93,-300 93,-294 81,-294"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="blue" points="79,-230 79,-246 92,-246 92,-230 79,-230"/>+<text text-anchor="start" x="82.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="blue" points="94,-230 94,-246 100,-246 100,-230 94,-230"/>+<polygon fill="none" stroke="blue" points="102,-230 102,-246 119,-246 119,-230 102,-230"/>+<text text-anchor="start" x="105" y="-235.9" font-family="Courier,monospace" font-size="9.00">10</text>+<polygon fill="none" stroke="blue" points="102,-222 102,-228 119,-228 119,-222 102,-222"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M87,-294C87,-294 94.3853,-258.551 96.4624,-248.581"/>+<polygon fill="black" stroke="black" points="96.021,-245.796 97.979,-246.204 97.571,-248.162 95.613,-247.754 96.021,-245.796"/>+<polyline fill="none" stroke="black" points="96.592,-247.958 96.49,-248.447 "/>+</g>+<!-- u_9 -->+<g id="node5" class="node"><title>u_9</title>+<polygon fill="none" stroke="blue" points="102,-154 102,-170 125,-170 125,-154 102,-154"/>+<text text-anchor="start" x="105.5" y="-159.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="blue" points="127,-154 127,-170 139,-170 139,-154 127,-154"/>+<text text-anchor="start" x="130" y="-159.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="141,-154 141,-170 147,-170 147,-154 141,-154"/>+<polygon fill="none" stroke="blue" points="149,-154 149,-170 155,-170 155,-154 149,-154"/>+</g>+<!-- u_4&#45;&gt;u_9 -->+<g id="edge6" class="edge"><title>u_4:o_0&#45;&gt;u_9:i_1</title>+<path fill="none" stroke="black" d="M111,-222C111,-222 136.266,-182.188 142.582,-172.234"/>+<polygon fill="black" stroke="black" points="143.156,-169.464 144.844,-170.536 143.773,-172.225 142.084,-171.153 143.156,-169.464"/>+<polyline fill="none" stroke="black" points="142.928,-171.689 142.66,-172.111 "/>+</g>+<!-- u_6 -->+<g id="node3" class="node"><title>u_6</title>+<polygon fill="none" stroke="blue" points="130,-302 130,-318 169,-318 169,-302 130,-302"/>+<text text-anchor="start" x="133.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="blue" points="171,-302 171,-318 199,-318 199,-302 171,-302"/>+<text text-anchor="start" x="174" y="-307.9" font-family="Courier,monospace" font-size="9.00">0.35</text>+<polygon fill="none" stroke="blue" points="201,-302 201,-318 213,-318 213,-302 201,-302"/>+<text text-anchor="start" x="204" y="-307.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="201,-294 201,-300 213,-300 213,-294 201,-294"/>+</g>+<!-- u_8 -->+<g id="node4" class="node"><title>u_8</title>+<polygon fill="none" stroke="blue" points="178,-230 178,-246 191,-246 191,-230 178,-230"/>+<text text-anchor="start" x="181.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="blue" points="193,-230 193,-246 199,-246 199,-230 193,-230"/>+<polygon fill="none" stroke="blue" points="201,-230 201,-246 218,-246 218,-230 201,-230"/>+<text text-anchor="start" x="204" y="-235.9" font-family="Courier,monospace" font-size="9.00">15</text>+<polygon fill="none" stroke="blue" points="201,-222 201,-228 218,-228 218,-222 201,-222"/>+</g>+<!-- u_6&#45;&gt;u_8 -->+<g id="edge4" class="edge"><title>u_6:o_0&#45;&gt;u_8:i_0</title>+<path fill="none" stroke="black" d="M207,-294C207,-294 198.876,-258.551 196.591,-248.581"/>+<polygon fill="black" stroke="black" points="195.025,-246.223 196.975,-245.777 197.422,-247.726 195.472,-248.173 195.025,-246.223"/>+<polyline fill="none" stroke="black" points="196.447,-247.949 196.559,-248.437 "/>+</g>+<!-- u_8&#45;&gt;u_9 -->+<g id="edge8" class="edge"><title>u_8:o_0&#45;&gt;u_9:i_2</title>+<path fill="none" stroke="black" d="M210,-222C210,-222 163.994,-180.753 153.93,-171.73"/>+<polygon fill="black" stroke="black" points="151.332,-170.745 152.668,-169.255 154.157,-170.591 152.822,-172.08 151.332,-170.745"/>+<polyline fill="none" stroke="black" points="153.489,-171.335 153.861,-171.669 "/>+</g>+<!-- u_11 -->+<g id="node6" class="node"><title>u_11</title>+<polygon fill="none" stroke="blue" points="323,-302 323,-318 341,-318 341,-302 323,-302"/>+<text text-anchor="start" x="326.5" y="-307.9" font-family="Courier,monospace" font-size="9.00">In</text>+<polygon fill="none" stroke="blue" points="343,-302 343,-318 355,-318 355,-302 343,-302"/>+<text text-anchor="start" x="346" y="-307.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="blue" points="323,-294 323,-300 341,-300 341,-294 323,-294"/>+<polygon fill="none" stroke="blue" points="343,-294 343,-300 355,-300 355,-294 343,-294"/>+</g>+<!-- u_13 -->+<g id="node7" class="node"><title>u_13</title>+<polygon fill="none" stroke="blue" points="256,-230 256,-246 269,-246 269,-230 256,-230"/>+<text text-anchor="start" x="259.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">+</text>+<polygon fill="none" stroke="blue" points="271,-230 271,-246 293,-246 293,-230 271,-230"/>+<text text-anchor="start" x="274" y="-235.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="blue" points="295,-230 295,-246 301,-246 301,-230 295,-230"/>+<polygon fill="none" stroke="blue" points="295,-222 295,-228 301,-228 301,-222 295,-222"/>+</g>+<!-- u_11&#45;&gt;u_13 -->+<g id="edge10" class="edge"><title>u_11:o_0&#45;&gt;u_13:i_1</title>+<path fill="none" stroke="black" d="M322,-297C322,-297 303.952,-258.647 299.158,-248.46"/>+<polygon fill="black" stroke="black" points="297.095,-246.426 298.905,-245.574 299.756,-247.384 297.947,-248.235 297.095,-246.426"/>+<polyline fill="none" stroke="black" points="298.852,-247.81 299.065,-248.262 "/>+</g>+<!-- u_19 -->+<g id="node10" class="node"><title>u_19</title>+<polygon fill="none" stroke="blue" points="342,-230 342,-246 355,-246 355,-230 342,-230"/>+<text text-anchor="start" x="345.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">+</text>+<polygon fill="none" stroke="blue" points="357,-230 357,-246 379,-246 379,-230 357,-230"/>+<text text-anchor="start" x="360" y="-235.9" font-family="Courier,monospace" font-size="9.00">220</text>+<polygon fill="none" stroke="blue" points="381,-230 381,-246 387,-246 387,-230 381,-230"/>+<polygon fill="none" stroke="blue" points="381,-222 381,-228 387,-228 387,-222 381,-222"/>+</g>+<!-- u_11&#45;&gt;u_19 -->+<g id="edge16" class="edge"><title>u_11:o_1&#45;&gt;u_19:i_1</title>+<path fill="none" stroke="black" d="M349,-294C349,-294 375.797,-257.25 382.496,-248.062"/>+<polygon fill="black" stroke="black" points="383.192,-245.411 384.808,-246.589 383.63,-248.205 382.014,-247.027 383.192,-245.411"/>+<polyline fill="none" stroke="black" points="382.822,-247.616 382.527,-248.02 "/>+</g>+<!-- u_14 -->+<g id="node8" class="node"><title>u_14</title>+<polygon fill="none" stroke="black" points="250,-158 250,-174 289,-174 289,-158 250,-158"/>+<text text-anchor="start" x="253.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="291,-158 291,-174 297,-174 297,-158 291,-158"/>+<polygon fill="none" stroke="black" points="299,-158 299,-174 311,-174 311,-158 299,-158"/>+<text text-anchor="start" x="302" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="299,-150 299,-156 311,-156 311,-150 299,-150"/>+</g>+<!-- u_13&#45;&gt;u_14 -->+<g id="edge12" class="edge"><title>u_13:o_0&#45;&gt;u_14:i_0</title>+<path fill="none" stroke="black" d="M298,-222C298,-222 295.046,-186.551 294.215,-176.581"/>+<polygon fill="black" stroke="black" points="293.003,-174.083 294.997,-173.917 295.163,-175.91 293.17,-176.076 293.003,-174.083"/>+<polyline fill="none" stroke="black" points="294.166,-175.993 294.208,-176.491 "/>+</g>+<!-- u_16 -->+<g id="node9" class="node"><title>u_16</title>+<polygon fill="none" stroke="black" points="295,-86 295,-102 308,-102 308,-86 295,-86"/>+<text text-anchor="start" x="298.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="310,-86 310,-102 316,-102 316,-86 310,-86"/>+<polygon fill="none" stroke="black" points="318,-86 318,-102 340,-102 340,-86 318,-86"/>+<text text-anchor="start" x="321" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="318,-78 318,-84 340,-84 340,-78 318,-78"/>+</g>+<!-- u_14&#45;&gt;u_16 -->+<g id="edge14" class="edge"><title>u_14:o_0&#45;&gt;u_16:i_0</title>+<path fill="none" stroke="black" d="M305,-150C305,-150 310.908,-114.551 312.57,-104.581"/>+<polygon fill="black" stroke="black" points="312.014,-101.836 313.986,-102.164 313.658,-104.137 311.685,-103.808 312.014,-101.836"/>+<polyline fill="none" stroke="black" points="312.671,-103.973 312.589,-104.466 "/>+</g>+<!-- u_22 -->+<g id="node13" class="node"><title>u_22</title>+<polygon fill="none" stroke="black" points="326,-10 326,-26 349,-26 349,-10 326,-10"/>+<text text-anchor="start" x="329.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="351,-10 351,-26 363,-26 363,-10 351,-10"/>+<text text-anchor="start" x="354" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="365,-10 365,-26 371,-26 371,-10 365,-10"/>+<polygon fill="none" stroke="black" points="373,-10 373,-26 379,-26 379,-10 373,-10"/>+</g>+<!-- u_16&#45;&gt;u_22 -->+<g id="edge22" class="edge"><title>u_16:o_0&#45;&gt;u_22:i_1</title>+<path fill="none" stroke="black" d="M341,-81C341,-81 361.672,-38.8906 366.84,-28.3633"/>+<polygon fill="black" stroke="black" points="367.102,-25.5593 368.898,-26.4407 368.016,-28.236 366.221,-27.3546 367.102,-25.5593"/>+<polyline fill="none" stroke="black" points="367.119,-27.7953 366.898,-28.2442 "/>+</g>+<!-- u_20 -->+<g id="node11" class="node"><title>u_20</title>+<polygon fill="none" stroke="black" points="348,-158 348,-174 387,-174 387,-158 348,-158"/>+<text text-anchor="start" x="351.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="389,-158 389,-174 395,-174 395,-158 389,-158"/>+<polygon fill="none" stroke="black" points="397,-158 397,-174 409,-174 409,-158 397,-158"/>+<text text-anchor="start" x="400" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="397,-150 397,-156 409,-156 409,-150 397,-150"/>+</g>+<!-- u_19&#45;&gt;u_20 -->+<g id="edge18" class="edge"><title>u_19:o_0&#45;&gt;u_20:i_0</title>+<path fill="none" stroke="black" d="M384,-222C384,-222 389.908,-186.551 391.57,-176.581"/>+<polygon fill="black" stroke="black" points="391.014,-173.836 392.986,-174.164 392.658,-176.137 390.685,-175.808 391.014,-173.836"/>+<polyline fill="none" stroke="black" points="391.671,-175.973 391.589,-176.466 "/>+</g>+<!-- u_21 -->+<g id="node12" class="node"><title>u_21</title>+<polygon fill="none" stroke="black" points="381,-86 381,-102 394,-102 394,-86 381,-86"/>+<text text-anchor="start" x="384.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="396,-86 396,-102 402,-102 402,-86 396,-86"/>+<polygon fill="none" stroke="black" points="404,-86 404,-102 426,-102 426,-86 404,-86"/>+<text text-anchor="start" x="407" y="-91.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="404,-78 404,-84 426,-84 426,-78 404,-78"/>+</g>+<!-- u_20&#45;&gt;u_21 -->+<g id="edge20" class="edge"><title>u_20:o_0&#45;&gt;u_21:i_0</title>+<path fill="none" stroke="black" d="M403,-150C403,-150 400.046,-114.551 399.215,-104.581"/>+<polygon fill="black" stroke="black" points="398.003,-102.083 399.997,-101.917 400.163,-103.91 398.17,-104.076 398.003,-102.083"/>+<polyline fill="none" stroke="black" points="399.166,-103.993 399.208,-104.491 "/>+</g>+<!-- u_21&#45;&gt;u_22 -->+<g id="edge24" class="edge"><title>u_21:o_0&#45;&gt;u_22:i_2</title>+<path fill="none" stroke="black" d="M415,-78C415,-78 385.141,-38.1875 377.676,-28.2344"/>+<polygon fill="black" stroke="black" points="375.2,-26.6 376.8,-25.4 378,-27 376.4,-28.2 375.2,-26.6"/>+<polyline fill="none" stroke="black" points="377.2,-27.6 377.5,-28 "/>+</g>+</g>+</svg>
+ dot/10.svg view
@@ -0,0 +1,77 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="145pt" height="260pt"+ viewBox="0.00 0.00 145.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-256 142,-256 142,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-230 10,-246 49,-246 49,-230 10,-230"/>+<text text-anchor="start" x="13.5" y="-235.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-230 51,-246 73,-246 73,-230 51,-230"/>+<text text-anchor="start" x="54" y="-235.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="black" points="75,-230 75,-246 87,-246 87,-230 75,-230"/>+<text text-anchor="start" x="78" y="-235.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="75,-222 75,-228 87,-228 87,-222 75,-222"/>+</g>+<!-- u_4 -->+<g id="node2" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="63,-158 63,-174 76,-174 76,-158 63,-158"/>+<text text-anchor="start" x="66.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">*</text>+<polygon fill="none" stroke="black" points="78,-158 78,-174 84,-174 84,-158 78,-158"/>+<polygon fill="none" stroke="black" points="86,-158 86,-174 108,-174 108,-158 86,-158"/>+<text text-anchor="start" x="89" y="-163.9" font-family="Courier,monospace" font-size="9.00">0.1</text>+<polygon fill="none" stroke="black" points="86,-150 86,-156 108,-156 108,-150 86,-150"/>+</g>+<!-- u_2&#45;&gt;u_4 -->+<g id="edge2" class="edge"><title>u_2:o_0&#45;&gt;u_4:i_0</title>+<path fill="none" stroke="black" d="M81,-222C81,-222 81,-186.551 81,-176.581"/>+<polygon fill="black" stroke="black" points="80,-174 82,-174 82.0001,-176 80.0001,-176 80,-174"/>+<polyline fill="none" stroke="black" points="81.0001,-176 81.0001,-176.5 "/>+</g>+<!-- u_6 -->+<g id="node3" class="node"><title>u_6</title>+<polygon fill="none" stroke="black" points="63,-86 63,-102 92,-102 92,-86 63,-86"/>+<text text-anchor="start" x="66.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">Pan2</text>+<polygon fill="none" stroke="black" points="94,-86 94,-102 100,-102 100,-86 94,-86"/>+<polygon fill="none" stroke="black" points="102,-86 102,-102 114,-102 114,-86 102,-86"/>+<text text-anchor="start" x="105" y="-91.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="116,-86 116,-102 128,-102 128,-86 116,-86"/>+<text text-anchor="start" x="119" y="-91.9" font-family="Courier,monospace" font-size="9.00">1</text>+<polygon fill="none" stroke="black" points="102,-78 102,-84 114,-84 114,-78 102,-78"/>+<polygon fill="none" stroke="black" points="116,-78 116,-84 128,-84 128,-78 116,-78"/>+</g>+<!-- u_4&#45;&gt;u_6 -->+<g id="edge4" class="edge"><title>u_4:o_0&#45;&gt;u_6:i_0</title>+<path fill="none" stroke="black" d="M97,-150C97,-150 97,-114.551 97,-104.581"/>+<polygon fill="black" stroke="black" points="96,-102 98,-102 98.0001,-104 96.0001,-104 96,-102"/>+<polyline fill="none" stroke="black" points="97.0001,-104 97.0001,-104.5 "/>+</g>+<!-- u_9 -->+<g id="node4" class="node"><title>u_9</title>+<polygon fill="none" stroke="black" points="69,-10 69,-26 92,-26 92,-10 69,-10"/>+<text text-anchor="start" x="72.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="94,-10 94,-26 106,-26 106,-10 94,-10"/>+<text text-anchor="start" x="97" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="108,-10 108,-26 114,-26 114,-10 108,-10"/>+<polygon fill="none" stroke="black" points="116,-10 116,-26 122,-26 122,-10 116,-10"/>+</g>+<!-- u_6&#45;&gt;u_9 -->+<g id="edge6" class="edge"><title>u_6:o_0&#45;&gt;u_9:i_1</title>+<path fill="none" stroke="black" d="M108,-78C108,-78 110.256,-38.8953 110.855,-28.5081"/>+<polygon fill="black" stroke="black" points="110.002,-25.9424 111.998,-26.0576 111.883,-28.0543 109.886,-27.939 110.002,-25.9424"/>+<polyline fill="none" stroke="black" points="110.885,-27.9967 110.856,-28.4959 "/>+</g>+<!-- u_6&#45;&gt;u_9 -->+<g id="edge8" class="edge"><title>u_6:o_1&#45;&gt;u_9:i_2</title>+<path fill="none" stroke="black" d="M122,-78C122,-78 119.744,-38.8953 119.145,-28.5081"/>+<polygon fill="black" stroke="black" points="118.002,-26.0576 119.998,-25.9424 120.114,-27.939 118.117,-28.0543 118.002,-26.0576"/>+<polyline fill="none" stroke="black" points="119.115,-27.9967 119.144,-28.4959 "/>+</g>+</g>+</svg>
+ dot/11.svg view
@@ -0,0 +1,52 @@+<?xml version="1.0" encoding="UTF-8" standalone="no"?>+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">+<!-- Generated by graphviz version 2.26.3 (20100126.1600)+ -->+<!-- Title: Anonymous Pages: 1 -->+<svg width="72pt" height="118pt"+ viewBox="0.00 0.00 72.00 117.70" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">+<g id="graph1" class="graph" transform="scale(0.626087 0.626087) rotate(0) translate(4 184)">+<title>Anonymous</title>+<polygon fill="white" stroke="white" points="-4,5 -4,-184 112,-184 112,5 -4,5"/>+<!-- u_2 -->+<g id="node1" class="node"><title>u_2</title>+<polygon fill="none" stroke="black" points="10,-158 10,-174 49,-174 49,-158 10,-158"/>+<text text-anchor="start" x="13.5" y="-163.9" font-family="Courier,monospace" font-size="9.00">SinOsc</text>+<polygon fill="none" stroke="black" points="51,-158 51,-174 73,-174 73,-158 51,-158"/>+<text text-anchor="start" x="54" y="-163.9" font-family="Courier,monospace" font-size="9.00">440</text>+<polygon fill="none" stroke="black" points="75,-158 75,-174 87,-174 87,-158 75,-158"/>+<text text-anchor="start" x="78" y="-163.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="75,-150 75,-156 87,-156 87,-150 75,-150"/>+</g>+<!-- u_3 -->+<g id="node2" class="node"><title>u_3</title>+<polygon fill="none" stroke="black" points="63,-86 63,-102 76,-102 76,-86 63,-86"/>+<text text-anchor="start" x="66.5" y="-91.9" font-family="Courier,monospace" font-size="9.00">&gt;</text>+<polygon fill="none" stroke="black" points="78,-86 78,-102 84,-102 84,-86 78,-86"/>+<polygon fill="none" stroke="black" points="86,-86 86,-102 98,-102 98,-86 86,-86"/>+<text text-anchor="start" x="89" y="-91.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="86,-78 86,-84 98,-84 98,-78 86,-78"/>+</g>+<!-- u_2&#45;&gt;u_3 -->+<g id="edge2" class="edge"><title>u_2:o_0:s&#45;&gt;u_3:i_0</title>+<path fill="none" stroke="black" d="M81,-150C81,-150 81,-114.551 81,-104.581"/>+<polygon fill="black" stroke="black" points="80,-102 82,-102 82.0001,-104 80.0001,-104 80,-102"/>+<polyline fill="none" stroke="black" points="81.0001,-104 81.0001,-104.5 "/>+</g>+<!-- u_4 -->+<g id="node3" class="node"><title>u_4</title>+<polygon fill="none" stroke="black" points="50,-10 50,-26 73,-26 73,-10 50,-10"/>+<text text-anchor="start" x="53.5" y="-15.9" font-family="Courier,monospace" font-size="9.00">Out</text>+<polygon fill="none" stroke="black" points="75,-10 75,-26 87,-26 87,-10 75,-10"/>+<text text-anchor="start" x="78" y="-15.9" font-family="Courier,monospace" font-size="9.00">0</text>+<polygon fill="none" stroke="black" points="89,-10 89,-26 95,-26 95,-10 89,-10"/>+</g>+<!-- u_3&#45;&gt;u_4 -->+<g id="edge4" class="edge"><title>u_3:o_0:s&#45;&gt;u_4:i_1</title>+<path fill="none" stroke="black" d="M92,-78C92,-78 92,-38.8953 92,-28.5081"/>+<polygon fill="black" stroke="black" points="91,-26 93,-26 93.0001,-28 91.0001,-28 91,-26"/>+<polyline fill="none" stroke="black" points="92.0001,-28 92.0001,-28.5 "/>+</g>+</g>+</svg>
hsc3-dot.cabal view
@@ -1,26 +1,27 @@ Name:              hsc3-dot-Version:           0.14+Version:           0.15 Synopsis:          haskell supercollider graph drawing Description:       dot format graph generator for SuperCollider                    unit generator graphs constructed using hsc3. License:           GPL Category:          Sound-Copyright:         (c) Rohan Drape, 2006-2013+Copyright:         (c) Rohan Drape, 2006-2014 Author:            Rohan Drape Maintainer:        rd@slavepianos.org Stability:         Experimental-Homepage:          http://rd.slavepianos.org/?t=hsc3-dot-Tested-With:       GHC == 7.6.1+Homepage:          http://rd.slavepianos.org/t/hsc3-dot+Tested-With:       GHC == 7.8.2 Build-Type:        Simple Cabal-Version:     >= 1.8  Data-files:        README+Extra-Doc-Files:   dot/*.svg  Library   Build-Depends:   base == 4.*,                    directory,                    filepath,-                   hsc3 == 0.14.*,+                   hsc3 == 0.15.*,                    process   GHC-Options:     -Wall -fwarn-tabs   Exposed-modules: Sound.SC3.UGen.Dot