digraph playback_controller {
    PAUSE [shape="doublecircle",label="PAUSE\nspeed=0"];
    node [shape="ellipse"]
    PLAY [label="PLAY\nspeed=1"];
    FF2 [label="FF2\nspeed=2"];
    FF4 [label="FF4\nspeed=4"];
    FF8 [label="FF8\nspeed=8"];
    FF16 [label="FF16\nspeed=16"];

    PAUSE -> PLAY [label="play_pulse"]
    PLAY -> PAUSE [label="play_pulse"]
    PLAY -> FF2 [label="ff_pulse"]
    FF2 -> FF4 [label="ff_pulse"]
    FF4 -> FF8 [label="ff_pulse"]
    FF8 -> FF16 [label="ff_pulse"]

    FF2 -> PAUSE [label="play_pulse"];
    FF4 -> PAUSE [label="play_pulse"];
    FF8 -> PAUSE [label="play_pulse"];
    FF16 -> PAUSE [label="play_pulse"];

}
