summaryrefslogtreecommitdiff
path: root/docs/elementspage.html
blob: 6cd7f3d8b6e1debc8e3ca36b62cffcd5bd733fce (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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>AudioManager: Elements of the AudioManagement</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">AudioManager
   &#160;<span id="projectnumber">7.5.11</span>
   </div>
   <div id="projectbrief">Native Application Runtime Environment</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('elementspage.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Elements of the AudioManagement </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="cDiag"></a>
Overview Class Diagram</h1>
<p>This class diagram shows a logical overview of the relevant elements in the AudioManager with their relations. </p>
<div class="image">
<img src="ClassDiagramm.png" alt="ClassDiagramm.png"/>
</div>
<p>The audiomanagement in principle consists of the following elements:</p>
<h1><a class="anchor" id="source"></a>
Sources</h1>
<p>This is where audio comes from, for examples tuner, mediaplayer. But sources can also be part of a building block that processes audio, examples are here crossfaders or gateways. Several Sinks can be connected to one source.<br/>
</p>
<h2><a class="anchor" id="sourceattributes"></a>
Attributes</h2>
<ul>
<li><a class="el" href="structam_1_1am__SourceType__s.html" title="this type holds all information of sources relevant to the HMI ">am::am_SourceType_s</a> describes the attributes that are accessible from the AudioManagerCommandPlugins.<br/>
</li>
<li><a class="el" href="structam_1_1am__Source__s.html" title="This struct describes the attribiutes of a source. ">am::am_Source_s</a> describes the general attributes.<br/>
 </li>
</ul>
<h1><a class="anchor" id="sinks"></a>
Sinks</h1>
<p>This is where audio flows to, for examples amplifier, headphones. But sources can also be part of a building block that processes audio, examples are here crossfaders or gateways. Several Sources can be connected to one sink.<br/>
</p>
<h2><a class="anchor" id="sinkattributes"></a>
Attributes</h2>
<ul>
<li><a class="el" href="structam_1_1am__SinkType__s.html" title="this type holds all information of sinks relevant to the HMI ">am::am_SinkType_s</a> describes the attribiutes that are accessible form the AudioManagerCommandPlugins.<br/>
</li>
<li><a class="el" href="structam_1_1am__Sink__s.html" title="This struct describes the attribiutes of a sink. ">am::am_Sink_s</a> describes the general attributes.<br/>
 </li>
</ul>
<h1><a class="anchor" id="gw"></a>
Gateways</h1>
<p>Gateways are described here: <a class="el" href="architecturepage.html#gateway">Gateway</a> A specialitry of a gateways is the convertionmatrix. It indicates which sinksoundformats can be transferred in which sourcesoundformats. A convertion matrix looks like this: </p>
<div class="image">
<img src="GatewayMatrix.png" alt="GatewayMatrix.png"/>
</div>
 <h2><a class="anchor" id="gwattributes"></a>
Attributes</h2>
<ul>
<li><a class="el" href="structam_1_1am__Gateway__s.html" title="This struct describes the attributes of a gateway. ">am::am_Gateway_s</a> describe the attribiutes of a gateway<br/>
 </li>
</ul>
<h1><a class="anchor" id="crossfaders"></a>
Crossfaders</h1>
<p>Cross-faders are special elements that can perform cross-fading between two sources connected to the sinks of the crossfader. The audio of either source or both (mixed, during the fade) is put out at the source of the fader. Cross-fading within a source (for example from one song to another) is out of scope audio management and must be performed in the source.<br/>
 A crossfader has two sinks and one source, where one sink is the "hot" one. It is in the duty of the AudioManagerController to connect the correct sources to the sinks in order to perform a cross-fade. When fading is started, the hotSink changes from either HS_SINKA or HS_SINKB to HS_INTERMEDIATE, when the fading is finished, it changes to HS_SINKA or HS_SINKB (the sink that was "cold" before).Fading itself is done in the RoutingAdapters, the implementation has to ensure the smooth and synchronous change of volumes. With different rampTypes, different kinds of cross-fade ramps can be supported. The actual status of the "hot" sink is reported by the routingAdapter. Care has to be taken that the correct "hot" end of the crossfader is given at registration time.<br/>
</p>
<h2><a class="anchor" id="cfattributes"></a>
Attributes</h2>
<ul>
<li><a class="el" href="structam_1_1am__Crossfader__s.html" title="This struct describes the attribiutes of a crossfader. ">am::am_Crossfader_s</a> describes the attribiutes of a Crossfader </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Sep 30 2016 14:27:22 for AudioManager by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>