aboutsummaryrefslogtreecommitdiffstats
path: root/doc/parts/seq_initialization.svg
blob: 18cc0bb81683389da1b7b40047c184b925fd500a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="992px" preserveAspectRatio="none" style="width:1276px;height:992px;background:#EEEBDC;" version="1.1" viewBox="0 0 1276 992" width="1276px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dii61ex93pkt" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#EEEBDC" height="970.2031" style="stroke: #DEB887; stroke-width: 1.0;" width="142" x="328" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="113" x="342.5" y="15.1387">CommandPlugIn</text><rect fill="#EEEBDC" height="970.2031" style="stroke: #DEB887; stroke-width: 1.0;" width="427" x="505.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="169" x="634.5" y="15.1387">Audio Manager Daemon</text><rect fill="#EEEBDC" height="970.2031" style="stroke: #DEB887; stroke-width: 1.0;" width="128" x="970.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="985" y="15.1387">RoutingPlugIn</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="264.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="442.4063"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="29.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="260.5" y="413.2734"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="196.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="260.5" y="510.5391"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="64.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="394" y="735.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="108.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="394" y="854.0703"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="108.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="582" y="854.0703"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="343.6016" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="137.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="135.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="664.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="893.2031"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="855.5" y="625.8047"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="93.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="137.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="260.2031"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="122.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="359.1406"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="153.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="539.6719"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="98.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1203.5" y="192.0703"/><rect fill="#EEEBDC" filter="url(#f1dii61ex93pkt)" height="471.8359" style="stroke: #000000; stroke-width: 2.0;" width="1251.5" x="13" y="100.9688"/><rect fill="#EEEBDC" height="249.4688" style="stroke: none; stroke-width: 1.0;" width="1251.5" x="13" y="323.3359"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="60" x2="60" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="265" x2="265" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="399" x2="399" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="586.5" x2="586.5" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="728.5" x2="728.5" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="860.5" x2="860.5" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1034.5" x2="1034.5" y1="83.9688" y2="980.2031"/><line style="stroke: #404040; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1208.5" x2="1208.5" y1="83.9688" y2="980.2031"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="69" x="23" y="81.1387">Application</text><ellipse cx="60.5" cy="13" fill="#FFFACD" filter="url(#f1dii61ex93pkt)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M60.5,21 L60.5,48 M47.5,29 L73.5,29 M60.5,48 L47.5,63 M60.5,48 L73.5,63 " fill="#FFFACD" filter="url(#f1dii61ex93pkt)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="109" x="209" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="216" y="69.1387">SoundManager</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="130" x="332" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="116" x="339" y="69.1387">IAmCommandSend</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="151" x="509.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="516.5" y="69.1387">IAmCommandReceiver</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="104" x="674.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="681.5" y="69.1387">AudioManager</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="132" x="792.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="799.5" y="69.1387">IAmRoutingReceive</text><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="27.9688" style="stroke: #000000; stroke-width: 1.5;" width="116" x="974.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="981.5" y="69.1387">IAmRoutingSend</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="1162.5" y="81.1387">Audio Domain</text><ellipse cx="1208.5" cy="13" fill="#FFFACD" filter="url(#f1dii61ex93pkt)" rx="8" ry="8" style="stroke: #000000; stroke-width: 2.0;"/><path d="M1208.5,21 L1208.5,48 M1195.5,29 L1221.5,29 M1208.5,48 L1195.5,63 M1208.5,48 L1221.5,63 " fill="#FFFACD" filter="url(#f1dii61ex93pkt)" style="stroke: #000000; stroke-width: 2.0;"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="264.5313" style="stroke: #404040; stroke-width: 1.0;" width="10" x="55.5" y="442.4063"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="29.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="260.5" y="413.2734"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="196.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="260.5" y="510.5391"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="64.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="394" y="735.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="108.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="394" y="854.0703"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="108.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="582" y="854.0703"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="343.6016" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="137.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="135.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="664.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="723.5" y="893.2031"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="53.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="855.5" y="625.8047"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="93.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="137.9375"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="30" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="260.2031"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="122.3984" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="359.1406"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="153.2656" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1029.5" y="539.6719"/><rect fill="#00FF00" filter="url(#f1dii61ex93pkt)" height="98.1328" style="stroke: #404040; stroke-width: 1.0;" width="10" x="1203.5" y="192.0703"/><rect fill="none" height="471.8359" style="stroke: #000000; stroke-width: 2.0;" width="1251.5" x="13" y="100.9688"/><polygon fill="#EEEEEE" points="13,100.9688,77,100.9688,77,105.9688,67,115.9688,13,115.9688,13,100.9688" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="12" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="113.1074">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="196" x="92" y="113.1792">[Domain Type = DSP/Amplifier]</text><polygon fill="#000000" points="1017.5,133.9375,1027.5,137.9375,1017.5,141.9375,1021.5,137.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="733.5" x2="1023.5" y1="137.9375" y2="137.9375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="740.5" y="133.0044">setRoutingReady()</text><polygon fill="#000000" points="1191.5,188.0703,1201.5,192.0703,1191.5,196.0703,1195.5,192.0703" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1039.5" x2="1197.5" y1="192.0703" y2="192.0703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="1046.5" y="187.1372">setRoutingReady()</text><polygon fill="#000000" points="744.5,227.2031,734.5,231.2031,744.5,235.2031,740.5,231.2031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="738.5" x2="1033.5" y1="231.2031" y2="231.2031"/><polygon fill="#000000" points="1050.5,256.2031,1040.5,260.2031,1050.5,264.2031,1046.5,260.2031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="1044.5" x2="1202.5" y1="260.2031" y2="260.2031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="1056.5" y="255.27">confirmRoutingReady()</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="1264.5" y1="324.3359" y2="324.3359"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="182" x="18" y="334.5464">[Domain Type = Application]</text><polygon fill="#000000" points="1017.5,355.1406,1027.5,359.1406,1017.5,363.1406,1021.5,359.1406" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="733.5" x2="1023.5" y1="359.1406" y2="359.1406"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="740.5" y="354.2075">setRoutingReady()</text><polygon fill="#000000" points="281.5,409.2734,271.5,413.2734,281.5,417.2734,277.5,413.2734" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="275.5" x2="1028.5" y1="413.2734" y2="413.2734"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="287.5" y="408.3403">signal("setRoutingReady")</text><polygon fill="#000000" points="76.5,438.4063,66.5,442.4063,76.5,446.4063,72.5,442.4063" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="70.5" x2="264.5" y1="442.4063" y2="442.4063"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="82.5" y="437.4731">event [setRoutingReady]</text><polygon fill="#000000" points="739.5,477.5391,729.5,481.5391,739.5,485.5391,735.5,481.5391" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="733.5" x2="1033.5" y1="481.5391" y2="481.5391"/><polygon fill="#000000" points="248.5,506.5391,258.5,510.5391,248.5,514.5391,252.5,510.5391" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="65.5" x2="254.5" y1="510.5391" y2="510.5391"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="72.5" y="505.606">call("confirmRoutingReady")</text><polygon fill="#000000" points="1017.5,535.6719,1027.5,539.6719,1017.5,543.6719,1021.5,539.6719" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="270.5" x2="1023.5" y1="539.6719" y2="539.6719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="277.5" y="534.7388">confirmRoutingReady()</text><polygon fill="#000000" points="876.5,621.8047,866.5,625.8047,876.5,629.8047,872.5,625.8047" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="870.5" x2="1028.5" y1="625.8047" y2="625.8047"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="145" x="882.5" y="620.8716">confirmRoutingReady()</text><polygon fill="#000000" points="744.5,660.9375,734.5,664.9375,744.5,668.9375,740.5,664.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="738.5" x2="854.5" y1="664.9375" y2="664.9375"/><polygon fill="#000000" points="1017.5,674.9375,1027.5,678.9375,1017.5,682.9375,1021.5,678.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="860.5" x2="1023.5" y1="678.9375" y2="678.9375"/><polygon fill="#000000" points="281.5,688.9375,271.5,692.9375,281.5,696.9375,277.5,692.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="275.5" x2="1033.5" y1="692.9375" y2="692.9375"/><polygon fill="#000000" points="71.5,702.9375,61.5,706.9375,71.5,710.9375,67.5,706.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="65.5" x2="264.5" y1="706.9375" y2="706.9375"/><polygon fill="#000000" points="415,731.9375,405,735.9375,415,739.9375,411,735.9375" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="409" x2="722.5" y1="735.9375" y2="735.9375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="421" y="731.0044">setCommandReady()</text><polygon fill="#000000" points="716.5,796.0703,726.5,800.0703,716.5,804.0703,720.5,800.0703" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="399" x2="722.5" y1="800.0703" y2="800.0703"/><polygon fill="#000000" points="570,850.0703,580,854.0703,570,858.0703,574,854.0703" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="404" x2="576" y1="854.0703" y2="854.0703"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="411" y="849.1372">confirmCommandReady()</text><polygon fill="#000000" points="711.5,889.2031,721.5,893.2031,711.5,897.2031,715.5,893.2031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0;" x1="592" x2="717.5" y1="893.2031" y2="893.2031"/><polygon fill="#000000" points="410,958.2031,400,962.2031,410,966.2031,406,962.2031" style="stroke: #000000; stroke-width: 1.0;"/><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="404" x2="586" y1="962.2031" y2="962.2031"/><!--
@startuml
hide footbox

'skinparam defaultFontSize 10
skinparam backgroundColor #EEEBDC
skinparam sequenceGroupHeaderFontSize 12

skinparam sequence {
    ArrowColor black

    ActorBorderColor black

    LifeLineBorderColor #404040
    LifeLineBackgroundColor #404040
	
    ParticipantBorderColor black
    ParticipantBackgroundColor #00FF00
    ParticipantFontSize 12
    ParticipantFontColor black

    ActorBackgroundColor #FFFACD
    ActorFontColor black
    ActorFontSize 12


    BoxBorderColor #deb887
    BoxFontSize 12
    TitleFontSize 20
}


actor Application
participant SoundManager
box "CommandPlugIn" #EEEBDC
    participant IAmCommandSend
end box
box "Audio Manager Daemon" #EEEBDC
    participant IAmCommandReceiver
    participant AudioManager
    participant IAmRoutingReceive
end box
box "RoutingPlugIn" #EEEBDC
    participant IAmRoutingSend
end box
actor "Audio Domain"

alt Domain Type = DSP/Amplifier
    AudioManager -> IAmRoutingSend : setRoutingReady()
    activate AudioManager #00FF00
    activate IAmRoutingSend #00FF00
    |||
    IAmRoutingSend -> "Audio Domain" : setRoutingReady()
    activate "Audio Domain" #00FF00
    |||
    AudioManager <- - IAmRoutingSend
    deactivate IAmRoutingSend
    IAmRoutingSend <- "Audio Domain" : confirmRoutingReady()
    activate IAmRoutingSend #00ff00
    deactivate IAmRoutingSend
    deactivate "Audio Domain"
    |||
else Domain Type = Application
    AudioManager -> IAmRoutingSend : setRoutingReady()
    activate IAmRoutingSend #00FF00
    |||
    SoundManager <- IAmRoutingSend : signal("setRoutingReady")
    activate SoundManager #00FF00
    Application <- SoundManager : event [setRoutingReady]
    deactivate SoundManager
    activate Application #00FF00
    |||
    AudioManager <- - IAmRoutingSend
    deactivate IAmRoutingSend
    deactivate AudioManager
    Application -> SoundManager : call("confirmRoutingReady")
    activate SoundManager #00FF00
    SoundManager -> IAmRoutingSend : confirmRoutingReady()
    activate IAmRoutingSend #00FF00
    |||
end

|||
IAmRoutingReceive <- IAmRoutingSend : confirmRoutingReady()
activate IAmRoutingReceive #00FF00
|||
AudioManager <- IAmRoutingReceive
activate AudioManager #00FF00
IAmRoutingReceive - -> IAmRoutingSend
deactivate IAmRoutingReceive

IAmRoutingSend- ->SoundManager
deactivate IAmRoutingSend
SoundManager- ->Application
deactivate SoundManager
deactivate Application

IAmCommandSend <- AudioManager : setCommandReady()
activate IAmCommandSend #00FF00
|||
|||
IAmCommandSend - -> AudioManager
deactivate IAmCommandSend
deactivate AudioManager
|||
IAmCommandSend -> IAmCommandReceiver : confirmCommandReady()
activate IAmCommandSend #00FF00
activate IAmCommandReceiver #00FF00
|||
IAmCommandReceiver -> AudioManager
activate AudioManager #00ff00
deactivate AudioManager
|||
IAmCommandSend <- - IAmCommandReceiver
deactivate IAmCommandReceiver
deactivate IAmCommandSend
@enduml

PlantUML version 1.2017.16beta5(Unknown compile time)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
Java Version: 1.7.0_25-b15
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>