diff options
author | Carl Hetherington <carl@carlh.net> | 2011-05-23 22:16:11 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-05-23 22:16:11 +0000 |
commit | 70b0748fc71e0aad987e1d6f4f7c4dcadf398cbf (patch) | |
tree | 87b1ef826fdc4d8560d8765620ec2a0062263df7 /doc/classes/midi.dot | |
parent | b6587ad160aec275004ea875846112b8d4724d3d (diff) |
Attempt #46 to understand MIDI data locking.
git-svn-id: svn://localhost/ardour2/branches/3.0@9576 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'doc/classes/midi.dot')
-rw-r--r-- | doc/classes/midi.dot | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/classes/midi.dot b/doc/classes/midi.dot new file mode 100644 index 0000000000..b82a912f72 --- /dev/null +++ b/doc/classes/midi.dot @@ -0,0 +1,41 @@ +digraph Ardour { + rankdir = BT + node [shape=box,arrowhead=normal,arrowtail=normal] + + Evoral_Control [label=< +Evoral::Control<br/> +<font face="inconsolata" color="#0000ff">ControlList</font> +>] + Evoral_ControlSet [label=< +Evoral::ControlSet<br/> +<font face="inconsolata" color="#ff0000">_control_lock</font><br/> +<font face="inconsolata" color="#0000ff">map<Parameter, Control></font> +>] + + Evoral_Sequence [label=< +Evoral::Sequence<br/> +<font face="inconsolata" color="#ff0000">_lock</font><br/> +<font face="inconsolata" color="#aa0000">read_lock(): _lock</font><br/> +<font face="inconsolata" color="#aa000">write_lock(): _lock, _control_lock</font><br/> +<font face="inconsolata" color="#0000ff">Notes, Pitches, SysExes, PatchChanges</font> +>] + + Evoral_ControlList [label=<Evoral::ControlList<br/><font face="inconsolata" color="#ff0000">_lock</font>>] + + ARDOUR_MidiModel [label=< +ARDOUR::MidiModel<br/> +<font face="inconsolata" color="#aa0000">edit_lock(): source mutex(), _lock, _control_lock</font><br/> +<font face="inconsolata" color="#aa0000">write_lock(): _lock, _control_lock</font><br/> +>] + + "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]; +} |