digraph Ardour {
rankdir = BT
node [shape=box,arrowhead=normal,arrowtail=normal]
Evoral_Control [label=<
Evoral::Control
ControlList
>]
Evoral_ControlSet [label=<
Evoral::ControlSet
_control_lock
map<Parameter, Control>
>]
Evoral_Sequence [label=<
Evoral::Sequence
_lock
read_lock(): _lock
write_lock(): _lock, _control_lock
Notes, Pitches, SysExes, PatchChanges
>]
Evoral_ControlList [label=_lock>]
ARDOUR_MidiModel [label=<
ARDOUR::MidiModel
edit_lock(): source mutex(), _lock, _control_lock
write_lock(): _lock, _control_lock
>]
"ARDOUR::Automatable" -> Evoral_ControlSet;
"ARDOUR::AutomatableSequence" -> "ARDOUR::Automatable";
"ARDOUR::AutomatableSequence" -> Evoral_Sequence;
Evoral_Sequence -> Evoral_ControlSet;
ARDOUR_MidiModel -> "ARDOUR::AutomatableSequence";
rank=same {Evoral_ControlSet; Evoral_Control; Evoral_ControlList}
Evoral_Control -> Evoral_ControlList [arrowhead=box];
Evoral_ControlSet -> Evoral_Control [arrowhead=box];
}