Created
May 18, 2020 02:33
-
-
Save steveroush/686ac93dd5708f11252b498faf204f5e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
digraph G { | |
/* based on work by Kaspar Bumke */ | |
graph [comment="based on work by Kaspar Bumke "] | |
graph [inputscale="72" layout="neato" rankdir=RL layers="visible:invisible:OFF_layer:TRIG_START_layer:RECORD_layer:TRIG_STOP_layer:PLAY_layer:OVERDUB_layer:MULTIPLY_layer:INSERT_layer:REPLACE_layer:DELAY_layer:MUTE_layer:SCRATCH_layer:ONESHOT_layer:SUBSTITUTE_layer:PAUSED_layer:UNDO_ALL_layer:TRIGGER_PLAY_layer:UNDO_layer:REDO_layer:REDO_ALL_layer:OFF_MUTE_layer" size="9,9!" outputorder="nodesfirst"] | |
subgraph cluster1 { | |
node [style="filled" fillcolor="white" fontname=Times] | |
node [id=":\N:"]; // set the ID field in the SVG output, used by the SVG postprocessor | |
UNDO_ALL [shape=diamond layer="all" pos="0, 35!"] | |
OFF_MUTE [ layer="all" pos="70, -35!"] | |
OFF [ layer="all" pos="-70, -35!"] | |
TRIG_START [shape=hexagon layer="all" pos="-2.14306, 350.0!"] | |
RECORD [ layer="all" pos="119.707050164, 328.892417275!"] | |
TRIG_STOP [shape=hexagon layer="all" pos="224.97566339, 268.115555092!"] | |
PLAY [ layer="all" pos="303.108891325, 175.0!"] | |
OVERDUB [ layer="all" pos="344.682713554, 60.7768621834!"] | |
MULTIPLY [ layer="all" pos="344.682713554, -60.7768621834!"] | |
INSERT [ layer="all" pos="303.108891325, -175.0!"] | |
REPLACE [ layer="all" pos="224.97566339, -268.115555092!"] | |
DELAY [ layer="all" pos="119.707050164, -328.892417275!"] | |
MUTE [ layer="all" pos="6.42918335757, -350.0!"] | |
SCRATCH [ layer="all" pos="-119.707050164, -328.892417275!"] | |
ONESHOT [shape=hexagon layer="all" pos="-224.97566339, -268.115555092!"] | |
SUBSTITUTE [ layer="all" pos="-303.108891325, -175.0!"] | |
PAUSED [ layer="all" pos="-344.682713554, -60.7768621834!"] | |
TRIGGER_PLAY [shape=hexagon layer="all" pos="-344.682713554, 60.7768621834!"] | |
UNDO [shape=diamond layer="all" pos="-303.108891325, 175.0!"] | |
REDO [shape=diamond layer="all" pos="-224.97566339, 268.115555092!"] | |
REDO_ALL [shape=diamond layer="all" pos="-119.707050164, 328.892417275!"] | |
edge [fontcolor=grey] | |
edge[layer="OFF_layer"] | |
OFF -> RECORD [headlabel="record"] | |
OFF -> TRIG_START [headlabel="record" style=dashed label="if trig threshold > 0"] | |
OFF -> DELAY [headlabel="delay"] | |
OFF -> REDO [headlabel="redo"] | |
OFF -> REDO_ALL [headlabel="redo all"] | |
OFF -> OFF [headlabel="delay" tailport="w" headport="_" style=dashed color=red fontcolor=red label="doesn't work first time pressed"] | |
OFF -> OFF_MUTE [headlabel="pause" color=red fontcolor=red ] | |
OFF -> OFF_MUTE [headlabel="mute" ] | |
//OFF -> SCRATCH [headlabel="scratch" color=red fontcolor=red] | |
edge[layer="OFF_MUTE_layer"] | |
OFF_MUTE -> RECORD [headlabel="record"] | |
OFF_MUTE -> TRIG_START [headlabel="record" style=dashed label="if trig threshold > 0"] | |
OFF_MUTE -> DELAY [headlabel="delay"] | |
OFF_MUTE -> REDO [headlabel="redo"] | |
OFF_MUTE -> REDO_ALL [headlabel="redo all"] | |
OFF_MUTE -> OFF [headlabel="mute"] | |
OFF_MUTE -> OFF [headlabel="pause" color=red fontcolor=red] | |
OFF_MUTE -> OFF_MUTE [headlabel="delay" style=dashed color=red fontcolor=red label="doesn't work first time pressed"] | |
//OFF_MUTE -> SCRATCH [headlabel="scratch" color=red fontcolor=red] | |
edge[layer="REDO_layer"] | |
REDO -> PLAY [style=dotted] | |
REDO -> MUTE [style=dotted] | |
REDO -> OFF [style=dotted] | |
REDO -> OFF_MUTE [style=dotted] | |
edge[layer="UNDO_layer"] | |
UNDO -> UNDO_ALL [style=dotted] | |
UNDO -> PLAY [style=dotted weight=10] | |
UNDO -> MUTE [style=dotted] | |
edge[layer="UNDO_ALL_layer"] | |
UNDO_ALL -> OFF [style=dotted] | |
UNDO_ALL -> OFF_MUTE [style=dotted] | |
edge[layer="RECORD_layer"] | |
RECORD -> UNDO [headlabel="undo"] | |
RECORD -> UNDO_ALL [headlabel="undo all"] | |
RECORD -> OVERDUB [headlabel="overdub" color=orange fontcolor=orange label="clicks"] | |
RECORD -> MULTIPLY [headlabel="multiply" color=orange fontcolor=orange label="clicks"] | |
RECORD -> SUBSTITUTE [headlabel="substitute"] | |
RECORD -> INSERT [headlabel="insert"] | |
RECORD -> REPLACE [headlabel="replace"] | |
RECORD -> MUTE [headlabel="mute"] | |
RECORD -> PLAY [headlabel="record" weight=10] | |
RECORD -> PAUSED [headlabel="pause"] | |
RECORD -> TRIG_STOP [headlabel="record" style=dashed] | |
edge[layer="PLAY_layer"] | |
PLAY -> ONESHOT [headlabel="once"] | |
PLAY -> MUTE [headlabel="mute"] | |
PLAY -> OVERDUB [headlabel="overdub" weight=10] | |
PLAY -> RECORD [headlabel="record"] | |
PLAY -> SUBSTITUTE [headlabel="substitute"] | |
PLAY -> INSERT [headlabel="insert"] | |
PLAY -> REPLACE [headlabel="replace"] | |
PLAY -> UNDO_ALL [headlabel="undo all"] | |
PLAY -> UNDO [headlabel="undo"] | |
PLAY -> DELAY [headlabel="delay"] | |
PLAY -> TRIGGER_PLAY [headlabel="trig"] | |
PLAY -> SCRATCH [headlabel="scratch"] | |
PLAY -> PAUSED [headlabel="pause"] | |
PLAY -> PLAY [headlabel="delay" style=dashed color=red fontcolor=red label="doesn't work first time pressed"] | |
edge[layer="MUTE_layer"] | |
MUTE -> ONESHOT [headlabel="once" color=orange fontcolor=orange label="won't unmute when playback is synced"] | |
MUTE -> PLAY [headlabel="mute"] | |
MUTE -> OVERDUB [headlabel="overdub" weight=10] | |
MUTE -> RECORD [headlabel="record"] | |
MUTE -> SUBSTITUTE [headlabel="substitute"] | |
MUTE -> ONESHOT [headlabel="insert" color=red fontcolor=red label="should go into insert"] | |
MUTE -> REPLACE [headlabel="replace"] | |
MUTE -> UNDO_ALL [headlabel="undo all"] | |
MUTE -> UNDO [headlabel="undo"] | |
MUTE -> DELAY [headlabel="delay"] | |
MUTE -> TRIGGER_PLAY [headlabel="trig"] | |
MUTE -> SCRATCH [headlabel="scratch"] | |
MUTE -> PAUSED [headlabel="pause"] | |
MUTE -> MUTE [headlabel="delay" tailport="se" headport="_" style=dashed color=red fontcolor=red label="doesn't work first time pressed"] | |
edge[layer="PAUSED_layer"] | |
PAUSED -> TRIGGER_PLAY [headlabel="trig"] | |
PAUSED -> PLAY [headlabel="pause"] | |
PAUSED -> MUTE [headlabel="mute" color=red fontcolor=red label="shouldn't start rolling..."] | |
edge[layer="DELAY_layer"] | |
DELAY -> UNDO [headlabel="undo" color=orange fontcolor=orange label="doesn't undo before second press"] | |
DELAY -> UNDO_ALL [headlabel="undo all" color=orange fontcolor=orange label="goes into playing state according to slgui"] | |
DELAY -> RECORD [headlabel="record"] | |
DELAY -> TRIG_START [headlabel="record" style=dashed] | |
DELAY -> MUTE [headlabel="mute"] | |
DELAY -> TRIG_START [headlabel="replace\/insert\/substitute\/multiply" style=dashed color=orange fontcolor=orange label="problematic when synced to the same loop"] | |
DELAY -> REPLACE [headlabel="replace"] | |
DELAY -> INSERT [headlabel="insert" ] | |
DELAY -> SUBSTITUTE [headlabel="substitute"] | |
DELAY -> MULTIPLY [headlabel="multiply" ] | |
edge[layer="SCRATCH_layer"] | |
SCRATCH -> PLAY [headlabel="scratch"] | |
SCRATCH -> OVERDUB [headlabel="overdbub"] | |
SCRATCH -> SUBSTITUTE [headlabel="substitute"] | |
SCRATCH -> INSERT [headlabel="insert"] | |
SCRATCH -> REPLACE [headlabel="replace"] | |
SCRATCH -> MULTIPLY [headlabel="multiply"] | |
SCRATCH -> PAUSED [headlabel="pause"] | |
edge[layer="OVERDUB_layer"] | |
OVERDUB -> PLAY [headlabel="overdub"] | |
OVERDUB -> RECORD [headlabel="record"] | |
OVERDUB -> UNDO [headlabel="undo"] | |
OVERDUB -> UNDO_ALL [headlabel="undo all"] | |
OVERDUB -> MUTE [headlabel="mute"] | |
OVERDUB -> TRIG_START [headlabel="replace\/insert\/substitute\/multiply" style=dashed] | |
OVERDUB -> TRIG_STOP [headlabel="overdub" style=dashed] | |
OVERDUB -> REPLACE [headlabel="replace"] | |
OVERDUB -> INSERT [headlabel="insert" ] | |
OVERDUB -> SUBSTITUTE [headlabel="substitute"] | |
OVERDUB -> MULTIPLY [headlabel="multiply" ] | |
OVERDUB -> TRIGGER_PLAY [headlabel="trig" ] | |
edge[layer="REPLACE_layer"] | |
REPLACE -> PLAY [headlabel="replace"] | |
REPLACE -> UNDO [headlabel="undo"] | |
REPLACE -> UNDO_ALL [headlabel="undo all"] | |
REPLACE -> MUTE [headlabel="mute"] | |
REPLACE -> TRIG_STOP [headlabel="replace" style=dashed] | |
REPLACE -> RECORD [headlabel="record"] | |
REPLACE -> TRIG_START [headlabel="overdub\/insert\/substitute\/multiply" style=dashed] | |
REPLACE -> OVERDUB [headlabel="overdub"] | |
REPLACE -> INSERT [headlabel="insert" ] | |
REPLACE -> SUBSTITUTE [headlabel="substitute"] | |
REPLACE -> MULTIPLY [headlabel="multiply" ] | |
REPLACE -> TRIGGER_PLAY [headlabel="trig" ] | |
edge[layer="SUBSTITUTE_layer"] | |
SUBSTITUTE -> PLAY [headlabel="substitute"] | |
SUBSTITUTE -> UNDO [headlabel="undo"] | |
SUBSTITUTE -> UNDO_ALL [headlabel="undo all"] | |
SUBSTITUTE -> MUTE [headlabel="mute"] | |
SUBSTITUTE -> TRIG_STOP [headlabel="replace" style=dashed] | |
SUBSTITUTE -> RECORD [headlabel="record"] | |
SUBSTITUTE -> TRIG_START [headlabel="overdub\/insert\/replace\/multiply" style=dashed] | |
SUBSTITUTE -> OVERDUB [headlabel="overdub"] | |
SUBSTITUTE -> INSERT [headlabel="insert" ] | |
SUBSTITUTE -> REPLACE [headlabel="replace"] | |
SUBSTITUTE -> MULTIPLY [headlabel="multiply" ] | |
SUBSTITUTE -> TRIGGER_PLAY [headlabel="trig" ] | |
edge[layer="MULTIPLY_layer"] | |
MULTIPLY -> PLAY [headlabel="multiply"] | |
MULTIPLY -> UNDO [headlabel="undo"] | |
MULTIPLY -> UNDO_ALL [headlabel="undo all"] | |
MULTIPLY -> MUTE [headlabel="mute"] | |
MULTIPLY -> TRIG_STOP [headlabel="replace" style=dashed] | |
MULTIPLY -> RECORD [headlabel="record"] | |
MULTIPLY -> TRIG_START [headlabel="overdub\/insert\/replace\/substitute" style=dashed] | |
MULTIPLY -> OVERDUB [headlabel="overdub"] | |
MULTIPLY -> INSERT [headlabel="insert" ] | |
MULTIPLY -> REPLACE [headlabel="replace"] | |
MULTIPLY -> SUBSTITUTE [headlabel="substitute" ] | |
MULTIPLY -> TRIGGER_PLAY [headlabel="trig" ] | |
edge[layer="INSERT_layer"] | |
INSERT -> PLAY [headlabel="insert"] | |
INSERT -> UNDO [headlabel="undo"] | |
INSERT -> UNDO_ALL [headlabel="undo all"] | |
INSERT -> MUTE [headlabel="mute"] | |
INSERT -> TRIG_STOP [headlabel="insert" style=dashed] | |
INSERT -> RECORD [headlabel="record"] | |
INSERT -> TRIG_START [headlabel="overdub\/multiply\/replace\/substitute" style=dashed] | |
INSERT -> OVERDUB [headlabel="overdub"] | |
INSERT -> MULTIPLY [headlabel="multiply" ] | |
INSERT -> REPLACE [headlabel="replace"] | |
INSERT -> SUBSTITUTE [headlabel="substitute" ] | |
INSERT -> TRIGGER_PLAY [headlabel="trig" ] | |
edge[layer="TRIG_START_layer"] | |
TRIG_START -> RECORD [style=dotted] | |
TRIG_START -> OVERDUB [style=dotted] | |
TRIG_START -> MULTIPLY [style=dotted] | |
TRIG_START -> SUBSTITUTE [style=dotted] | |
TRIG_START -> INSERT [style=dotted] | |
TRIG_START -> REPLACE [style=dotted] | |
edge[layer="TRIG_STOP_layer"] | |
TRIG_STOP -> PLAY [style=dotted] | |
edge[layer="TRIGGER_PLAY_layer"] | |
TRIGGER_PLAY -> PLAY [style=dotted] | |
edge[layer="ONESHOT_layer"] | |
ONESHOT -> MUTE [style=dotted] | |
ONESHOT -> ONESHOT [headlabel="insert" color=red fontcolor=red] | |
ONESHOT -> ONESHOT [headlabel="once"] | |
ONESHOT -> RECORD [headlabel="record"] | |
ONESHOT -> UNDO [headlabel="undo"] | |
ONESHOT -> UNDO_ALL [headlabel="undo all"] | |
ONESHOT -> TRIG_START [headlabel="replace\/insert\/substitute\/multiply" style=dashed] | |
ONESHOT -> OVERDUB [headlabel="overdub"] | |
ONESHOT -> REPLACE [headlabel="replace"] | |
ONESHOT -> INSERT [headlabel="insert" ] | |
ONESHOT -> SUBSTITUTE [headlabel="substitute"] | |
ONESHOT -> MULTIPLY [headlabel="multiply" ] | |
ONESHOT -> TRIGGER_PLAY [headlabel="pause\/mute" color=red fontcolor=red] | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment