summaryrefslogtreecommitdiffstats
path: root/Graphic_Equalizer_Original_Port/doc/html/eventhandler_8hcc-source.html
blob: f6433b3ccb3a9fd3236e5d691aa9636d5320b020 (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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Graphic Equalizer 2: C:/Project  Marcel &amp; Oliver/Graphic_Equalizer/src/eventhandler.hcc Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.9.1 -->
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">C:</a>&nbsp;/&nbsp;<a class="el" href="dir_000001.html">Project  Marcel &amp; Oliver</a>&nbsp;/&nbsp;<a class="el" href="dir_000002.html">Graphic_Equalizer</a>&nbsp;/&nbsp;<a class="el" href="dir_000004.html">src</a></div>
<h1>eventhandler.hcc</h1><a href="eventhandler_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 
00021 <span class="comment">/******** System Includes *************/</span>
00022 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
00023 
00024 <span class="preprocessor">#include "pal_master.hch"</span>
00025 
00026 <span class="comment">/******** Application Includes ********/</span>
00027 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
00028 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
00029 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span>
00030 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span>
00031 <span class="preprocessor">#include "<a class="code" href="eventhandler_8hch.html">eventhandler.hch</a>"</span>
00032 <span class="preprocessor">#include "<a class="code" href="events_8hch.html">events.hch</a>"</span>
00033 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span>
00034 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span>
00035 
00036 <span class="preprocessor">#if HAVE_DEBUG</span>
00037 <span class="preprocessor"></span><span class="preprocessor">        #include "debug.hch"</span>
00038 <span class="preprocessor">#endif</span>
00039 <span class="preprocessor"></span>
00040 
00041 
00042 <span class="comment">/*</span>
00043 <span class="comment"> */</span>
00044 <span class="keyword">extern</span> chan <span class="keywordtype">unsigned</span> 1 maskupdate_notification;
00045 
00046 
00047 
<a name="l00059"></a><a class="code" href="eventhandler_8hcc.html#a2">00059</a> <span class="keywordtype">void</span> <a class="code" href="eventhandler_8hcc.html#a2">eventhandler_main</a>(<a class="code" href="structaudiodata__t.html">audiodata_t</a> *audiodata, <a class="code" href="structevents__t.html">events_t</a> *events, <a class="code" href="structmousedata__t.html">mousedata_t</a> *mousedata) {
00060         mpram {
00061                 ram <span class="keywordtype">unsigned</span> 4 write[768];      
00062                 rom <span class="keywordtype">unsigned</span> 4 read[768];       
00063         } equalizer_levels with { block = <span class="stringliteral">"BlockRAM"</span>};
00064 
00065         <span class="keywordtype">unsigned</span> 10 preset_offset;
00066         <span class="keywordtype">unsigned</span> 10 reference_point, reference_point_right;
00067         <span class="keywordtype">unsigned</span> 5 volume_left;
00068         <span class="keywordtype">unsigned</span> 4 index_offset, index_end;
00069         <span class="keywordtype">unsigned</span> 4 equalizer_mode_local;
00070         <span class="keywordtype">unsigned</span> 1 newmaskupdate;
00071 
00072         <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a1">LOAD_PRESET_RESET</a>, equalizer_levels.write);
00073         <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &amp;equalizer_levels.write[preset_offset]);
00074 
00075         <span class="keywordflow">while</span> (TRUE) {
00076                 <a class="code" href="display_8hcc.html#a1">maskupdate_notification</a> ? newmaskupdate;
00077 
00078                 <span class="comment">/*</span>
00079 <span class="comment">                 * First we determine what mousestate we currently have. Then</span>
00080 <span class="comment">                 * we check where we are to decide what to do.</span>
00081 <span class="comment">                 */</span>
00082                 <span class="keywordflow">switch</span> (mousedata-&gt;<a class="code" href="structmousedata__t.html#o2">state</a>) {
00083                         <span class="keywordflow">case</span> <a class="code" href="mouse__shared_8hch.html#a4">MOUSE_STATE_ON_PRESS</a>:
00084                                 <span class="comment">/*</span>
00085 <span class="comment">                                 * If we are displaying the graphic visual,</span>
00086 <span class="comment">                                 * any press returns to the application.</span>
00087 <span class="comment">                                 */</span>
00088                                 <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> == events-&gt;<a class="code" href="structevents__t.html#o4">mode</a>) {
00089                                         events-&gt;<a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN;
00090                                         events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> = 0;
00091                                 } <span class="keywordflow">else</span> {
00092                                         delay;
00093                                 }
00094 
00095                                 <span class="comment">/*</span>
00096 <span class="comment">                                 */</span>
00097                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a19">BUTTON_MODE</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00098                                         <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a3">MODE_GRAPH</a> == events-&gt;<a class="code" href="structevents__t.html#o4">mode</a>) {
00099                                                 events-&gt;<a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN;
00100                                         } <span class="keywordflow">else</span> {
00101                                                 events-&gt;<a class="code" href="structevents__t.html#o4">mode</a> = MODE_GRAPH;
00102                                         }
00103                                 } <span class="keywordflow">else</span> {
00104                                         delay;
00105                                 }
00106 
00107                                 <span class="comment">/*</span>
00108 <span class="comment">                                 * If the current mask equals the help button</span>
00109 <span class="comment">                                 * we set display mode to help.</span>
00110 <span class="comment">                                 */</span>
00111                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a18">BUTTON_HELP</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00112                                         <span class="comment">/*</span>
00113 <span class="comment">                                         * Change the mode to help if it's</span>
00114 <span class="comment">                                         * currently not set, otherwise go back</span>
00115 <span class="comment">                                         * to skin mode.</span>
00116 <span class="comment">                                         */</span>
00117                                         <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a2">MODE_HELP</a> == events-&gt;<a class="code" href="structevents__t.html#o4">mode</a>) {
00118                                                 events-&gt;<a class="code" href="structevents__t.html#o4">mode</a> = MODE_SKIN;
00119                                         } <span class="keywordflow">else</span> {
00120                                                 events-&gt;<a class="code" href="structevents__t.html#o4">mode</a> = MODE_HELP;
00121                                         }
00122                                 } <span class="keywordflow">else</span> {
00123                                         delay;
00124                                 }
00125 
00126                                 <span class="comment">/*</span>
00127 <span class="comment">                                 * The Preset buttons span from 1 to 6 so if</span>
00128 <span class="comment">                                 * the mask one of those, we'll change the</span>
00129 <span class="comment">                                 * pointer to point to the current preset.</span>
00130 <span class="comment">                                 */</span>
00131                                 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a7">BUTTON_PRESET_1</a> &lt;= events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) &amp;&amp; (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> &lt;= BUTTON_PRESET_6)) {
00132                                         <span class="comment">/*</span>
00133 <span class="comment">                                         * The active preset is determined by</span>
00134 <span class="comment">                                         * the mask minus an offset. Hence</span>
00135 <span class="comment">                                         * ranging our active preset from 0 to</span>
00136 <span class="comment">                                         * 6.</span>
00137 <span class="comment">                                         */</span>
00138                                         events-&gt;<a class="code" href="structevents__t.html#o1">active_preset</a> = 0 @ (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> -BUTTON_PRESET_1);
00139                                         <span class="comment">/*</span>
00140 <span class="comment">                                         * Each equalizer is 128 bands wide,</span>
00141 <span class="comment">                                         * thus we need to add 128 * the preset</span>
00142 <span class="comment">                                         * for each different preset. This</span>
00143 <span class="comment">                                         * offset is calculated here.</span>
00144 <span class="comment">                                         */</span>
00145                                         preset_offset = events-&gt;<a class="code" href="structevents__t.html#o1">active_preset</a> &lt;&lt; 7;
00146                                         <span class="comment">/*</span>
00147 <span class="comment">                                         * We set the pointer to the active</span>
00148 <span class="comment">                                         * part of the array by using the</span>
00149 <span class="comment">                                         * preset offset as our index. Hence</span>
00150 <span class="comment">                                         * depending on the selected preset</span>
00151 <span class="comment">                                         * we point to 0, 128, 256, 384, 512</span>
00152 <span class="comment">                                         * or 640.</span>
00153 <span class="comment">                                         */</span>
00154                                         audiodata-&gt;<a class="code" href="structaudiodata__t.html#o0">equalizer_levels_ptr</a> = &amp;equalizer_levels.read[preset_offset];
00155                                         <span class="comment">/*</span>
00156 <span class="comment">                                         * Finally update the equalizer bars</span>
00157 <span class="comment">                                         * that are drawn by the display.</span>
00158 <span class="comment">                                         */</span>
00159                                         <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &amp;equalizer_levels.write[preset_offset]);
00160                                 } <span class="keywordflow">else</span> {
00161                                         delay;
00162                                 }
00163 
00164                                 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a15">BUTTON_PRECISE</a> &lt;= events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) &amp;&amp; (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> &lt;= BUTTON_CONVEX_FULL)) {
00165                                         events-&gt;<a class="code" href="structevents__t.html#o5">equalizer_mode</a> = (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> -BUTTON_PRECISE) &lt;-4;
00166                                 } <span class="keywordflow">else</span> {
00167                                         delay;
00168                                 }
00169 
00170                                 <span class="comment">/*</span>
00171 <span class="comment">                                 * If the demo button was pressed load the</span>
00172 <span class="comment">                                 * demo preset values into the presets.</span>
00173 <span class="comment">                                 */</span>
00174                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a5">BUTTON_DEMO</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00175                                         <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a2">LOAD_PRESET_DEMO</a>, equalizer_levels.write);
00176                                         <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &amp;equalizer_levels.write[preset_offset]);
00177                                 }
00178 
00179                                 <span class="comment">/*</span>
00180 <span class="comment">                                 * If the reset button was pressed load the</span>
00181 <span class="comment">                                 * reset values into the presets.</span>
00182 <span class="comment">                                 */</span>
00183                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a6">BUTTON_RESET</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00184                                         <a class="code" href="events_8hcc.html#a3">load_preset</a>(<a class="code" href="eventhandler_8hch.html#a1">LOAD_PRESET_RESET</a>, equalizer_levels.write);
00185                                         <a class="code" href="display_8hcc.html#a3">reload_equalizer</a>(events, &amp;equalizer_levels.write[preset_offset]);
00186                                 }
00187 
00188                                 <span class="comment">/*</span>
00189 <span class="comment">                                 * If the current mask equals the log button,</span>
00190 <span class="comment">                                 * we flip the display_log bit.</span>
00191 <span class="comment">                                 */</span>
00192                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a4">BUTTON_LOG</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00193                                         audiodata-&gt;<a class="code" href="structaudiodata__t.html#o1">display_log</a> = !audiodata-&gt;<a class="code" href="structaudiodata__t.html#o1">display_log</a>;
00194                                 } <span class="keywordflow">else</span> {
00195                                         delay;
00196                                 }
00197 
00198                                 <span class="keywordflow">break</span>;
00199 
00200                         <span class="keywordflow">case</span> <a class="code" href="mouse__shared_8hch.html#a5">MOUSE_STATE_DOWN</a>:
00201                                 <span class="comment">/*</span>
00202 <span class="comment">                                 * If we are in the volume area we update the</span>
00203 <span class="comment">                                 * volume level for both channels.</span>
00204 <span class="comment">                                 */</span>
00205                                 <span class="keywordflow">if</span> (<a class="code" href="display__shared_8hch.html#a2">AREA_VOLUME_YAXIS</a> == events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) {
00206                                         <span class="comment">/*</span>
00207 <span class="comment">                                         * Copy the current Y cursor position</span>
00208 <span class="comment">                                         * to the events struct. This we then</span>
00209 <span class="comment">                                         * later use for drawing purposes.</span>
00210 <span class="comment">                                         */</span>
00211                                         events-&gt;<a class="code" href="structevents__t.html#o2">volume_position</a> = 0 @ mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a>;
00212                                         <span class="comment">/*</span>
00213 <span class="comment">                                         * Look the relative y-coordinate up in</span>
00214 <span class="comment">                                         * the volumecontrol lookup table. We</span>
00215 <span class="comment">                                         * make a local copy here because the</span>
00216 <span class="comment">                                         * RC200 call doesn't behave nicely</span>
00217 <span class="comment">                                         * when passing anything else.</span>
00218 <span class="comment">                                         */</span>
00219                                         volume_left = <a class="code" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a>[((mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a>) -65) &lt;- 6];
00220                                         <span class="comment">/*</span>
00221 <span class="comment">                                         * We feel that volume gets softer the</span>
00222 <span class="comment">                                         * closer it gets to the 0, and louder</span>
00223 <span class="comment">                                         * as it approaches 0x1f. The SetVolume</span>
00224 <span class="comment">                                         * RC200 call does this in an unnatural</span>
00225 <span class="comment">                                         * reverse way. Therefor we fix it.</span>
00226 <span class="comment">                                         */</span>
00227                                         RC200AudioOutSetVolume(!volume_left, 0x1f -volume_left, 0x1f -volume_left);
00228                                 } <span class="keywordflow">else</span> {
00229                                         delay;
00230                                 }
00231 
00232                                 <span class="keywordflow">if</span> ((<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> &lt;= events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) &amp;&amp; (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> &lt;= AREA_EQUALIZER_MAX)) {
00233 
00234                                         <span class="keywordflow">if</span> (<a class="code" href="eventhandler__shared_8hch.html#a6">EQUALIZERMODE_PRECISE</a> == events-&gt;<a class="code" href="structevents__t.html#o5">equalizer_mode</a>) {
00235                                                 events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE;
00236                                                 equalizer_levels.write[preset_offset +(0 @ events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>) -AREA_EQUALIZER_MIN] = <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a> -382];
00237                                                 events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> -AREA_EQUALIZER_MIN) &lt;- 7] = mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a>;
00238                                                 events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE;
00239                                         } <span class="keywordflow">else</span> {
00240                                                 
00241                                                 equalizer_mode_local = events-&gt;<a class="code" href="structevents__t.html#o5">equalizer_mode</a> +1;
00242 
00243                                                 events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE;
00244                                                 index_offset = ((equalizer_mode_local &lt;&lt; 1)); <span class="comment">/* delay; */</span>
00245 
00246                                                 <span class="keywordflow">if</span> (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> &lt; (<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> +(0 @ equalizer_mode_local))) {
00247                                                         reference_point = events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[<a class="code" href="display__shared_8hch.html#a20">AREA_EQUALIZER_MIN</a> -AREA_EQUALIZER_MIN];
00248                                                         index_offset -= (((0 @ equalizer_mode_local) -(events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> -AREA_EQUALIZER_MIN)) &lt;- 4);
00249                                                 } <span class="keywordflow">else</span> {
00250                                                         reference_point = events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> - (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) &lt;- 7];
00251                                                         index_offset -= 1;
00252                                                 }
00253 
00254                                                 <span class="keywordflow">if</span> (events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> &gt; (<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -(0 @ equalizer_mode_local))) {
00255                                                         reference_point_right = events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -AREA_EQUALIZER_MIN];
00256                                                         index_end = (((0 @ equalizer_mode_local) -(<a class="code" href="display__shared_8hch.html#a21">AREA_EQUALIZER_MAX</a> -events-&gt;<a class="code" href="structevents__t.html#o3">mask</a>)) &lt;- 4) -1;
00257                                                 } <span class="keywordflow">else</span> {
00258                                                         reference_point_right = events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[(events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> + (0 @ equalizer_mode_local) -AREA_EQUALIZER_MIN) &lt;- 7];
00259                                                         index_end = 0;
00260                                                 }
00261                                                 events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE;
00262 
00263                                                 <span class="keywordflow">for</span> (; index_offset != index_end; index_offset--) {
00264                                                         <span class="keywordtype">unsigned</span> 10 average_bar;
00265                                                         <span class="keywordtype">unsigned</span> 7 equalizer_index;
00266                                                         <span class="keywordtype">unsigned</span> 4 bar_index;
00267                                                         
00268                                                         <span class="keywordflow">if</span> (index_offset == equalizer_mode_local) {
00269                                                                 reference_point = reference_point_right;
00270                                                         } <span class="keywordflow">else</span> {
00271                                                                 delay;
00272                                                         }
00273 
00274                                                         <span class="keywordflow">if</span> (index_offset &gt; equalizer_mode_local) 
00275                                                         {
00276                                                                 bar_index = (index_offset -equalizer_mode_local);                       
00277                                                                 equalizer_index = ((events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> -(0 @ bar_index) -AREA_EQUALIZER_MIN) &lt;- 7);
00278                                                         } <span class="keywordflow">else</span> 
00279                                                         {
00280                                                                 bar_index = (equalizer_mode_local -index_offset);
00281                                                                 equalizer_index = ((events-&gt;<a class="code" href="structevents__t.html#o3">mask</a> +(0 @ bar_index) -AREA_EQUALIZER_MIN) &lt;- 7);   
00282                                                         }
00283 
00284                                                         <span class="keywordflow">if</span> (reference_point &gt; mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a>) {
00285                                                                 average_bar = mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a> +((reference_point -mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a>) &gt;&gt; (equalizer_mode_local -bar_index));
00286                                                         } <span class="keywordflow">else</span> {
00287                                                                 average_bar = mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a> -((mousedata-&gt;<a class="code" href="structmousedata__t.html#o1">y</a> -reference_point) &gt;&gt; (equalizer_mode_local -bar_index));
00288                                                         }
00289                                                                                                         
00290                                                         events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = TRUE;
00291                                                         equalizer_levels.write[preset_offset +(0 @ equalizer_index)] = <a class="code" href="eventhandler__shared_8hch.html#a8">equalizer_table</a>[average_bar -382];
00292                                                         events-&gt;<a class="code" href="structevents__t.html#o0">equalizer_display</a>[equalizer_index] = average_bar;
00293                                                         events-&gt;<a class="code" href="structevents__t.html#o6">locked_display</a> = FALSE;                                         
00294                                                 }
00295                                         }
00296                                 } <span class="keywordflow">else</span> {
00297                                         delay;
00298                                 }
00299 
00300                                 <span class="keywordflow">break</span>;
00301 
00302                         <span class="keywordflow">default</span>:
00303                                 <span class="keywordflow">break</span>;
00304                 }
00305         }
00306 } <span class="comment">/* --- eventhandler_main() --- */</span>
00307 
00308 
00309 
00310 <span class="comment">/*</span>
00311 <span class="comment"> * Volume Control lookuptable.</span>
00312 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span>
00313 <span class="comment"> * should be dynamically loaded.</span>
00314 <span class="comment"> */</span>
<a name="l00315"></a><a class="code" href="eventhandler_8hcc.html#a1">00315</a> rom <span class="keywordtype">unsigned</span> 5 <a class="code" href="eventhandler__shared_8hch.html#a7">volumecontrol_table</a>[46] = {31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24,  24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0};
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 9 14:37:06 2004 for Graphic Equalizer 2 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
</body>
</html>