From 70b0748fc71e0aad987e1d6f4f7c4dcadf398cbf Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 23 May 2011 22:16:11 +0000 Subject: Attempt #46 to understand MIDI data locking. git-svn-id: svn://localhost/ardour2/branches/3.0@9576 d708f5d6-7413-0410-9779-e7cbd77b26cf --- doc/classes/make.sh | 1 + doc/classes/midi.dot | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 doc/classes/make.sh create mode 100644 doc/classes/midi.dot diff --git a/doc/classes/make.sh b/doc/classes/make.sh new file mode 100644 index 0000000000..d875677c04 --- /dev/null +++ b/doc/classes/make.sh @@ -0,0 +1 @@ +dot -Tsvg midi.dot > midi.svg 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
+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]; +} -- cgit v1.2.3