Attempt #46 to understand MIDI data locking.

git-svn-id: svn://localhost/ardour2/branches/3.0@9576 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-05-23 22:16:11 +00:00
parent b6587ad160
commit 70b0748fc7
2 changed files with 42 additions and 0 deletions

1
doc/classes/make.sh Normal file
View File

@ -0,0 +1 @@
dot -Tsvg midi.dot > midi.svg

41
doc/classes/midi.dot Normal file
View File

@ -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&lt;Parameter, Control&gt;</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];
}