summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html76
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hcc-source.html69
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hcc.html190
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hcc__incl.map3
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hcc__incl.pngbin0 -> 1800 bytes
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hch-source.html84
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hch.html190
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map7
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/audio_8hch__dep__incl.pngbin0 -> 2183 bytes
-rw-r--r--Graphic_Equalizer/doc/html/configuration_8hch-source.html113
-rw-r--r--Graphic_Equalizer/doc/html/configuration_8hch.html49
-rw-r--r--Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map10
-rw-r--r--Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.pngbin0 -> 3114 bytes
-rw-r--r--Graphic_Equalizer/doc/html/dir_000000.html20
-rw-r--r--Graphic_Equalizer/doc/html/dir_000001.html20
-rw-r--r--Graphic_Equalizer/doc/html/dir_000002.html22
-rw-r--r--Graphic_Equalizer/doc/html/dir_000003.html44
-rw-r--r--Graphic_Equalizer/doc/html/dir_000004.html36
-rw-r--r--Graphic_Equalizer/doc/html/display_8hcc-source.html319
-rw-r--r--Graphic_Equalizer/doc/html/display_8hcc.html186
-rw-r--r--Graphic_Equalizer/doc/html/display_8hcc__incl.map7
-rw-r--r--Graphic_Equalizer/doc/html/display_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/display_8hcc__incl.pngbin0 -> 3327 bytes
-rw-r--r--Graphic_Equalizer/doc/html/display_8hch-source.html48
-rw-r--r--Graphic_Equalizer/doc/html/display_8hch.html118
-rw-r--r--Graphic_Equalizer/doc/html/display_8hch__dep__incl.map5
-rw-r--r--Graphic_Equalizer/doc/html/display_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/display_8hch__dep__incl.pngbin0 -> 1808 bytes
-rw-r--r--Graphic_Equalizer/doc/html/display__shared_8hch-source.html63
-rw-r--r--Graphic_Equalizer/doc/html/display__shared_8hch.html44
-rw-r--r--Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map5
-rw-r--r--Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.pngbin0 -> 1911 bytes
-rw-r--r--Graphic_Equalizer/doc/html/doxygen.css271
-rw-r--r--Graphic_Equalizer/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html277
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc.html131
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map9
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.pngbin0 -> 4001 bytes
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map3
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md51
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.pngbin0 -> 1043 bytes
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch-source.html32
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch.html115
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map3
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.pngbin0 -> 1084 bytes
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map3
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md51
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.pngbin0 -> 1043 bytes
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html71
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html45
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map6
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.pngbin0 -> 2233 bytes
-rw-r--r--Graphic_Equalizer/doc/html/events_8hcc-source.html74
-rw-r--r--Graphic_Equalizer/doc/html/events_8hcc.html108
-rw-r--r--Graphic_Equalizer/doc/html/events_8hcc__incl.map4
-rw-r--r--Graphic_Equalizer/doc/html/events_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/events_8hcc__incl.pngbin0 -> 2290 bytes
-rw-r--r--Graphic_Equalizer/doc/html/events_8hch-source.html29
-rw-r--r--Graphic_Equalizer/doc/html/events_8hch.html102
-rw-r--r--Graphic_Equalizer/doc/html/events_8hch__dep__incl.map3
-rw-r--r--Graphic_Equalizer/doc/html/events_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/events_8hch__dep__incl.pngbin0 -> 1024 bytes
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc-source.html436
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc.html225
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc__incl.map4
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc__incl.pngbin0 -> 2814 bytes
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map2
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md51
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.pngbin0 -> 522 bytes
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map2
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md51
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.pngbin0 -> 560 bytes
-rw-r--r--Graphic_Equalizer/doc/html/fft_8hch-source.html22
-rw-r--r--Graphic_Equalizer/doc/html/files.html36
-rw-r--r--Graphic_Equalizer/doc/html/ftv2blank.pngbin0 -> 174 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2doc.pngbin0 -> 255 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2folderclosed.pngbin0 -> 259 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2folderopen.pngbin0 -> 261 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2lastnode.pngbin0 -> 233 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2link.pngbin0 -> 358 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2mlastnode.pngbin0 -> 160 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2mnode.pngbin0 -> 194 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2node.pngbin0 -> 235 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2plastnode.pngbin0 -> 165 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2pnode.pngbin0 -> 200 bytes
-rw-r--r--Graphic_Equalizer/doc/html/ftv2vertline.pngbin0 -> 229 bytes
-rw-r--r--Graphic_Equalizer/doc/html/globals.html30
-rw-r--r--Graphic_Equalizer/doc/html/globals_func.html30
-rw-r--r--Graphic_Equalizer/doc/html/graph_legend.dot22
-rw-r--r--Graphic_Equalizer/doc/html/graph_legend.html74
-rw-r--r--Graphic_Equalizer/doc/html/graph_legend.pngbin0 -> 3938 bytes
-rw-r--r--Graphic_Equalizer/doc/html/index.html8
-rw-r--r--Graphic_Equalizer/doc/html/main.html14
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc-source.html164
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc.html122
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc__incl.map12
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc__incl.pngbin0 -> 4132 bytes
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map10
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md51
-rw-r--r--Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.pngbin0 -> 3634 bytes
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hcc-source.html116
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hcc.html99
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hcc__incl.map4
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hcc__incl.pngbin0 -> 2471 bytes
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hch-source.html38
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hch.html92
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map3
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.pngbin0 -> 909 bytes
-rw-r--r--Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html53
-rw-r--r--Graphic_Equalizer/doc/html/mouse__shared_8hch.html45
-rw-r--r--Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map6
-rw-r--r--Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.pngbin0 -> 2211 bytes
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hcc-source.html166
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hcc.html45
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hcc__incl.map2
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hcc__incl.pngbin0 -> 1484 bytes
-rw-r--r--Graphic_Equalizer/doc/html/runfft_8hch-source.html15
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hcc-source.html78
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hcc.html182
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hcc__incl.map2
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hcc__incl.pngbin0 -> 568 bytes
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hch-source.html37
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hch.html89
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map2
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/sample_8hch__dep__incl.pngbin0 -> 568 bytes
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html215
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hcc.html149
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map8
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.pngbin0 -> 3733 bytes
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hch-source.html62
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hch.html135
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map3
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md51
-rw-r--r--Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.pngbin0 -> 1047 bytes
-rw-r--r--Graphic_Equalizer/doc/html/tree.html143
-rw-r--r--Graphic_Equalizer/doc/html/weights__256_8hch-source.html278
-rw-r--r--Graphic_Equalizer/include/mouse.hch2
-rw-r--r--Graphic_Equalizer/include/mouse_shared.hch2
-rw-r--r--Graphic_Equalizer/include/sample.hch40
-rw-r--r--Graphic_Equalizer/src/audio.hcc42
-rw-r--r--Graphic_Equalizer/src/display.hcc21
-rw-r--r--Graphic_Equalizer/src/eventhandler.hcc9
-rw-r--r--Graphic_Equalizer/src/events.hcc9
-rw-r--r--Graphic_Equalizer/src/main.hcc3
-rw-r--r--Graphic_Equalizer/src/mouse.hcc6
-rw-r--r--Graphic_Equalizer/src/sample.hcc106
-rw-r--r--Graphic_Equalizer/src/smartmedia.hcc6
163 files changed, 6369 insertions, 197 deletions
diff --git a/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html
new file mode 100644
index 0000000..3167eee
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_2main_8hcc-source.html
@@ -0,0 +1,76 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/audio/main.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="files.html">File&nbsp;List</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>&nbsp;/&nbsp;<a class="el" href="dir_000005.html">audio</a></div>
+<h1>main.hcc</h1><div class="fragment"><pre class="fragment">00001
+00020 <span class="comment">/*</span>
+00021 <span class="comment"> * Set the Clock rate for this domain. 50.0 Mhz is minimally required while</span>
+00022 <span class="comment"> * performing audio tasks.</span>
+00023 <span class="comment"> */</span>
+00024 <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 50000000</span>
+00025 <span class="preprocessor"></span>
+00026 <span class="comment">/******** System Includes *************/</span>
+00027 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00028
+00029 <span class="preprocessor">#include "pal_master.hch"</span>
+00030
+00031 <span class="comment">/******** Application Includes ********/</span>
+00032 <span class="preprocessor">#include "audiodriver.hch"</span>
+00033
+00034
+00035 <span class="comment">/*</span>
+00036 <span class="comment"> * Request Clockrate. Approximated ClockRate is compiler assigned.</span>
+00037 <span class="comment"> */</span>
+00038 <span class="keyword">static</span> macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00039
+00040
+00041
+00050 <span class="keywordtype">void</span> main(<span class="keywordtype">void</span>) {
+00051 <span class="comment">/* Setup Audio I/O Pointers */</span>
+00052 macro expr AudioIn = PalAudioInCT(0);
+00053 macro expr AudioOut = PalAudioOutCT(0);
+00054
+00055 <span class="comment">/*</span>
+00056 <span class="comment"> * Check library versions and Request VideoOutput.</span>
+00057 <span class="comment"> * We need at least Major Version 1 and minor version 2.</span>
+00058 <span class="comment"> */</span>
+00059 PalVersionRequire(1, 2);
+00060 PalAudioInRequire(1);
+00061 PalAudioOutRequire(1);
+00062
+00063 <span class="comment">/*</span>
+00064 <span class="comment"> * Run The Following main tasks in parallel.</span>
+00065 <span class="comment"> */</span>
+00066 par {
+00067 <span class="comment">/*</span>
+00068 <span class="comment"> * Primary task is to 'Run' several hardware simultaniously.</span>
+00069 <span class="comment"> * Audio I/O needs to be in sync.</span>
+00070 <span class="comment"> */</span>
+00071 PalAudioInRun(AudioIn, ClockRate);
+00072 PalAudioOutRun(AudioOut, ClockRate);
+00073
+00074 <span class="comment">/* Parallel to our Primary tasks we run the application. */</span>
+00075 seq {
+00076 <span class="comment">/* But first we need to enable and initialize the audio. */</span>
+00077 PalAudioInEnable(AudioIn);
+00078 PalAudioOutEnable(AudioOut);
+00079 audio_init(7, LINE_IN, SR_44100);
+00080 par {
+00081 <span class="comment">/*</span>
+00082 <span class="comment"> * From here we run the main audio loop.</span>
+00083 <span class="comment"> */</span>
+00084 audio_main();
+00085 }
+00086 }
+00087 }
+00088 } <span class="comment">/* --- main() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Nov 25 15:40:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/audio_8hcc-source.html b/Graphic_Equalizer/doc/html/audio_8hcc-source.html
new file mode 100644
index 0000000..cd71b7f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hcc-source.html
@@ -0,0 +1,69 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/audio.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="files.html">File&nbsp;List</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>audio.hcc</h1><a href="audio_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="comment">/******** System Includes *************/</span>
+00020 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00021
+00022 <span class="preprocessor">#include "pal_master.hch"</span>
+00023
+00024 <span class="comment">/******** Application Includes ********/</span>
+00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00026 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00027
+00028
+00029
+<a name="l00045"></a><a class="code" href="audio_8hcc.html#a0">00045</a> macro proc <a class="code" href="audio_8hcc.html#a0">audio_init</a>(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT) {
+00046 <span class="comment">/*</span>
+00047 <span class="comment"> * We simply call the appropiate handlers and pass values along. We</span>
+00048 <span class="comment"> * Don't set the mute on input gain. We have volume control to do this.</span>
+00049 <span class="comment"> * Input and Output sampling rates are equal. We dont' need different</span>
+00050 <span class="comment"> * rates.</span>
+00051 <span class="comment"> */</span>
+00052 RC200AudioInSetGain(FALSE, gain_level, gain_level);
+00053 RC200AudioInSetInput(input_source);
+00054 PalAudioInSetSampleRate(AUDIOIN, sample_rate);
+00055 PalAudioOutSetSampleRate(AUDIOOUT, sample_rate);
+00056 } <span class="comment">/* --- audio_init() --- */</span>
+00057
+00058
+00059 <span class="preprocessor">#if !USE_RUNFFT</span>
+00060 <span class="preprocessor"></span>
+<a name="l00075"></a><a class="code" href="audio_8hcc.html#a1">00075</a> macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT) {
+00076 <span class="comment">/*</span>
+00077 <span class="comment"> * Determin the data width for the current platform.</span>
+00078 <span class="comment"> */</span>
+00079 macro expr IW = PalAudioInGetMaxDataWidthCT();
+00080 macro expr OW = PalAudioOutGetMaxDataWidthCT();
+00081
+00082 <span class="keywordtype">signed</span> IW sample_left_in, sample_right_in;
+00083 <span class="keywordtype">signed</span> OW sample_left_out, sample_right_out;
+00084
+00085 <span class="keywordflow">while</span> (TRUE) {
+00086 PalAudioInRead(AUDIOIN, &amp;sample_left_in, &amp;sample_right_in);
+00087
+00088 <span class="comment">/* par {</span>
+00089 <span class="comment"> sample_add(sample_left_in);</span>
+00090 <span class="comment"> sample_get(&amp;sample_left_out);</span>
+00091 <span class="comment"> sample_right_out = sample_right_in;</span>
+00092 <span class="comment"> }</span>
+00093 <span class="comment"> if (rotate_samples()) {</span>
+00094 <span class="comment"> / *</span>
+00095 <span class="comment"> * 64 Samples have been processed, calculate.</span>
+00096 <span class="comment"> * /</span>
+00097 <span class="comment"> }</span>
+00098 <span class="comment">*/</span> PalAudioOutWrite(AUDIOOUT, (<span class="keywordtype">signed</span> OW)(sample_left_in @ 0), (<span class="keywordtype">signed</span> OW)(sample_right_in @ 0));
+00099 }
+00100 } <span class="comment">/* --- audio_main() --- */</span>
+00101 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/audio_8hcc.html b/Graphic_Equalizer/doc/html/audio_8hcc.html
new file mode 100644
index 0000000..968943b
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hcc.html
@@ -0,0 +1,190 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/audio.hcc File Reference</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="files.html">File&nbsp;List</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>audio.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+
+<p>
+Include dependency graph for audio.hcc:<p><center><img src="audio_8hcc__incl.png" border="0" usemap="#audio.hcc_map" alt="Include dependency graph"></center>
+<map name="audio.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt="">
+</map>
+
+<p>
+<a href="audio_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html#a0">audio_init</a> (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set some inital values to the audio hardware. <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html#a1">audio_main</a> (audiodata, AUDIOIN, AUDIOOUT)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. <a href="#a1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: <br>
+ Initial version
+<p>
+Definition in file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a0" doxytag="audio.hcc::audio_init"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">macro proc audio_init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">gain_level&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>input_source&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>sample_rate&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOIN&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOOUT&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set some inital values to the audio hardware.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>gain_level</em>&nbsp;</td><td>Set the input amplifier to this amplification level. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>input_source</em>&nbsp;</td><td>Choose between microphone input or linein input. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sample_rate</em>&nbsp;</td><td>Set the sample rate between 8000 and 48000</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="audio_8hcc-source.html#l00045">45</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a1" doxytag="audio.hcc::audio_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">macro proc audio_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">audiodata&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOIN&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOOUT&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>pointer to audio information structure. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>AUDIOIN</em>&nbsp;</td><td>Audio Input Handler </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>AUDIOOUT</em>&nbsp;</td><td>Audio Output Handler</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="audio_8hcc-source.html#l00075">75</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.map b/Graphic_Equalizer/doc/html/audio_8hcc__incl.map
new file mode 100644
index 0000000..94afea9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hcc__incl.map
@@ -0,0 +1,3 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
+rect $audio_8hch.html 394,7 474,34
diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5
new file mode 100644
index 0000000..a948416
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hcc__incl.md5
@@ -0,0 +1 @@
+c40d88d881278afd1ef70a3d20ec91ee \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/audio_8hcc__incl.png b/Graphic_Equalizer/doc/html/audio_8hcc__incl.png
new file mode 100644
index 0000000..36bd511
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/audio_8hch-source.html b/Graphic_Equalizer/doc/html/audio_8hch-source.html
new file mode 100644
index 0000000..8e26033
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hch-source.html
@@ -0,0 +1,84 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/audio.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>audio.hch</h1><a href="audio_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _AUDIO_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _AUDIO_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022 <span class="comment">/*</span>
+00023 <span class="comment"> * Type definition of the shared memory to be used in various processes</span>
+00024 <span class="comment"> */</span>
+00025 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+00026 mpram {
+00027 ram <span class="keywordtype">unsigned</span> 7 write[256];
+00028 rom <span class="keywordtype">unsigned</span> 7 read[256];
+00029 } fft_info with { block = <span class="stringliteral">"BlockRAM"</span>};
+00030 mpram {
+00031 ram <span class="keywordtype">unsigned</span> 6 write[256];
+00032 rom <span class="keywordtype">unsigned</span> 6 read[256];
+00033 } ifft_info with { block = <span class="stringliteral">"BlockRAM"</span>};
+00034 <span class="keywordtype">unsigned</span> 4 *equalizer_levels_ptr;
+00035 <span class="keywordtype">unsigned</span> 1 display_log;
+00036 } audiodata_t;
+00037
+00038
+00039
+00040
+00041 <span class="comment">/*</span>
+00042 <span class="comment"> * States used to indicate wether audio data is sampled.</span>
+00043 <span class="comment"> */</span>
+00044 <span class="preprocessor">#define AUDIO_NOT_READY 0</span>
+00045 <span class="preprocessor"></span><span class="preprocessor">#define AUDIO_READY 1</span>
+00046 <span class="preprocessor"></span>
+00047
+00048
+00049 <span class="comment">/*</span>
+00050 <span class="comment"> * Line in or Mic in aliases for audio_init.</span>
+00051 <span class="comment"> */</span>
+00052 <span class="preprocessor">#define LINE_IN RC200AudioInLineIn</span>
+00053 <span class="preprocessor"></span><span class="preprocessor">#define MIC_IN RC200AudioInMicrophone</span>
+00054 <span class="preprocessor"></span>
+00055
+00056
+00057 <span class="comment">/*</span>
+00058 <span class="comment"> * Sample Rate Aliases for audio_init.</span>
+00059 <span class="comment"> */</span>
+00060 <span class="preprocessor">#define SR_8000 RC200AudioSampleRate8000</span>
+00061 <span class="preprocessor"></span><span class="preprocessor">#define SR_11025 RC200AudioSampleRate11025</span>
+00062 <span class="preprocessor"></span><span class="preprocessor">#define SR_16000 RC200AudioSampleRate16000</span>
+00063 <span class="preprocessor"></span><span class="preprocessor">#define SR_22050 RC200AudioSampleRate22050</span>
+00064 <span class="preprocessor"></span><span class="preprocessor">#define SR_44100 RC200AudioSampleRate44100</span>
+00065 <span class="preprocessor"></span><span class="preprocessor">#define SR_48000 RC200AudioSampleRate48000</span>
+00066 <span class="preprocessor"></span>
+00067
+00068
+00069 <span class="comment">/*</span>
+00070 <span class="comment"> * Initialize the Audio sub-system. gain_level sets the internal amplifier to</span>
+00071 <span class="comment"> * passed level, input_source chooses between line in or mic in. The</span>
+00072 <span class="comment"> * sample_rate is set to supplied rate. Defines for these are mentioned above.</span>
+00073 <span class="comment"> */</span>
+00074 macro proc <a class="code" href="audio_8hcc.html#a0">audio_init</a>(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT);
+00075
+00076
+00077
+00078 <span class="comment">/*</span>
+00079 <span class="comment"> * Main audiodriver loop. This procedure never returns! It handles audio io and</span>
+00080 <span class="comment"> * updates the shared memory. It needs Audio I/O handlers passed.</span>
+00081 <span class="comment"> */</span>
+00082 macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT);
+00083
+00084 <span class="preprocessor">#else</span>
+00085 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file audio.hch multiple times included"</span>
+00086 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _AUDIO_HCH --- */</span>
+00087
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/audio_8hch.html b/Graphic_Equalizer/doc/html/audio_8hch.html
new file mode 100644
index 0000000..629afd7
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hch.html
@@ -0,0 +1,190 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/audio.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>audio.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="audio_8hch__dep__incl.png" border="0" usemap="#audio.hchdep_map" alt="Included by dependency graph"></center>
+<map name="audio.hchdep_map">
+<area href="audio_8hcc.html" shape="rect" coords="7,7,87,34" alt="">
+<area href="display_8hcc.html" shape="rect" coords="111,7,199,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="223,7,346,34" alt="">
+<area href="fft_8hcc.html" shape="rect" coords="370,7,429,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="453,7,527,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="551,7,669,34" alt="">
+</map>
+
+<p>
+<a href="audio_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a11">audio_init</a> (gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set some inital values to the audio hardware. <a href="#a11"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html#a12">audio_main</a> (audiodata, AUDIOIN, AUDIOOUT)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output. <a href="#a12"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041021 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041021: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="audio_8hch-source.html">audio.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a11" doxytag="audio.hch::audio_init"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">macro proc audio_init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">gain_level&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>input_source&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>sample_rate&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOIN&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOOUT&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Set some inital values to the audio hardware.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>gain_level</em>&nbsp;</td><td>Set the input amplifier to this amplification level. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>input_source</em>&nbsp;</td><td>Choose between microphone input or linein input. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>sample_rate</em>&nbsp;</td><td>Set the sample rate between 8000 and 48000</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="audio_8hcc-source.html#l00045">45</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a12" doxytag="audio.hch::audio_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">macro proc audio_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">audiodata&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOIN&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>AUDIOOUT&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Main audiodriver. This function never returns! It calls the audiohandlers and stores samples into a global array. Once 64 Samples are collected it raises a signal AUDIO_READY to let other processes know it's ready. We use quadruple buffering for audio input and double buffering for audio output.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>pointer to audio information structure. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>AUDIOIN</em>&nbsp;</td><td>Audio Input Handler </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>AUDIOOUT</em>&nbsp;</td><td>Audio Output Handler</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="audio_8hcc-source.html#l00075">75</a> of file <a class="el" href="audio_8hcc-source.html">audio.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map
new file mode 100644
index 0000000..13b9d0b
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.map
@@ -0,0 +1,7 @@
+base referer
+rect $audio_8hcc.html 7,7 87,34
+rect $display_8hcc.html 111,7 199,34
+rect $eventhandler_8hcc.html 223,7 346,34
+rect $fft_8hcc.html 370,7 429,34
+rect $main_8hcc.html 453,7 527,34
+rect $smartmedia_8hcc.html 551,7 669,34
diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5
new file mode 100644
index 0000000..b5bb099
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.md5
@@ -0,0 +1 @@
+47b49974e1875473dca8902c4d0a51aa \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png
new file mode 100644
index 0000000..13e726a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/audio_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/configuration_8hch-source.html b/Graphic_Equalizer/doc/html/configuration_8hch-source.html
new file mode 100644
index 0000000..511c82c
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/configuration_8hch-source.html
@@ -0,0 +1,113 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/configuration.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>configuration.hch</h1><a href="configuration_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _CONFIGURATION_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _CONFIGURATION_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022 <span class="comment">/*</span>
+00023 <span class="comment"> * To print debug information on the RS232 port set this define.</span>
+00024 <span class="comment"> */</span>
+00025 <span class="preprocessor">#define HAVE_DEBUG 1</span>
+00026 <span class="preprocessor"></span>
+00027
+00028
+00029 <span class="comment">/*</span>
+00030 <span class="comment"> * If we don't want to use the SmartMedia (and therefor fill the memory</span>
+00031 <span class="comment"> * with simple static data) set this to 0. Otherwise 1 will load the smartmedia</span>
+00032 <span class="comment"> * routines. To only load the mask and not the entire data set USE_MASK_ONLY to</span>
+00033 <span class="comment"> * 1. 0 will load all bitmaps.</span>
+00034 <span class="comment"> */</span>
+00035 <span class="preprocessor">#define HAVE_SMARTMEDIA 0</span>
+00036 <span class="preprocessor"></span><span class="preprocessor">#define USE_MASK_ONLY 0</span>
+00037 <span class="preprocessor"></span><span class="preprocessor">#define SKIP_LOAD 1</span>
+00038 <span class="preprocessor"></span>
+00039
+00040
+00041 <span class="comment">/*</span>
+00042 <span class="comment"> * Here we set the various sizes of the data in use. Do not round this values</span>
+00043 <span class="comment"> * in anyway! For example, 640 pixels times 480 pixels is 307200 (4b000) pixels</span>
+00044 <span class="comment"> * total.</span>
+00045 <span class="comment"> */</span>
+00046 <span class="preprocessor">#define SIZE_SKIN 0x04afff</span>
+00047 <span class="preprocessor"></span><span class="preprocessor">#define SIZE_HELP 0x04afff</span>
+00048 <span class="preprocessor"></span><span class="preprocessor">#define SIZE_GRAPH 0x04afff</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define SIZE_SKINMASK 0x018fff</span>
+00050 <span class="preprocessor"></span><span class="preprocessor">#define SIZE_HELPMASK 0x018fff</span>
+00051 <span class="preprocessor"></span><span class="preprocessor">#define SIZE_GRAPHMASK 0x018fff</span>
+00052 <span class="preprocessor"></span>
+00053 <span class="preprocessor">#define SIZE_PRESET 0x0001c0</span>
+00054 <span class="preprocessor"></span>
+00055
+00056
+00057 <span class="comment">/*</span>
+00058 <span class="comment"> * Here we setup the start and end address for the various components.</span>
+00059 <span class="comment"> */</span>
+00060 <span class="preprocessor">#define ADDRESS_SKIN_START 0x000000</span>
+00061 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_SKIN_END (ADDRESS_SKIN_START +SIZE_SKIN)</span>
+00062 <span class="preprocessor"></span>
+00063 <span class="preprocessor">#define ADDRESS_HELP_START 0x04b000</span>
+00064 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_HELP_END (ADDRESS_HELP_START +SIZE_HELP)</span>
+00065 <span class="preprocessor"></span>
+00066 <span class="preprocessor">#define ADDRESS_GRAPHMASK_START 0x096000</span>
+00067 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_GRAPHMASK_END (ADDRESS_GRAPHMASK_START +SIZE_GRAPH)</span>
+00068 <span class="preprocessor"></span>
+00069 <span class="preprocessor">#define ADDRESS_PRESET_DEMO_START 0x0e1000</span>
+00070 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_PRESET_DEMO_END (ADDRESS_PRESET_DEMO_START +SIZE_PRESET)</span>
+00071 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_PRESET_RESET_START 0x0e11c0</span>
+00072 <span class="preprocessor"></span><span class="preprocessor">#define ADDRESS_PRESET_RESET_END (ADDRESS_PRESET_RESET_START +SIZE_PRESET)</span>
+00073 <span class="preprocessor"></span>
+00074 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKIN_START 0x084000 </span><span class="comment">/* Block: 33 */</span>
+00075 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKINMASK_START 0x168000 </span><span class="comment">/* Block: 90 */</span>
+00076 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELP_START 0x1b4000 </span><span class="comment">/* Block: 109 */</span>
+00077 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELPMASK_START 0x298000 </span><span class="comment">/* Block: 166 */</span>
+00078 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_GRAPHMASK_START 0x2e4000 </span><span class="comment">/* Block: 185 */</span>
+00079
+00080 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_START 0x330000 </span><span class="comment">/* Block: 204 */</span>
+00081 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_RESET_START 0x340000 </span><span class="comment">/* Block: 205 */</span>
+00082
+00083 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKIN_END (SMARTMEDIA_ADDRESS_SKIN_START +(SIZE_SKIN *3))</span>
+00084 <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_SKINMASK_END (SMARTMEDIA_ADDRESS_SKINMASK_START +(SIZE_SKINMASK *3))</span>
+00085 <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELP_END (SMARTMEDIA_ADDRESS_HELP_START +(SIZE_HELP *3))</span>
+00086 <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_HELPMASK_END (SMARTMEDIA_ADDRESS_HELPMASK_START +(SIZE_HELPMASK *3))</span>
+00087 <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_GRAPHMASK_END (SMARTMEDIA_ADDRESS_GRAPHMASK_START +(SIZE_GRAPHMASK *3))</span>
+00088 <span class="preprocessor"></span>
+00089 <span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_DEMO_END (SMARTMEDIA_ADDRESS_PRESET_DEMO_START +(SIZE_PRESET))</span>
+00090 <span class="preprocessor"></span><span class="preprocessor">#define SMARTMEDIA_ADDRESS_PRESET_RESET_END (SMARTMEDIA_ADDRESS_PRESET_RESET_START +(SIZE_PRESET))</span>
+00091 <span class="preprocessor"></span>
+00092
+00093
+00094 <span class="comment">/*</span>
+00095 <span class="comment"> * FFT specific. TODO: Clean Up!</span>
+00096 <span class="comment"> */</span>
+00097 <span class="preprocessor">#define USE_RUNFFT 1</span>
+00098 <span class="preprocessor"></span><span class="preprocessor">#define HARDWARE_MULTIPLY 1</span>
+00099 <span class="preprocessor"></span><span class="preprocessor">#define NUMBER_OF_COLUMNS 8</span>
+00100 <span class="preprocessor"></span><span class="preprocessor">#define NUMBER_OF_POINTS (1&lt;&lt;NUMBER_OF_COLUMNS)</span>
+00101 <span class="preprocessor"></span><span class="preprocessor">#define NUMBER_OF_FREQUENCIES (NUMBER_OF_POINTS&gt;&gt;1)</span>
+00102 <span class="preprocessor"></span><span class="preprocessor">#define PERFORM_FFT_CALCULATION 1</span>
+00103 <span class="preprocessor"></span><span class="preprocessor">#define USE_UNSIGNED_AUDIO 0</span>
+00104 <span class="preprocessor"></span><span class="preprocessor">#define PRINT_DEBUG 0</span>
+00105 <span class="preprocessor"></span>
+00106 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00107 <span class="preprocessor"></span><span class="preprocessor">#define DC_COMPONENT 0</span>
+00108 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00109 <span class="preprocessor"></span><span class="preprocessor">#define DC_COMPONENT 8470527</span>
+00110 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00111 <span class="preprocessor"></span>
+00112 <span class="preprocessor">#else</span>
+00113 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file configuration.hch multiple times included"</span>
+00114 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _CONFIGURATION_HCH --- */</span>
+00115
+00116
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/configuration_8hch.html b/Graphic_Equalizer/doc/html/configuration_8hch.html
new file mode 100644
index 0000000..abebe05
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/configuration_8hch.html
@@ -0,0 +1,49 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/configuration.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>configuration.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="configuration_8hch__dep__incl.png" border="0" usemap="#configuration.hchdep_map" alt="Included by dependency graph"></center>
+<map name="configuration.hchdep_map">
+<area href="audio_8hcc.html" shape="rect" coords="7,7,87,34" alt="">
+<area href="display_8hcc.html" shape="rect" coords="111,7,199,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="223,7,346,34" alt="">
+<area href="events_8hcc.html" shape="rect" coords="370,7,455,34" alt="">
+<area href="fft_8hcc.html" shape="rect" coords="479,7,538,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="562,7,637,34" alt="">
+<area href="mouse_8hcc.html" shape="rect" coords="661,7,746,34" alt="">
+<area href="runfft_8hcc.html" shape="rect" coords="770,7,847,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="871,7,989,34" alt="">
+</map>
+
+<p>
+<a href="configuration_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041101 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041101: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="configuration_8hch-source.html">configuration.hch</a>.<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map
new file mode 100644
index 0000000..0c90433
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.map
@@ -0,0 +1,10 @@
+base referer
+rect $audio_8hcc.html 7,7 87,34
+rect $display_8hcc.html 111,7 199,34
+rect $eventhandler_8hcc.html 223,7 346,34
+rect $events_8hcc.html 370,7 455,34
+rect $fft_8hcc.html 479,7 538,34
+rect $main_8hcc.html 562,7 637,34
+rect $mouse_8hcc.html 661,7 746,34
+rect $runfft_8hcc.html 770,7 847,34
+rect $smartmedia_8hcc.html 871,7 989,34
diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5
new file mode 100644
index 0000000..64cf2d9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.md5
@@ -0,0 +1 @@
+0b1a3fcf1ab800e34bed7bf1922c4760 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png
new file mode 100644
index 0000000..6581c6e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/configuration_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/dir_000000.html b/Graphic_Equalizer/doc/html/dir_000000.html
new file mode 100644
index 0000000..26f6e06
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/dir_000000.html
@@ -0,0 +1,20 @@
+<!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: C:/ Directory Reference</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="files.html">File&nbsp;List</a> | <a class="qindex" href="globals.html">Globals</a></div>
+<div class="nav">
+<a class="el" href="dir_000000.html">C:</a></div>
+<h1>C: Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000001.html">Project Marcel &amp; Oliver</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/dir_000001.html b/Graphic_Equalizer/doc/html/dir_000001.html
new file mode 100644
index 0000000..2c63d9f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/dir_000001.html
@@ -0,0 +1,20 @@
+<!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: C:/Project Marcel &amp; Oliver/ Directory Reference</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="files.html">File&nbsp;List</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></div>
+<h1>Project Marcel &amp; Oliver Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000002.html">Graphic_Equalizer</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/dir_000002.html b/Graphic_Equalizer/doc/html/dir_000002.html
new file mode 100644
index 0000000..630b013
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/dir_000002.html
@@ -0,0 +1,22 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/ Directory Reference</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="files.html">File&nbsp;List</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></div>
+<h1>Graphic_Equalizer Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000003.html">include</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">directory&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000004.html">src</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/dir_000003.html b/Graphic_Equalizer/doc/html/dir_000003.html
new file mode 100644
index 0000000..99cf285
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/dir_000003.html
@@ -0,0 +1,44 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/ Directory Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>include Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Files</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hch.html">audio.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="configuration_8hch.html">configuration.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html">display.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display__shared_8hch.html">display_shared.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html">eventhandler.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hch.html">events.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>fft.hch</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html">mouse.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mouse__shared_8hch.html">mouse_shared.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>runfft.hch</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html">smartmedia.hch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><b>weights_256.hch</b></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/dir_000004.html b/Graphic_Equalizer/doc/html/dir_000004.html
new file mode 100644
index 0000000..dbee196
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/dir_000004.html
@@ -0,0 +1,36 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/ Directory Reference</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="files.html">File&nbsp;List</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>src Directory Reference</h1><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Files</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="audio_8hcc.html">audio.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html">display.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html">eventhandler.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html">events.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html">fft.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8hcc.html">main.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hcc.html">mouse.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="runfft_8hcc.html">runfft.hcc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html">smartmedia.hcc</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display_8hcc-source.html b/Graphic_Equalizer/doc/html/display_8hcc-source.html
new file mode 100644
index 0000000..e360065
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hcc-source.html
@@ -0,0 +1,319 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/display.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="files.html">File&nbsp;List</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>display.hcc</h1><a href="display_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="comment">/*</span>
+00020 <span class="comment"> * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.</span>
+00021 <span class="comment"> */</span>
+00022 <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 25175000</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="comment">/******** System Includes *************/</span>
+00025 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00026
+00027 <span class="preprocessor">#include "pal_master.hch"</span>
+00028
+00029 <span class="comment">/******** Application Includes ********/</span>
+00030 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00031 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00032 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span>
+00033 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span>
+00034 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span>
+00035 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span>
+00036
+00037 <span class="preprocessor">#if HAVE_DEBUG</span>
+00038 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span>
+00039 <span class="preprocessor">#endif</span>
+00040 <span class="preprocessor"></span>
+00041
+00042
+00043 <span class="comment">/*</span>
+00044 <span class="comment"> * Channel to notify others when new mousedata is available. If so</span>
+00045 <span class="comment"> * Then mousedata struct is updated with shared data.</span>
+00046 <span class="comment"> */</span>
+00047 chan <span class="keywordtype">unsigned</span> 1 maskupdate_notification;
+00048
+00049
+00050
+<a name="l00064"></a><a class="code" href="display_8hcc.html#a3">00064</a> <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a3">display_main</a>(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
+00065 <span class="comment">/*</span>
+00066 <span class="comment"> * Setup macro's RAM/Video handles and to coordinate pixel writing.</span>
+00067 <span class="comment"> */</span>
+00068 macro expr CLOCKRATE = PAL_ACTUAL_CLOCK_RATE;
+00069 macro expr VIDEOOUT = PalVideoOutOptimalCT(CLOCKRATE);
+00070 macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00071 macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00072 macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00073 macro expr VISIBLEX = PalVideoOutGetVisibleX(VIDEOOUT, CLOCKRATE);
+00074 macro expr TOTALX = PalVideoOutGetTotalX(VIDEOOUT, CLOCKRATE);
+00075 macro expr TOTALY = PalVideoOutGetTotalY(VIDEOOUT);
+00076 macro expr SCANX = PalVideoOutGetX(VIDEOOUT);
+00077 macro expr SCANY = PalVideoOutGetY(VIDEOOUT);
+00078
+00079 <span class="keywordtype">unsigned</span> DW pixeldata;
+00080 <span class="keywordtype">unsigned</span> 24 visual_graph_color;
+00081 <span class="keywordtype">unsigned</span> AW address, address_offset;
+00082
+00083 <span class="comment">/*</span>
+00084 <span class="comment"> * To draw something usefull when only drawing our mask, we simply draw the</span>
+00085 <span class="comment"> * mask itself. Thus creating a blueish image to help identify all interesting</span>
+00086 <span class="comment"> * area's on the screen. Otherwise we only use the last 24 bits, the RGB values</span>
+00087 <span class="comment"> * to draw on the screen.</span>
+00088 <span class="comment"> */</span>
+00089 <span class="preprocessor">#if (USE_MASK_ONLY &amp;&amp; HAVE_SMARTMEDIA)</span>
+00090 <span class="preprocessor"></span><span class="preprocessor">#define PIXEL (0 @ pixeldata[31:24])</span>
+00091 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00092 <span class="preprocessor"></span><span class="preprocessor">#define PIXEL (pixeldata &lt;- 24)</span>
+00093 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+00094 <span class="preprocessor"></span>
+00095 <span class="comment">/*</span>
+00096 <span class="comment"> * If the passed button_state tells us the button is active, then we</span>
+00097 <span class="comment"> * the button is 'on' and we draw it inverted. Otherwise we draw the</span>
+00098 <span class="comment"> * area of the button normally.</span>
+00099 <span class="comment"> */</span>
+00100 macro proc draw_button(button_state) {
+00101 <span class="keywordflow">if</span> (button_state == pixeldata[31:24]) {
+00102 PalVideoOutWrite(VIDEOOUT, ~PIXEL);
+00103 } <span class="keywordflow">else</span> {
+00104 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00105 }
+00106 }
+00107
+00108 <span class="comment">/*</span>
+00109 <span class="comment"> * Prime Rendering Pipeline to start where the skin starts.</span>
+00110 <span class="comment"> */</span>
+00111 PalPL2RAMSetReadAddress(RAM_BANK0, ADDRESS_SKIN_START);
+00112
+00113 <span class="comment">/*</span>
+00114 <span class="comment"> * Run the following tasks indefinatly and in parallel</span>
+00115 <span class="comment"> */</span>
+00116 <span class="keywordflow">while</span> (TRUE) {
+00117 par {
+00118 <span class="comment">/*</span>
+00119 <span class="comment"> * Before starting this loop we allready set the the</span>
+00120 <span class="comment"> * address. Therefor we can start reading the</span>
+00121 <span class="comment"> * previously set address and prepare the next address</span>
+00122 <span class="comment"> * for the next cycle.</span>
+00123 <span class="comment"> */</span>
+00124 PalPL2RAMRead(RAM_BANK0, &amp;pixeldata);
+00125 PalPL2RAMSetReadAddress(RAM_BANK0, address_offset +address);
+00126
+00127 <span class="comment">/*</span>
+00128 <span class="comment"> */</span>
+00129 <span class="keywordflow">switch</span> (events-&gt;mode) {
+00130 <span class="keywordflow">case</span> MODE_HELP:
+00131 address_offset = ADDRESS_HELP_START;
+00132 <span class="keywordflow">break</span>;
+00133 <span class="keywordflow">case</span> MODE_GRAPH:
+00134 address_offset = ADDRESS_GRAPHMASK_START;
+00135 <span class="keywordflow">break</span>;
+00136 <span class="keywordflow">default</span>:
+00137 address_offset = ADDRESS_SKIN_START;
+00138 <span class="keywordflow">break</span>;
+00139 }
+00140
+00141 <span class="keywordflow">if</span> (MODE_GRAPH == events-&gt;mode) {
+00142 par {
+00143 visual_graph_color = ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata-&gt;fft_info.read[pixeldata[31:24]]) &lt;&lt; 1) @ ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata-&gt;fft_info.read[pixeldata[31:24]]) &lt;&lt; -1) @ ((<span class="keywordtype">unsigned</span> 8)(0 @ audiodata-&gt;fft_info.read[pixeldata[31:24]]) &lt;&lt; 0);
+00144 PalVideoOutWrite(VIDEOOUT, 0 @ visual_graph_color);
+00145 }
+00146 } <span class="keywordflow">else</span> {
+00147 <span class="comment">/*</span>
+00148 <span class="comment"> * Determin what to draw where here. Every case has an</span>
+00149 <span class="comment"> * if else statement comparing wether to draw something</span>
+00150 <span class="comment"> * special or the background. Every specific drawing</span>
+00151 <span class="comment"> * obviously only happens in the masked area.</span>
+00152 <span class="comment"> */</span>
+00153 <span class="keywordflow">switch</span> (pixeldata[31:24]) {
+00154 <span class="comment">/*</span>
+00155 <span class="comment"> */</span>
+00156 <span class="keywordflow">case</span> AREA_WAVEFORM:
+00157 <span class="keywordflow">if</span> (SCANY == 0 @ skindata-&gt;area_waveform_bottom -(0 @ (audiodata-&gt;ifft_info.read[((SCANX -(0 @ skindata-&gt;area_waveform_left)) &lt;-8)]))) {
+00158 PalVideoOutWrite(VIDEOOUT, skindata-&gt;color_area_waveform);
+00159 } <span class="keywordflow">else</span> {
+00160 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00161 }
+00162 <span class="keywordflow">break</span>;
+00163
+00164 <span class="comment">/*</span>
+00165 <span class="comment"> * Volume control over the Y-axis.</span>
+00166 <span class="comment"> */</span>
+00167 <span class="keywordflow">case</span> AREA_VOLUME_YAXIS:
+00168 <span class="comment">/*</span>
+00169 <span class="comment"> * The volume_position stores the</span>
+00170 <span class="comment"> * highest point of our bar. Every</span>
+00171 <span class="comment"> * pixel after this point is drawn.</span>
+00172 <span class="comment"> */</span>
+00173 <span class="keywordflow">if</span> (SCANY &gt;= 0 @ events-&gt;volume_position) {
+00174 PalVideoOutWrite(VIDEOOUT, skindata-&gt;color_area_volume);
+00175 } <span class="keywordflow">else</span> {
+00176 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00177 }
+00178 <span class="keywordflow">break</span>;
+00179
+00180 <span class="comment">/*</span>
+00181 <span class="comment"> * Spectrum Analyzer</span>
+00182 <span class="comment"> */</span>
+00183 <span class="keywordflow">case</span> AREA_SPECTRUM_ANALYZER:
+00184 <span class="comment">/*</span>
+00185 <span class="comment"> * We draw every pixel that is smaller TODO</span>
+00186 <span class="comment"> */</span>
+00187 <span class="keywordflow">if</span> ((SCANY &gt;= (0 @ skindata-&gt;area_spectrum_bottom) -(0 @ audiodata-&gt;fft_info.read[(SCANX -(0 @ skindata-&gt;area_spectrum_left))[9:2]])) &amp;&amp; ((SCANX -(0 @ skindata-&gt;area_spectrum_left)) &lt;- 2)) {
+00188 PalVideoOutWrite(VIDEOOUT, PIXEL_SPECTRUM);
+00189 } <span class="keywordflow">else</span> {
+00190 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00191 }
+00192 <span class="keywordflow">break</span>;
+00193
+00194 <span class="comment">/*</span>
+00195 <span class="comment"> * Since all buttons are drawn equally, either</span>
+00196 <span class="comment"> * we draw them normally or we inverse them, we</span>
+00197 <span class="comment"> * can handle them almost equally.</span>
+00198 <span class="comment"> */</span>
+00199 <span class="keywordflow">case</span> BUTTON_PRESET_1: <span class="comment">/* fall through */</span>
+00200 <span class="keywordflow">case</span> BUTTON_PRESET_2: <span class="comment">/* fall through */</span>
+00201 <span class="keywordflow">case</span> BUTTON_PRESET_3: <span class="comment">/* fall through */</span>
+00202 <span class="keywordflow">case</span> BUTTON_PRESET_4: <span class="comment">/* fall through */</span>
+00203 <span class="keywordflow">case</span> BUTTON_PRESET_5: <span class="comment">/* fall through */</span>
+00204 <span class="keywordflow">case</span> BUTTON_PRESET_6:
+00205 <span class="comment">/*</span>
+00206 <span class="comment"> * The active preset tells us what</span>
+00207 <span class="comment"> * button is currently enabled. We must</span>
+00208 <span class="comment"> * however not forget to add the preset</span>
+00209 <span class="comment"> * button offset to possibly match it</span>
+00210 <span class="comment"> * with the current mask.</span>
+00211 <span class="comment"> */</span>
+00212 draw_button((events-&gt;active_preset +BUTTON_PRESET_1) &lt;- 8);
+00213 <span class="keywordflow">break</span>;
+00214
+00215 <span class="keywordflow">case</span> BUTTON_CONVEX_FULL: <span class="comment">/* fall through */</span>
+00216 <span class="keywordflow">case</span> BUTTON_CONVEX_HALF: <span class="comment">/* fall through */</span>
+00217 <span class="keywordflow">case</span> BUTTON_PRECISE: <span class="comment">/* fall through */</span>
+00218 <span class="keywordflow">case</span> BUTTON_CONCAVE_HALF: <span class="comment">/* fall through */</span>
+00219 <span class="keywordflow">case</span> BUTTON_CONCAVE_FULL:
+00220 <span class="comment">/*</span>
+00221 <span class="comment"> * equalizer mode tells us what button</span>
+00222 <span class="comment"> * is currently enabled. By adding the</span>
+00223 <span class="comment"> * equalizer mode button offset we can</span>
+00224 <span class="comment"> * safley check wether it matches our</span>
+00225 <span class="comment"> * mask.</span>
+00226 <span class="comment"> */</span>
+00227 draw_button((0 @ events-&gt;equalizer_mode) +BUTTON_CONVEX_FULL);
+00228 <span class="keywordflow">break</span>;
+00229
+00230 <span class="keywordflow">case</span> BUTTON_LOG:
+00231 <span class="comment">/*</span>
+00232 <span class="comment"> * </span>
+00233 <span class="comment"> */</span>
+00234 draw_button((0 @ audiodata-&gt;display_log) +BUTTON_LOG);
+00235 <span class="keywordflow">break</span>;
+00236
+00237 <span class="comment">/*</span>
+00238 <span class="comment"> * The default case is split up into two parts</span>
+00239 <span class="comment"> * actually. This is because we have 128 bands</span>
+00240 <span class="comment"> * for the equalizer and thus as many mask</span>
+00241 <span class="comment"> * entries. Since we don't want 128 identical</span>
+00242 <span class="comment"> * cases we check wether the equalizer mask is</span>
+00243 <span class="comment"> * currently active and if so draw it. If this</span>
+00244 <span class="comment"> * is not the case we simply draw the</span>
+00245 <span class="comment"> * background.</span>
+00246 <span class="comment"> */</span>
+00247 <span class="keywordflow">default</span>:
+00248 <span class="comment">/* (pixeldata[31:24] &lt;= AREA_EQUALIZER_MAX) &amp;&amp; */</span>
+00249 <span class="keywordflow">if</span> (!events-&gt;locked_equalizer) {
+00250 <span class="keywordflow">if</span> ((AREA_EQUALIZER_MIN &lt;= pixeldata[31:24]) &amp;&amp; ((SCANY -(0 @ SCANY &lt;- 1)) == 0 @ events-&gt;equalizer_display[(pixeldata[31:24] -AREA_EQUALIZER_MIN) &lt;- 7])) {
+00251 PalVideoOutWrite(VIDEOOUT, skindata-&gt;color_equalizer);
+00252 } <span class="keywordflow">else</span> {
+00253 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00254 }
+00255 } <span class="keywordflow">else</span> {
+00256 PalVideoOutWrite(VIDEOOUT, PIXEL);
+00257 }
+00258 <span class="keywordflow">break</span>;
+00259 }
+00260 }
+00261
+00262 <span class="comment">/*</span>
+00263 <span class="comment"> * We compare our current X and Y scan positions of the</span>
+00264 <span class="comment"> * output to the x and y data of the mouse. When those</span>
+00265 <span class="comment"> * are equal we set the current mask to the mask stored</span>
+00266 <span class="comment"> * in memory at that location. We then know what mask</span>
+00267 <span class="comment"> * is to be used for events.</span>
+00268 <span class="comment"> */</span>
+00269 <span class="keywordflow">if</span> (MOUSE_UPDATED == mousedata-&gt;status) {
+00270 <span class="keywordflow">if</span> ((SCANX == 0 @ mousedata-&gt;x) &amp;&amp; (SCANY == 0 @ mousedata-&gt;y)) {
+00271 par {
+00272 events-&gt;mask = pixeldata[31:24];
+00273 mousedata-&gt;status = MOUSE_NOT_UPDATED;
+00274 maskupdate_notification ! MOUSE_UPDATED;
+00275 }
+00276 } <span class="keywordflow">else</span> {
+00277 delay;
+00278 }
+00279 } <span class="keywordflow">else</span> {
+00280 delay;
+00281 }
+00282
+00283 <span class="comment">/*</span>
+00284 <span class="comment"> * The current position of the screen can lay in an</span>
+00285 <span class="comment"> * area called the blanking area. We don't have data</span>
+00286 <span class="comment"> * for this area as it is not drawn. We therefor have</span>
+00287 <span class="comment"> * to determin wether we are beyond the visible area of</span>
+00288 <span class="comment"> * the screen, but before the end of the total width of</span>
+00289 <span class="comment"> * the screen. Our pipeline consists of 4 total stages.</span>
+00290 <span class="comment"> * Therefor we have to substract 4 pixels.</span>
+00291 <span class="comment"> */</span>
+00292 <span class="keywordflow">if</span> ((SCANX &gt; (VISIBLEX - 4)) &amp;&amp; (SCANX &lt;= (TOTALX - 4))) {
+00293 <span class="comment">/*</span>
+00294 <span class="comment"> * We are in the blanking area of the screen.</span>
+00295 <span class="comment"> * If we are on the last line, and thus last</span>
+00296 <span class="comment"> * pixel we reset our address counter.</span>
+00297 <span class="comment"> */</span>
+00298 <span class="keywordflow">if</span> (SCANY == (TOTALY -1)) {
+00299 <span class="comment">/*</span>
+00300 <span class="comment"> * Reset our draw address counter to 0.</span>
+00301 <span class="comment"> */</span>
+00302 address = 0;
+00303 } <span class="keywordflow">else</span> {
+00304 <span class="comment">/*</span>
+00305 <span class="comment"> * We should not ever get inhere. To</span>
+00306 <span class="comment"> * keep everything consequent however,</span>
+00307 <span class="comment"> * we add a delay.</span>
+00308 <span class="comment"> */</span>
+00309 delay;
+00310 }
+00311 } <span class="keywordflow">else</span> {
+00312 <span class="comment">/*</span>
+00313 <span class="comment"> * Increase the memory counter for each pixel</span>
+00314 <span class="comment"> * drawn thus keeping the memory location in</span>
+00315 <span class="comment"> * sync with the current pixel position.</span>
+00316 <span class="comment"> */</span>
+00317 address++;
+00318 }
+00319 }
+00320 }
+00321 } <span class="comment">/* --- display_main() --- */</span>
+00322
+00323
+00324
+<a name="l00337"></a><a class="code" href="display_8hcc.html#a4">00337</a> <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a4">reload_equalizer</a>(events_t *events, <span class="keywordtype">unsigned</span> 4 *equalizer_levels) {
+00338 <span class="keywordtype">unsigned</span> 7 equalizer_band;
+00339
+00340 events-&gt;locked_equalizer = TRUE;
+00341 delay;
+00342 <span class="keywordflow">do</span> {
+00343 events-&gt;equalizer_display[equalizer_band] = equalizer_table_inv[equalizer_levels[equalizer_band]];
+00344 equalizer_band++;
+00345 } <span class="keywordflow">while</span> (equalizer_band);
+00346 events-&gt;locked_equalizer = FALSE;
+00347 } <span class="comment">/* --- reload_equalizer() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display_8hcc.html b/Graphic_Equalizer/doc/html/display_8hcc.html
new file mode 100644
index 0000000..8b16663
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hcc.html
@@ -0,0 +1,186 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/display.hcc File Reference</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="files.html">File&nbsp;List</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>display.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br>
+
+<p>
+Include dependency graph for display.hcc:<p><center><img src="display_8hcc__incl.png" border="0" usemap="#display.hcc_map" alt="Include dependency graph"></center>
+<map name="display.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt="">
+<area href="eventhandler__shared_8hch.html" shape="rect" coords="498,7,672,34" alt="">
+<area href="mouse__shared_8hch.html" shape="rect" coords="696,7,832,34" alt="">
+<area href="display__shared_8hch.html" shape="rect" coords="856,7,992,34" alt="">
+<area href="display_8hch.html" shape="rect" coords="1016,7,1104,34" alt="">
+</map>
+
+<p>
+<a href="display_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a3">display_main</a> (skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine handles all drawing of pixels. It never returns! <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hcc.html#a4">reload_equalizer</a> (events_t *events, unsigned 4 *equalizer_levels)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function copies the supplied equalizer values to the array used for displaying equalizer data. <a href="#a4"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="display_8hcc-source.html">display.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a3" doxytag="display.hcc::display_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void display_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">skindata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>skindata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>audiodata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>audiodata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>events_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>mousedata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mousedata</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This routine handles all drawing of pixels. It never returns!
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*skindata</em>&nbsp;</td><td>struct with all skin information. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>struct with (i)fft data to be drawn. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*events</em>&nbsp;</td><td>struct with all events. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>struct with coordinates to current. X en Y.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="display_8hcc-source.html#l00064">64</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a4" doxytag="display.hcc::reload_equalizer"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void reload_equalizer </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">events_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>unsigned 4 *&nbsp;</td>
+ <td class="mdname" nowrap> <em>equalizer_levels</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function copies the supplied equalizer values to the array used for displaying equalizer data.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*events</em>&nbsp;</td><td>events struct </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em>&nbsp;</td><td>pointer to 128 entries where equalizer is to be copied from.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="display_8hcc-source.html#l00337">337</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>.
+<p>
+Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00063">eventhandler_main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.map b/Graphic_Equalizer/doc/html/display_8hcc__incl.map
new file mode 100644
index 0000000..523ea9f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hcc__incl.map
@@ -0,0 +1,7 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
+rect $audio_8hch.html 394,7 474,34
+rect $eventhandler__shared_8hch.html 498,7 672,34
+rect $mouse__shared_8hch.html 696,7 832,34
+rect $display__shared_8hch.html 856,7 992,34
+rect $display_8hch.html 1016,7 1104,34
diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/display_8hcc__incl.md5
new file mode 100644
index 0000000..ab1fb04
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hcc__incl.md5
@@ -0,0 +1 @@
+970c745e492752ae0dd4d12d70766e0f \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/display_8hcc__incl.png b/Graphic_Equalizer/doc/html/display_8hcc__incl.png
new file mode 100644
index 0000000..d808b60
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/display_8hch-source.html b/Graphic_Equalizer/doc/html/display_8hch-source.html
new file mode 100644
index 0000000..15aec07
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hch-source.html
@@ -0,0 +1,48 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/display.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>display.hch</h1><a href="display_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _DISPLAY_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _DISPLAY_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024 <span class="comment">/*</span>
+00025 <span class="comment"> * Set the color for various items that will be drawn on screen.</span>
+00026 <span class="comment"> */</span>
+00027 <span class="preprocessor">#define PIXEL_VOLUME (0x0000ff)</span>
+00028 <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_EQUALIZER (0xff0000)</span>
+00029 <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_SPECTRUM ((((skindata-&gt;area_spectrum_bottom -(SCANY &lt;- 10)) &lt;&lt;1) &lt;- 8) @ 0x00 @ (((skindata-&gt;area_spectrum_bottom -(SCANY &lt;- 10)) &lt;&lt;1) &lt;- 8))</span>
+00030 <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_WAVEFORM (0x0000ff)</span>
+00031 <span class="preprocessor"></span>
+00032
+00033
+00034 <span class="comment">/*</span>
+00035 <span class="comment"> * Main display loop. This function never returns! It handles display output.</span>
+00036 <span class="comment"> * It needs to respond to certain events set by the events pointer. Also it</span>
+00037 <span class="comment"> * informs events what the current mask is. To optain the current mask we need</span>
+00038 <span class="comment"> * the X and Y coordinates from our mousedata pointer.</span>
+00039 <span class="comment"> */</span>
+00040 <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a3">display_main</a>(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
+00041
+00042
+00043
+00044 <span class="comment">/*</span>
+00045 <span class="comment"> * reload equalizer bars into the display memory.</span>
+00046 <span class="comment"> */</span>
+00047 <span class="keywordtype">void</span> <a class="code" href="display_8hcc.html#a4">reload_equalizer</a>(events_t *events, <span class="keywordtype">unsigned</span> 4 *equalizer_levels, <span class="keywordtype">unsigned</span> 10 preset_offset);
+00048
+00049 <span class="preprocessor">#else</span>
+00050 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file display.hch multiple times included"</span>
+00051 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _DISPLAY_HCH --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display_8hch.html b/Graphic_Equalizer/doc/html/display_8hch.html
new file mode 100644
index 0000000..8ec3362
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hch.html
@@ -0,0 +1,118 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/display.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>display.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="display_8hch__dep__incl.png" border="0" usemap="#display.hchdep_map" alt="Included by dependency graph"></center>
+<map name="display.hchdep_map">
+<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="365,7,482,34" alt="">
+</map>
+
+<p>
+<a href="display_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="display_8hch.html#a5">display_main</a> (skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine handles all drawing of pixels. It never returns! <a href="#a5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd></dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: <br>
+ Initial version
+<p>
+Definition in file <a class="el" href="display_8hch-source.html">display.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a5" doxytag="display.hch::display_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void display_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">skindata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>skindata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>audiodata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>audiodata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>events_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>mousedata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mousedata</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This routine handles all drawing of pixels. It never returns!
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*skindata</em>&nbsp;</td><td>struct with all skin information. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>struct with (i)fft data to be drawn. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*events</em>&nbsp;</td><td>struct with all events. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>struct with coordinates to current. X en Y.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="display_8hcc-source.html#l00064">64</a> of file <a class="el" href="display_8hcc-source.html">display.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map
new file mode 100644
index 0000000..30f5f5c
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.map
@@ -0,0 +1,5 @@
+base referer
+rect $display_8hcc.html 8,7 96,34
+rect $eventhandler_8hcc.html 120,7 242,34
+rect $main_8hcc.html 266,7 341,34
+rect $smartmedia_8hcc.html 365,7 482,34
diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5
new file mode 100644
index 0000000..4d52805
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.md5
@@ -0,0 +1 @@
+fbc7c2d77330776f0959b271562e7250 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png
new file mode 100644
index 0000000..f842760
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch-source.html b/Graphic_Equalizer/doc/html/display__shared_8hch-source.html
new file mode 100644
index 0000000..fcd672a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display__shared_8hch-source.html
@@ -0,0 +1,63 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/display_shared.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>display_shared.hch</h1><a href="display__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _DISPLAY_SHARED_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _DISPLAY_SHARED_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+00025 <span class="keywordtype">unsigned</span> 10 area_spectrum_bottom, area_spectrum_top, area_spectrum_left, area_spectrum_right;
+00026 <span class="keywordtype">unsigned</span> 10 area_waveform_bottom, area_waveform_top, area_waveform_left, area_waveform_right;
+00027 <span class="keywordtype">unsigned</span> 10 area_volume_bottom, area_volume_top, area_volume_left, area_volume_right;
+00028 <span class="keywordtype">unsigned</span> 24 color_area_volume, color_area_waveform, color_area_spectrum_top, color_area_spectrum_bottom, color_equalizer;
+00029 } skindata_t;
+00030
+00031
+00032
+00033 <span class="comment">/*</span>
+00034 <span class="comment"> * Define all area's of the display.</span>
+00035 <span class="comment"> */</span>
+00036 <span class="preprocessor">#define AREA_WAVEFORM 0x01</span>
+00037 <span class="preprocessor"></span><span class="preprocessor">#define AREA_VOLUME_YAXIS 0x02</span>
+00038 <span class="preprocessor"></span><span class="preprocessor">#define AREA_SPECTRUM_ANALYZER 0x03</span>
+00039 <span class="preprocessor"></span>
+00040 <span class="preprocessor">#define BUTTON_LOG 0x04</span>
+00041 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_DEMO 0x05</span>
+00042 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_RESET 0x06</span>
+00043 <span class="preprocessor"></span>
+00044 <span class="preprocessor">#define BUTTON_PRESET_1 0x07</span>
+00045 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_PRESET_2 0x08</span>
+00046 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_PRESET_3 0x09</span>
+00047 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_PRESET_4 0x0a</span>
+00048 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_PRESET_5 0x0b</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_PRESET_6 0x0c</span>
+00050 <span class="preprocessor"></span>
+00051 <span class="preprocessor">#define BUTTON_CONVEX_FULL 0x0d </span><span class="comment">/* / \ */</span>
+00052 <span class="preprocessor">#define BUTTON_CONVEX_HALF 0x0e </span><span class="comment">/* /\ */</span>
+00053 <span class="preprocessor">#define BUTTON_PRECISE 0x0f </span><span class="comment">/* | */</span>
+00054 <span class="preprocessor">#define BUTTON_CONCAVE_HALF 0x10 </span><span class="comment">/* \/ */</span>
+00055 <span class="preprocessor">#define BUTTON_CONCAVE_FULL 0x11 </span><span class="comment">/* \ / */</span>
+00056
+00057 <span class="preprocessor">#define BUTTON_HELP 0x12</span>
+00058 <span class="preprocessor"></span><span class="preprocessor">#define BUTTON_MODE 0x13</span>
+00059 <span class="preprocessor"></span>
+00060 <span class="preprocessor">#define AREA_EQUALIZER_MIN 0x80</span>
+00061 <span class="preprocessor"></span><span class="preprocessor">#define AREA_EQUALIZER_MAX 0xff</span>
+00062 <span class="preprocessor"></span>
+00063 <span class="preprocessor">#else</span>
+00064 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file display_shared.hch multiple times included"</span>
+00065 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _DISPLAY_SHARED_HCH --- */</span>
+00066
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch.html b/Graphic_Equalizer/doc/html/display__shared_8hch.html
new file mode 100644
index 0000000..58b24c4
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display__shared_8hch.html
@@ -0,0 +1,44 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/display_shared.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>display_shared.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="display__shared_8hch__dep__incl.png" border="0" usemap="#display_shared.hchdep_map" alt="Included by dependency graph"></center>
+<map name="display_shared.hchdep_map">
+<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="365,7,482,34" alt="">
+</map>
+
+<p>
+<a href="display__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd></dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: <br>
+ Initial version
+<p>
+Definition in file <a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>.<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map
new file mode 100644
index 0000000..30f5f5c
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.map
@@ -0,0 +1,5 @@
+base referer
+rect $display_8hcc.html 8,7 96,34
+rect $eventhandler_8hcc.html 120,7 242,34
+rect $main_8hcc.html 266,7 341,34
+rect $smartmedia_8hcc.html 365,7 482,34
diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5
new file mode 100644
index 0000000..2c831b5
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.md5
@@ -0,0 +1 @@
+6ad6e26d3432e59b7a161de855d0e8bc \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png
new file mode 100644
index 0000000..7484dd7
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/display__shared_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/doxygen.css b/Graphic_Equalizer/doc/html/doxygen.css
new file mode 100644
index 0000000..1d4d631
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/doxygen.css
@@ -0,0 +1,271 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Geneva, Arial, Helvetica, sans-serif;
+}
+H1 {
+ text-align: center;
+}
+CAPTION { font-weight: bold }
+DIV.qindex {
+ width: 100%;
+ background-color: #eeeeff;
+ border: 1px solid #b0b0b0;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+DIV.nav {
+ width: 100%;
+ background-color: #eeeeff;
+ border: 1px solid #b0b0b0;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+ line-height: 140%;
+}
+A.qindex {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D;
+}
+A.qindex:visited {
+ text-decoration: none;
+ font-weight: bold;
+ color: #1A419D
+}
+A.qindex:hover {
+ text-decoration: none;
+ background-color: #ddddff;
+}
+A.qindexHL {
+ text-decoration: none;
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+ text-decoration: none;
+ background-color: #6666cc;
+ color: #ffffff;
+}
+A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
+A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
+A.codeRef:link { font-weight: normal; color: #0000FF}
+A.codeRef:visited { font-weight: normal; color: #0000FF}
+A:hover { text-decoration: none; background-color: #f2f2ff }
+DL.el { margin-left: -1cm }
+.fragment {
+ font-family: monospace
+}
+PRE.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ margin-left: 2px;
+ margin-right: 8px;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #F4F4FB; font-weight: bold; }
+TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
+TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
+DIV.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px }
+BODY {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+TD.indexkey {
+ background-color: #eeeeff;
+ font-weight: bold;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+ background-color: #eeeeff;
+ font-style: italic;
+ padding-right : 10px;
+ padding-top : 2px;
+ padding-left : 10px;
+ padding-bottom : 2px;
+ margin-left : 0px;
+ margin-right : 0px;
+ margin-top : 2px;
+ margin-bottom : 2px;
+ border: 1px solid #CCCCCC;
+}
+TR.memlist {
+ background-color: #f0f0f0;
+}
+P.formulaDsp { text-align: center; }
+IMG.formulaDsp { }
+IMG.formulaInl { vertical-align: middle; }
+SPAN.keyword { color: #008000 }
+SPAN.keywordtype { color: #604020 }
+SPAN.keywordflow { color: #e08000 }
+SPAN.comment { color: #800000 }
+SPAN.preprocessor { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral { color: #008080 }
+.mdTable {
+ border: 1px solid #868686;
+ background-color: #F4F4FB;
+}
+.mdRow {
+ padding: 8px 10px;
+}
+.mdescLeft {
+ padding: 0px 8px 4px 8px;
+ font-size: 12px;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.mdescRight {
+ padding: 0px 8px 4px 8px;
+ font-size: 12px;
+ font-style: italic;
+ background-color: #FAFAFA;
+ border-top: 1px none #E0E0E0;
+ border-right: 1px none #E0E0E0;
+ border-bottom: 1px none #E0E0E0;
+ border-left: 1px none #E0E0E0;
+ margin: 0px;
+}
+.memItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 12px;
+}
+.memItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 13px;
+}
+.memTemplItemLeft {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 12px;
+}
+.memTemplItemRight {
+ padding: 1px 8px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: none;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ background-color: #FAFAFA;
+ font-size: 13px;
+}
+.memTemplParams {
+ padding: 1px 0px 0px 8px;
+ margin: 4px;
+ border-top-width: 1px;
+ border-right-width: 1px;
+ border-bottom-width: 1px;
+ border-left-width: 1px;
+ border-top-color: #E0E0E0;
+ border-right-color: #E0E0E0;
+ border-bottom-color: #E0E0E0;
+ border-left-color: #E0E0E0;
+ border-top-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+ border-left-style: none;
+ color: #606060;
+ background-color: #FAFAFA;
+ font-size: 12px;
+}
+.search { color: #003399;
+ font-weight: bold;
+}
+FORM.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+INPUT.search { font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #eeeeff;
+}
+TD.tiny { font-size: 75%;
+}
+a {
+ color: #252E78;
+}
+a:visited {
+ color: #3D2185;
+}
diff --git a/Graphic_Equalizer/doc/html/doxygen.png b/Graphic_Equalizer/doc/html/doxygen.png
new file mode 100644
index 0000000..f0a274b
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/doxygen.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html
new file mode 100644
index 0000000..24170bf
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc-source.html
@@ -0,0 +1,277 @@
+<!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: 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="files.html">File&nbsp;List</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
+00048 <span class="keyword">static</span> rom <span class="keywordtype">unsigned</span> 3 equalizer_mode_table[5] = {EQUALIZERMODE_CONVEX_FULL, EQUALIZERMODE_CONVEX_HALF, EQUALIZERMODE_PRECISE, EQUALIZERMODE_CONCAVE_HALF, EQUALIZERMODE_CONCAVE_FULL};
+00049
+00050
+00051
+<a name="l00063"></a><a class="code" href="eventhandler_8hcc.html#a3">00063</a> <span class="keywordtype">void</span> <a class="code" href="eventhandler_8hcc.html#a3">eventhandler_main</a>(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata) {
+00064 mpram {
+00065 ram <span class="keywordtype">unsigned</span> 4 write[768];
+00066 rom <span class="keywordtype">unsigned</span> 4 read[768];
+00067 } equalizer_levels with { block = <span class="stringliteral">"BlockRAM"</span>};
+00068
+00069 <span class="keywordtype">unsigned</span> 10 preset_offset;
+00070 <span class="keywordtype">unsigned</span> 10 reference_point;
+00071 <span class="keywordtype">unsigned</span> 5 volume_left;
+00072 <span class="keywordtype">unsigned</span> 4 index_offset;
+00073 <span class="keywordtype">unsigned</span> 1 newmaskupdate;
+00074
+00075 <span class="comment">/*</span>
+00076 <span class="comment"> * Initialize our equalizer display pointers here, as they don't point</span>
+00077 <span class="comment"> * anywhere otherwise.</span>
+00078 <span class="comment"> */</span>
+00079
+00080 <span class="keywordflow">while</span> (TRUE) {
+00081 maskupdate_notification ? newmaskupdate;
+00082
+00083 <span class="comment">/*</span>
+00084 <span class="comment"> * First we determine what mousestate we currently have. Then</span>
+00085 <span class="comment"> * we check where we are to decide what to do.</span>
+00086 <span class="comment"> */</span>
+00087 <span class="keywordflow">switch</span> (mousedata-&gt;state) {
+00088 <span class="keywordflow">case</span> MOUSE_STATE_ON_PRESS:
+00089 <span class="comment">/*</span>
+00090 <span class="comment"> * If we are displaying the graphic visual,</span>
+00091 <span class="comment"> * any press returns to the application.</span>
+00092 <span class="comment"> */</span>
+00093 <span class="keywordflow">if</span> (MODE_GRAPH == events-&gt;mode) {
+00094 events-&gt;mode = MODE_SKIN;
+00095 events-&gt;mask = 0;
+00096 } <span class="keywordflow">else</span> {
+00097 delay;
+00098 }
+00099
+00100 <span class="comment">/*</span>
+00101 <span class="comment"> */</span>
+00102 <span class="keywordflow">if</span> (BUTTON_MODE == events-&gt;mask) {
+00103 <span class="keywordflow">if</span> (MODE_GRAPH == events-&gt;mode) {
+00104 events-&gt;mode = MODE_SKIN;
+00105 } <span class="keywordflow">else</span> {
+00106 events-&gt;mode = MODE_GRAPH;
+00107 }
+00108 } <span class="keywordflow">else</span> {
+00109 delay;
+00110 }
+00111
+00112 <span class="comment">/*</span>
+00113 <span class="comment"> * If the current mask equals the help button</span>
+00114 <span class="comment"> * we set display mode to help.</span>
+00115 <span class="comment"> */</span>
+00116 <span class="keywordflow">if</span> (BUTTON_HELP == events-&gt;mask) {
+00117 <span class="comment">/*</span>
+00118 <span class="comment"> * Change the mode to help if it's</span>
+00119 <span class="comment"> * currently not set, otherwise go back</span>
+00120 <span class="comment"> * to skin mode.</span>
+00121 <span class="comment"> */</span>
+00122 <span class="keywordflow">if</span> (MODE_HELP == events-&gt;mode) {
+00123 events-&gt;mode = MODE_SKIN;
+00124 } <span class="keywordflow">else</span> {
+00125 events-&gt;mode = MODE_HELP;
+00126 print_string(<span class="stringliteral">"going to help"</span>);print_eol();
+00127 }
+00128 } <span class="keywordflow">else</span> {
+00129 delay;
+00130 }
+00131
+00132 <span class="comment">/*</span>
+00133 <span class="comment"> * The Preset buttons span from 1 to 6 so if</span>
+00134 <span class="comment"> * the mask one of those, we'll change the</span>
+00135 <span class="comment"> * pointer to point to the current preset.</span>
+00136 <span class="comment"> */</span>
+00137 <span class="keywordflow">if</span> ((BUTTON_PRESET_1 &lt;= events-&gt;mask) &amp;&amp; (events-&gt;mask &lt;= BUTTON_PRESET_6)) {
+00138 <span class="comment">/*</span>
+00139 <span class="comment"> * The active preset is determined by</span>
+00140 <span class="comment"> * the mask minus an offset. Hence</span>
+00141 <span class="comment"> * ranging our active preset from 0 to</span>
+00142 <span class="comment"> * 6.</span>
+00143 <span class="comment"> */</span>
+00144 events-&gt;active_preset = 0 @ (events-&gt;mask -BUTTON_PRESET_1);
+00145 <span class="comment">/*</span>
+00146 <span class="comment"> * Each equalizer is 128 bands wide,</span>
+00147 <span class="comment"> * thus we need to add 128 * the preset</span>
+00148 <span class="comment"> * for each different preset. This</span>
+00149 <span class="comment"> * offset is calculated here.</span>
+00150 <span class="comment"> */</span>
+00151 preset_offset = events-&gt;active_preset &lt;&lt; 7;
+00152 <span class="comment">/*</span>
+00153 <span class="comment"> * We set the pointer to the active</span>
+00154 <span class="comment"> * part of the array by using the</span>
+00155 <span class="comment"> * preset offset as our index. Hence</span>
+00156 <span class="comment"> * depending on the selected preset</span>
+00157 <span class="comment"> * we point to 0, 128, 256, 384, 512</span>
+00158 <span class="comment"> * or 640.</span>
+00159 <span class="comment"> */</span>
+00160 audiodata-&gt;equalizer_levels_ptr = &amp;equalizer_levels.read[preset_offset];
+00161 <span class="comment">/*</span>
+00162 <span class="comment"> * Finally update the equalizer bars</span>
+00163 <span class="comment"> * that are drawn by the display.</span>
+00164 <span class="comment"> */</span>
+00165 <a class="code" href="display_8hcc.html#a4">reload_equalizer</a>(events, equalizer_levels.write, preset_offset);
+00166 } <span class="keywordflow">else</span> {
+00167 delay;
+00168 }
+00169
+00170 <span class="keywordflow">if</span> ((BUTTON_CONVEX_FULL &lt;= events-&gt;mask) &amp;&amp; (events-&gt;mask &lt;= BUTTON_CONCAVE_FULL)) {
+00171 events-&gt;equalizer_mode = (events-&gt;mask -BUTTON_CONVEX_FULL) &lt;- 3;
+00172 } <span class="keywordflow">else</span> {
+00173 delay;
+00174 }
+00175
+00176 <span class="comment">/*</span>
+00177 <span class="comment"> * If the demo button was pressed load the</span>
+00178 <span class="comment"> * demo preset values into the presets.</span>
+00179 <span class="comment"> */</span>
+00180 <span class="keywordflow">if</span> (BUTTON_DEMO == events-&gt;mask) {
+00181 <a class="code" href="events_8hcc.html#a2">load_preset</a>(ADDRESS_PRESET_DEMO_START, &amp;equalizer_levels.write[0]);
+00182 <a class="code" href="display_8hcc.html#a4">reload_equalizer</a>(events, equalizer_levels.write, preset_offset);
+00183 }
+00184
+00185 <span class="comment">/*</span>
+00186 <span class="comment"> * If the reset button was pressed load the</span>
+00187 <span class="comment"> * reset values into the presets.</span>
+00188 <span class="comment"> */</span>
+00189 <span class="keywordflow">if</span> (BUTTON_RESET == events-&gt;mask) {
+00190 <a class="code" href="events_8hcc.html#a2">load_preset</a>(ADDRESS_PRESET_RESET_START, &amp;equalizer_levels.write[0]);
+00191 <a class="code" href="display_8hcc.html#a4">reload_equalizer</a>(events, equalizer_levels.write, preset_offset);
+00192 }
+00193
+00194 <span class="comment">/*</span>
+00195 <span class="comment"> * If the current mask equals the log button,</span>
+00196 <span class="comment"> * we flip the display_log bit.</span>
+00197 <span class="comment"> */</span>
+00198 <span class="keywordflow">if</span> (BUTTON_LOG == events-&gt;mask) {
+00199 audiodata-&gt;display_log = !audiodata-&gt;display_log;
+00200 } <span class="keywordflow">else</span> {
+00201 delay;
+00202 }
+00203
+00204 <span class="keywordflow">break</span>;
+00205
+00206 <span class="keywordflow">case</span> MOUSE_STATE_DOWN:
+00207 <span class="comment">/*</span>
+00208 <span class="comment"> * If we are in the volume area we update the</span>
+00209 <span class="comment"> * volume level for both channels.</span>
+00210 <span class="comment"> */</span>
+00211 <span class="keywordflow">if</span> (AREA_VOLUME_YAXIS == events-&gt;mask) {
+00212 <span class="comment">/*</span>
+00213 <span class="comment"> * Copy the current Y cursor position</span>
+00214 <span class="comment"> * to the events struct. This we then</span>
+00215 <span class="comment"> * later use for drawing purposes.</span>
+00216 <span class="comment"> */</span>
+00217 events-&gt;volume_position = 0 @ mousedata-&gt;y;
+00218 <span class="comment">/*</span>
+00219 <span class="comment"> * Look the relative y-coordinate up in</span>
+00220 <span class="comment"> * the volumecontrol lookup table. We</span>
+00221 <span class="comment"> * make a local copy here because the</span>
+00222 <span class="comment"> * RC200 call doesn't behave nicely</span>
+00223 <span class="comment"> * when passing anything else.</span>
+00224 <span class="comment"> */</span>
+00225 volume_left = volumecontrol_table[((mousedata-&gt;y) -65) &lt;- 6];
+00226 <span class="comment">/*</span>
+00227 <span class="comment"> * We feel that volume gets softer the</span>
+00228 <span class="comment"> * closer it gets to the 0, and louder</span>
+00229 <span class="comment"> * as it approaches 0x1f. The SetVolume</span>
+00230 <span class="comment"> * RC200 call does this in an unnatural</span>
+00231 <span class="comment"> * reverse way. Therefor we fix it.</span>
+00232 <span class="comment"> */</span>
+00233 RC200AudioOutSetVolume(!volume_left, 0x1f -volume_left, 0x1f -volume_left);
+00234 } <span class="keywordflow">else</span> {
+00235 delay;
+00236 }
+00237
+00238 <span class="keywordflow">if</span> ((AREA_EQUALIZER_MIN &lt;= events-&gt;mask) &amp;&amp; (events-&gt;mask &lt;= AREA_EQUALIZER_MAX)) {
+00239
+00240 events-&gt;locked_equalizer = TRUE;
+00241 delay;
+00242 reference_point = events-&gt;equalizer_display[(events-&gt;mask -5 -AREA_EQUALIZER_MIN) &lt;- 7];
+00243
+00244 <span class="keywordflow">for</span> (index_offset = 9; index_offset != 0; index_offset--) {
+00245 <span class="keywordtype">unsigned</span> 10 average_bar;
+00246 <span class="keywordtype">unsigned</span> 7 equalizer_index;
+00247 <span class="keywordtype">unsigned</span> 4 bar_index;
+00248
+00249 <span class="keywordflow">if</span> (index_offset == 5) {
+00250 reference_point = events-&gt;equalizer_display[(events-&gt;mask +5 -AREA_EQUALIZER_MIN) &lt;- 7];
+00251 } <span class="keywordflow">else</span> {
+00252 delay;
+00253 }
+00254
+00255 <span class="keywordflow">if</span> (index_offset &gt; 5) {
+00256 bar_index = (index_offset -5);
+00257 } <span class="keywordflow">else</span> {
+00258 bar_index = (5 -index_offset);
+00259 }
+00260
+00261 <span class="keywordflow">if</span> (reference_point &gt; mousedata-&gt;y) {
+00262 average_bar = mousedata-&gt;y -((reference_point -mousedata-&gt;y) &gt;&gt; (5 - bar_index));
+00263 } <span class="keywordflow">else</span> {
+00264 average_bar = mousedata-&gt;y +((mousedata-&gt;y -reference_point) &gt;&gt; (5 - bar_index));
+00265 }
+00266
+00267 equalizer_index = ((events-&gt;mask +5 -(0 @ index_offset) -AREA_EQUALIZER_MIN) &lt;- 7);
+00268
+00269 events-&gt;equalizer_display[equalizer_index] = average_bar;
+00270 equalizer_levels.write[preset_offset +(0 @ equalizer_index)] = equalizer_table[average_bar -382];
+00271 }
+00272
+00273 events-&gt;locked_equalizer = FALSE;
+00274 } <span class="keywordflow">else</span> {
+00275 delay;
+00276 }
+00277
+00278 <span class="keywordflow">break</span>;
+00279
+00280 <span class="keywordflow">default</span>:
+00281 <span class="keywordflow">break</span>;
+00282 }
+00283 }
+00284 } <span class="comment">/* --- eventhandler_main() --- */</span>
+00285
+00286
+00287
+00288 <span class="comment">/*</span>
+00289 <span class="comment"> * Volume Control lookuptable.</span>
+00290 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span>
+00291 <span class="comment"> * should be dynamically loaded.</span>
+00292 <span class="comment"> */</span>
+00293 rom <span class="keywordtype">unsigned</span> 5 volumecontrol_table[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 Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc.html b/Graphic_Equalizer/doc/html/eventhandler_8hcc.html
new file mode 100644
index 0000000..aa0729d
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc.html
@@ -0,0 +1,131 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/eventhandler.hcc File Reference</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="files.html">File&nbsp;List</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 File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>"</code><br>
+<code>#include "<a class="el" href="events_8hch-source.html">events.hch</a>"</code><br>
+<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br>
+
+<p>
+Include dependency graph for eventhandler.hcc:<p><center><img src="eventhandler_8hcc__incl.png" border="0" usemap="#eventhandler.hcc_map" alt="Include dependency graph"></center>
+<map name="eventhandler.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+<area href="audio_8hch.html" shape="rect" coords="394,7,474,34" alt="">
+<area href="mouse__shared_8hch.html" shape="rect" coords="498,7,634,34" alt="">
+<area href="eventhandler__shared_8hch.html" shape="rect" coords="658,7,832,34" alt="">
+<area href="eventhandler_8hch.html" shape="rect" coords="856,7,981,34" alt="">
+<area href="events_8hch.html" shape="rect" coords="1005,7,1090,34" alt="">
+<area href="display__shared_8hch.html" shape="rect" coords="1114,7,1250,34" alt="">
+<area href="display_8hch.html" shape="rect" coords="1274,7,1362,34" alt="">
+</map>
+
+<p>
+<a href="eventhandler_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hcc.html#a3">eventhandler_main</a> (audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+when the mousehandler registers a 'click' we coordinate the actions that follow that click.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a3" doxytag="eventhandler.hcc::eventhandler_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void eventhandler_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">audiodata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>audiodata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>events_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>mousedata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mousedata</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>pointer to struct for setting equalizer levels. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*events</em>&nbsp;</td><td>pointer to struct with all events for display states. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>pointer to struct with mouse data for X and Y coordinates.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00063">63</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>.
+<p>
+References <a class="el" href="events_8hcc-source.html#l00049">load_preset()</a>, and <a class="el" href="display_8hcc-source.html#l00337">reload_equalizer()</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+
+<p>
+Here is the call graph for this function:<p><center><img src="eventhandler_8hcc_a3_cgraph.png" border="0" usemap="#eventhandler_8hcc_a3_cgraph_map" alt=""></center>
+<map name="eventhandler_8hcc_a3_cgraph_map">
+<area href="events_8hcc.html#a2" shape="rect" coords="210,7,301,34" alt="">
+<area href="display_8hcc.html#a4" shape="rect" coords="195,58,315,85" alt="">
+</map>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map
new file mode 100644
index 0000000..8e10f06
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.map
@@ -0,0 +1,9 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
+rect $audio_8hch.html 394,7 474,34
+rect $mouse__shared_8hch.html 498,7 634,34
+rect $eventhandler__shared_8hch.html 658,7 832,34
+rect $eventhandler_8hch.html 856,7 981,34
+rect $events_8hch.html 1005,7 1090,34
+rect $display__shared_8hch.html 1114,7 1250,34
+rect $display_8hch.html 1274,7 1362,34
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5
new file mode 100644
index 0000000..43b12ac
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.md5
@@ -0,0 +1 @@
+e8a7f337e9a3e5ae2e720dcb8252ef7e \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png
new file mode 100644
index 0000000..09c2a45
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map
new file mode 100644
index 0000000..e15c770
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.map
@@ -0,0 +1,3 @@
+base referer
+rect $events_8hcc.html#a2 210,7 301,34
+rect $display_8hcc.html#a4 195,58 315,85
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5
new file mode 100644
index 0000000..5572015
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.md5
@@ -0,0 +1 @@
+4cc99ebc2d7ee85c7be875aa4524a42e \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png
new file mode 100644
index 0000000..d07857b
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hcc_a3_cgraph.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html
new file mode 100644
index 0000000..919fa29
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch-source.html
@@ -0,0 +1,32 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/eventhandler.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>eventhandler.hch</h1><a href="eventhandler_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _EVENTHANDLER_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _EVENTHANDLER_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024
+00025 <span class="comment">/*</span>
+00026 <span class="comment"> * This is the main eventhandler loop. We require pointers to the event struct</span>
+00027 <span class="comment"> * to store actions to be performed and a mousedata pointer so that we know on</span>
+00028 <span class="comment"> * what mousestate to respond. We never returns!</span>
+00029 <span class="comment"> */</span>
+00030 <span class="keywordtype">void</span> <a class="code" href="eventhandler_8hcc.html#a3">eventhandler_main</a>(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
+00031
+00032 <span class="preprocessor">#else</span>
+00033 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file eventhandler.hch multiple times included"</span>
+00034 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTHANDLER_HCH --- */</span>
+00035
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch.html b/Graphic_Equalizer/doc/html/eventhandler_8hch.html
new file mode 100644
index 0000000..6589138
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch.html
@@ -0,0 +1,115 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/eventhandler.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>eventhandler.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="eventhandler_8hch__dep__incl.png" border="0" usemap="#eventhandler.hchdep_map" alt="Included by dependency graph"></center>
+<map name="eventhandler.hchdep_map">
+<area href="eventhandler_8hcc.html" shape="rect" coords="7,7,130,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="154,7,229,34" alt="">
+</map>
+
+<p>
+<a href="eventhandler_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="eventhandler_8hch.html#a1">eventhandler_main</a> (audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a1" doxytag="eventhandler.hch::eventhandler_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void eventhandler_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">audiodata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>audiodata</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>events_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>events</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>mousedata_t *&nbsp;</td>
+ <td class="mdname" nowrap> <em>mousedata</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>pointer to struct for setting equalizer levels. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*events</em>&nbsp;</td><td>pointer to struct with all events for display states. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>pointer to struct with mouse data for X and Y coordinates.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="eventhandler_8hcc-source.html#l00063">63</a> of file <a class="el" href="eventhandler_8hcc-source.html">eventhandler.hcc</a>.
+<p>
+References <a class="el" href="events_8hcc-source.html#l00049">load_preset()</a>, and <a class="el" href="display_8hcc-source.html#l00337">reload_equalizer()</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+
+<p>
+Here is the call graph for this function:<p><center><img src="eventhandler_8hch_a1_cgraph.png" border="0" usemap="#eventhandler_8hch_a1_cgraph_map" alt=""></center>
+<map name="eventhandler_8hch_a1_cgraph_map">
+<area href="events_8hcc.html#a2" shape="rect" coords="210,7,301,34" alt="">
+<area href="display_8hcc.html#a4" shape="rect" coords="195,58,315,85" alt="">
+</map>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map
new file mode 100644
index 0000000..6d9ee70
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.map
@@ -0,0 +1,3 @@
+base referer
+rect $eventhandler_8hcc.html 7,7 130,34
+rect $main_8hcc.html 154,7 229,34
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5
new file mode 100644
index 0000000..af0fe6f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.md5
@@ -0,0 +1 @@
+53efdfb40707cc5eba57fe4915bbbf35 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png
new file mode 100644
index 0000000..586b7d0
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map
new file mode 100644
index 0000000..e15c770
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.map
@@ -0,0 +1,3 @@
+base referer
+rect $events_8hcc.html#a2 210,7 301,34
+rect $display_8hcc.html#a4 195,58 315,85
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5
new file mode 100644
index 0000000..5572015
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.md5
@@ -0,0 +1 @@
+4cc99ebc2d7ee85c7be875aa4524a42e \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png
new file mode 100644
index 0000000..d07857b
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler_8hch_a1_cgraph.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html
new file mode 100644
index 0000000..f7b6e57
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch-source.html
@@ -0,0 +1,71 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/eventhandler_shared.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>eventhandler_shared.hch</h1><a href="eventhandler__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _EVENTHANDLER_SHARED_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _EVENTHANDLER_SHARED_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024 <span class="comment">/*** Data Types **********************/</span>
+00025
+00026 <span class="comment">/*</span>
+00027 <span class="comment"> * Type definition of the shared memory to be used in various processes</span>
+00028 <span class="comment"> */</span>
+00029 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+00030 ram <span class="keywordtype">unsigned</span> 10 equalizer_display[128];
+00031 <span class="keywordtype">unsigned</span> 10 active_preset;
+00032 <span class="keywordtype">unsigned</span> 10 volume_position;
+00033 <span class="keywordtype">unsigned</span> 8 mask;
+00034 <span class="keywordtype">unsigned</span> 4 mode;
+00035 <span class="keywordtype">unsigned</span> 3 equalizer_mode;
+00036 <span class="keywordtype">unsigned</span> 1 locked_equalizer;
+00037 } events_t;
+00038
+00039
+00040 <span class="preprocessor">#define MODE_SKIN 0x00</span>
+00041 <span class="preprocessor"></span><span class="preprocessor">#define MODE_HELP 0x01</span>
+00042 <span class="preprocessor"></span><span class="preprocessor">#define MODE_GRAPH 0x02</span>
+00043 <span class="preprocessor"></span>
+00044
+00045
+00046 <span class="preprocessor">#define EQUALIZERMODE_CONVEX_FULL 0x05</span>
+00047 <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_CONVEX_HALF 0x03</span>
+00048 <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_PRECISE 0x01</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_CONCAVE_HALF 0x02</span>
+00050 <span class="preprocessor"></span><span class="preprocessor">#define EQUALIZERMODE_CONCAVE_FULL 0x04</span>
+00051 <span class="preprocessor"></span>
+00052
+00053
+00054 <span class="comment">/*</span>
+00055 <span class="comment"> * Volume Control lookuptable.</span>
+00056 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span>
+00057 <span class="comment"> * should be dynamically loaded.</span>
+00058 <span class="comment"> */</span>
+00059 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 5 volumecontrol_table[46];
+00060
+00061 <span class="comment">/*</span>
+00062 <span class="comment"> * Equalizer lookup tables.</span>
+00063 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span>
+00064 <span class="comment"> * should be dynamically loaded.</span>
+00065 <span class="comment"> */</span>
+00066 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 4 equalizer_table[640];
+00067 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> 10 equalizer_table_inv[16];
+00068
+00069
+00070
+00071 <span class="preprocessor">#else</span>
+00072 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file eventhandler_shared.hch multiple times included"</span>
+00073 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTHANDLER_SHARED_HCH --- */</span>
+00074
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html
new file mode 100644
index 0000000..fa53964
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch.html
@@ -0,0 +1,45 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/eventhandler_shared.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>eventhandler_shared.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="eventhandler__shared_8hch__dep__incl.png" border="0" usemap="#eventhandler_shared.hchdep_map" alt="Included by dependency graph"></center>
+<map name="eventhandler_shared.hchdep_map">
+<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt="">
+<area href="events_8hcc.html" shape="rect" coords="266,7,352,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="376,7,450,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="474,7,592,34" alt="">
+</map>
+
+<p>
+<a href="eventhandler__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>.<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map
new file mode 100644
index 0000000..e30c9f4
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.map
@@ -0,0 +1,6 @@
+base referer
+rect $display_8hcc.html 8,7 96,34
+rect $eventhandler_8hcc.html 120,7 242,34
+rect $events_8hcc.html 266,7 352,34
+rect $main_8hcc.html 376,7 450,34
+rect $smartmedia_8hcc.html 474,7 592,34
diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5
new file mode 100644
index 0000000..5231ffe
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.md5
@@ -0,0 +1 @@
+27ad7843295f3466cc8c70cc8c0de797 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png
new file mode 100644
index 0000000..838ca25
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/eventhandler__shared_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/events_8hcc-source.html b/Graphic_Equalizer/doc/html/events_8hcc-source.html
new file mode 100644
index 0000000..2b40607
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hcc-source.html
@@ -0,0 +1,74 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/events.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="files.html">File&nbsp;List</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>events.hcc</h1><a href="events_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00022 <span class="comment">/******** System Includes *************/</span>
+00023 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00024
+00025 <span class="preprocessor">#include "pal_master.hch"</span>
+00026
+00027 <span class="comment">/******** Application Includes ********/</span>
+00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span>
+00030 <span class="preprocessor">#include "<a class="code" href="events_8hch.html">events.hch</a>"</span>
+00031
+00032 <span class="preprocessor">#if HAVE_DEBUG</span>
+00033 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span>
+00034 <span class="preprocessor">#endif</span>
+00035 <span class="preprocessor"></span>
+00036
+<a name="l00049"></a><a class="code" href="events_8hcc.html#a2">00049</a> <span class="keywordtype">void</span> <a class="code" href="events_8hcc.html#a2">load_preset</a>(<span class="keywordtype">unsigned</span> 20 preset_address, <span class="keywordtype">unsigned</span> 4 *equalizer_levels) {
+00050 macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00051 macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00052 macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00053
+00054 <span class="keywordtype">unsigned</span> DW data;
+00055 <span class="keywordtype">unsigned</span> AW address;
+00056 <span class="keywordtype">unsigned</span> 10 equalizer_index;
+00057
+00058 address = preset_address;
+00059 <span class="comment">/*</span>
+00060 <span class="comment"> * PL2Ram needs a clockclycle between the set of an address and read.</span>
+00061 <span class="comment"> * Therefore we set it once here.</span>
+00062 <span class="comment"> */</span>
+00063 PalPL2RAMSetReadAddress(RAM_BANK0, address);
+00064
+00065 <span class="comment">/*</span>
+00066 <span class="comment"> *</span>
+00067 <span class="comment"> */</span>
+00068 <span class="keywordflow">for</span> (equalizer_index = 0; equalizer_index != 768; equalizer_index += 2) {
+00069 <span class="comment">/*</span>
+00070 <span class="comment"> * We've allready set the address hence we can allready</span>
+00071 <span class="comment"> * increase it for next use.</span>
+00072 <span class="comment"> */</span>
+00073 address++;
+00074
+00075 PalPL2RAMRead(RAM_BANK0, &amp;data);
+00076 <span class="preprocessor">#if HAVE_DEBUG</span>
+00077 <span class="preprocessor"></span> print_hex_value(0 @ data[3:0]);print_string(<span class="stringliteral">" "</span>);print_hex_value(0 @ data[7:4]);print_eol();
+00078 <span class="preprocessor">#endif</span>
+00079 <span class="preprocessor"></span> equalizer_levels[equalizer_index] = data[3:0];
+00080 equalizer_levels[equalizer_index +1] = data[7:4];
+00081 }
+00082 } <span class="comment">/* --- load_preset() --- */</span>
+00083
+00084
+00085
+00086 <span class="comment">/*</span>
+00087 <span class="comment"> * Equalizer lookuptabes.</span>
+00088 <span class="comment"> * TODO: This table is now hardcoded. To ensure full skinability this table</span>
+00089 <span class="comment"> * should be dynamically loaded.</span>
+00090 <span class="comment"> */</span>
+00091 ram <span class="keywordtype">unsigned</span> 4 equalizer_table[640] = {15, 15, 15, 15, 15, 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10, 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0};
+00092 ram <span class="keywordtype">unsigned</span> 10 equalizer_table_inv[16] = {446, 444, 440, 436, 432, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 384};
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/events_8hcc.html b/Graphic_Equalizer/doc/html/events_8hcc.html
new file mode 100644
index 0000000..a551e99
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hcc.html
@@ -0,0 +1,108 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/events.hcc File Reference</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="files.html">File&nbsp;List</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>events.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="events_8hch-source.html">events.hch</a>"</code><br>
+
+<p>
+Include dependency graph for events.hcc:<p><center><img src="events_8hcc__incl.png" border="0" usemap="#events.hcc_map" alt="Include dependency graph"></center>
+<map name="events.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+<area href="eventhandler__shared_8hch.html" shape="rect" coords="394,7,567,34" alt="">
+<area href="events_8hch.html" shape="rect" coords="591,7,677,34" alt="">
+</map>
+
+<p>
+<a href="events_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hcc.html#a2">load_preset</a> (unsigned 20 preset_address, unsigned 4 *equalizer_levels)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. <a href="#a2"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+that need to be performed.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041710 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041710: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="events_8hcc-source.html">events.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="events.hcc::load_preset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void load_preset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned 20&nbsp;</td>
+ <td class="mdname" nowrap> <em>preset_address</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>unsigned 4 *&nbsp;</td>
+ <td class="mdname" nowrap> <em>equalizer_levels</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>preset_address</em>&nbsp;</td><td>PL2Ram address where preset to be loaded is. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em>&nbsp;</td><td>Location where to store presets loaded from ram.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="events_8hcc-source.html#l00049">49</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>.
+<p>
+Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00063">eventhandler_main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.map b/Graphic_Equalizer/doc/html/events_8hcc__incl.map
new file mode 100644
index 0000000..40eb374
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hcc__incl.map
@@ -0,0 +1,4 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
+rect $eventhandler__shared_8hch.html 394,7 567,34
+rect $events_8hch.html 591,7 677,34
diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/events_8hcc__incl.md5
new file mode 100644
index 0000000..e5760e1
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hcc__incl.md5
@@ -0,0 +1 @@
+6504988e199f039ead53f7a591708e99 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/events_8hcc__incl.png b/Graphic_Equalizer/doc/html/events_8hcc__incl.png
new file mode 100644
index 0000000..1660014
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/events_8hch-source.html b/Graphic_Equalizer/doc/html/events_8hch-source.html
new file mode 100644
index 0000000..c08b5c9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hch-source.html
@@ -0,0 +1,29 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/events.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>events.hch</h1><a href="events_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00020 <span class="preprocessor">#ifndef _EVENTS_HCH</span>
+00021 <span class="preprocessor"></span><span class="preprocessor">#define _EVENTS_HCH 1</span>
+00022 <span class="preprocessor"></span>
+00023
+00024
+00025 <span class="comment">/*</span>
+00026 <span class="comment"> * This function loads 768 4bits presets into the equalizer_levels array</span>
+00027 <span class="comment"> * pointed to by equalizer_levels.</span>
+00028 <span class="comment"> */</span>
+00029 <span class="keywordtype">void</span> <a class="code" href="events_8hcc.html#a2">load_preset</a>(<span class="keywordtype">unsigned</span> 20 preset_address, <span class="keywordtype">unsigned</span> 4 *equalizer_levels);
+00030
+00031 <span class="preprocessor">#else</span>
+00032 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file events.hch multiple times included"</span>
+00033 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _EVENTS_HCH --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/events_8hch.html b/Graphic_Equalizer/doc/html/events_8hch.html
new file mode 100644
index 0000000..7545623
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hch.html
@@ -0,0 +1,102 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/events.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>events.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="events_8hch__dep__incl.png" border="0" usemap="#events.hchdep_map" alt="Included by dependency graph"></center>
+<map name="events.hchdep_map">
+<area href="eventhandler_8hcc.html" shape="rect" coords="8,7,130,34" alt="">
+<area href="events_8hcc.html" shape="rect" coords="154,7,240,34" alt="">
+</map>
+
+<p>
+<a href="events_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="events_8hch.html#a1">load_preset</a> (unsigned 20 preset_address, unsigned 4 *equalizer_levels)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels. <a href="#a1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+that need to be performed.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041710 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041710: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="events_8hch-source.html">events.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a1" doxytag="events.hch::load_preset"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void load_preset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned 20&nbsp;</td>
+ <td class="mdname" nowrap> <em>preset_address</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>unsigned 4 *&nbsp;</td>
+ <td class="mdname" nowrap> <em>equalizer_levels</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function loads 768 4bits presets into the equalizer_levels array pointed to by equalizer_levels.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>preset_address</em>&nbsp;</td><td>PL2Ram address where preset to be loaded is. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>*equalizer_levels</em>&nbsp;</td><td>Location where to store presets loaded from ram.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="events_8hcc-source.html#l00049">49</a> of file <a class="el" href="events_8hcc-source.html">events.hcc</a>.
+<p>
+Referenced by <a class="el" href="eventhandler_8hcc-source.html#l00063">eventhandler_main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map
new file mode 100644
index 0000000..e1a4795
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.map
@@ -0,0 +1,3 @@
+base referer
+rect $eventhandler_8hcc.html 8,7 130,34
+rect $events_8hcc.html 154,7 240,34
diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5
new file mode 100644
index 0000000..db0e635
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.md5
@@ -0,0 +1 @@
+9de3b703aa96c0fd466e7058f82e3b76 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png
new file mode 100644
index 0000000..7b9cfa7
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/events_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc-source.html b/Graphic_Equalizer/doc/html/fft_8hcc-source.html
new file mode 100644
index 0000000..64569fd
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc-source.html
@@ -0,0 +1,436 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/fft.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="files.html">File&nbsp;List</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>fft.hcc</h1><a href="fft_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00020 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00021 <span class="preprocessor">#include "pal_master.hch"</span>
+00022
+00023 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00024 <span class="preprocessor">#include "weights_256.hch"</span>
+00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00026 <span class="preprocessor">#include "debug.hch"</span>
+00027 <span class="preprocessor">#include "xilinxmult.hch"</span>
+00028
+00029 <span class="comment">/* Define two multi-port RAMs for FFT calculation; one for real and one for imaginary values</span>
+00030 <span class="comment"> * Extra block RAM settings are defined to make sure read and write actions can be performed</span>
+00031 <span class="comment"> * within one clock-cycle.</span>
+00032 <span class="comment"> * Left out extra settings on new board the clock changes TODO !!!!</span>
+00033 <span class="comment"> */</span>
+00034 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00035 <span class="preprocessor"></span>mpram
+00036 {
+00037 ram <span class="keywordtype">signed</span> 18 rwrite[256];
+00038 rom <span class="keywordtype">signed</span> 18 read[256];
+00039 } real with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>};
+00040
+00041 mpram
+00042 {
+00043 ram <span class="keywordtype">signed</span> 18 rwrite[256];
+00044 rom <span class="keywordtype">signed</span> 18 read[256];
+00045 } imaginary with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>};
+00046 <span class="preprocessor">#else</span>
+00047 <span class="preprocessor"></span>mpram
+00048 {
+00049 ram <span class="keywordtype">signed</span> 24 rwrite[256];
+00050 rom <span class="keywordtype">signed</span> 24 read[256];
+00051 } real with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>};
+00052
+00053 mpram
+00054 {
+00055 ram <span class="keywordtype">signed</span> 24 rwrite[256];
+00056 rom <span class="keywordtype">signed</span> 24 read[256];
+00057 } imaginary with {block = <span class="stringliteral">"BlockRAM"</span><span class="comment">/*, westart=2.5, welength=1, rclkpos={1.5}, wclkpos={3}, clkpulselen=0.5*/</span>};
+00058 <span class="preprocessor">#endif</span>
+00059 <span class="preprocessor"></span><span class="comment">// multiplication factors for equalizer function</span>
+00060 ram <span class="keywordtype">signed</span> 7 eq_settings[16] = {0,2,4,7,10,13,16,19,22,26,30,35,41,48,55,63};
+00061
+00062
+<a name="l00073"></a><a class="code" href="fft_8hcc.html#a1">00073</a> macro proc <a class="code" href="fft_8hcc.html#a1">multiply</a>(result, op_a, op_b)
+00074 {
+00075 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00076 <span class="preprocessor"></span> xilinxmult(result, op_a, adjs(op_b,18));
+00077 <span class="preprocessor">#else</span>
+00078 <span class="preprocessor"></span> result = (adjs(op_a,38))*(adjs(op_a,38));
+00079 <span class="preprocessor">#endif </span>
+00080 <span class="preprocessor"></span>}
+00081
+00082
+00083
+00084
+<a name="l00095"></a><a class="code" href="fft_8hcc.html#a2">00095</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a2">calculate_fft</a>(<span class="keywordtype">unsigned</span> 1 select_inverse)
+00096 {
+00097 <span class="keywordtype">unsigned</span> 4 level;
+00098 <span class="keywordtype">unsigned</span> 8 point1,point2,j,f,k;
+00099 <span class="keywordtype">unsigned</span> 9 e,i;
+00100 <span class="keywordtype">signed</span> 16 weight1,weight2;
+00101 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00102 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p,q,r,t;
+00103 <span class="preprocessor">#else</span>
+00104 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p,q,r,t;
+00105 <span class="preprocessor">#endif</span>
+00106 <span class="preprocessor"></span> <span class="keywordtype">signed</span> a,b;
+00107
+00108 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00109 <span class="preprocessor"></span> <span class="comment">// Macro to provide rescaling of 36-bit result of fixed point multiply</span>
+00110 <span class="comment">// down to an 18-bit result. The range of bits selected depends on the </span>
+00111 <span class="comment">// number that represents the value of "1" in the trig function lookup</span>
+00112 <span class="comment">// tables. (Eg. for 16384 == 1, the lowest bit selected should be [14]).</span>
+00113 macro expr rescale (x) = (x[35] @ x[30:14]);
+00114 <span class="preprocessor">#else</span>
+00115 <span class="preprocessor"></span> <span class="comment">//Macro to rescale the multiply result down to a 24-bit value.</span>
+00116 macro expr rescale (x) = ((x&gt;&gt;FRACBITS)&lt;-24);
+00117 <span class="preprocessor">#endif</span>
+00118 <span class="preprocessor"></span>
+00119 <span class="keywordflow">for</span>(level=1;level&lt;=NUMBER_OF_COLUMNS;level++) <span class="comment">// count all the columns</span>
+00120 {
+00121 e=1&lt;&lt;(NUMBER_OF_COLUMNS-level+1); <span class="comment">// number of points in each block in this column</span>
+00122 f=(e&gt;&gt;1)&lt;-8; <span class="comment">// number of butterflies in each block in this column</span>
+00123
+00124 <span class="keywordflow">for</span>(j=1;j&lt;=f;j++) <span class="comment">// count all the butterflies in each block</span>
+00125 {
+00126 par
+00127 {
+00128 <span class="comment">// Weight factors for real (the same for FFT and iFFT)</span>
+00129 weight1 = weight_re[((j-1)&lt;&lt;(level-1))&lt;-7];
+00130
+00131
+00132 <span class="comment">// Weight factors for imaginary (opposite for FFT and iFFT)</span>
+00133 weight2 = (!select_inverse) ? (weight_im[((j-1)&lt;&lt;(level-1))&lt;-7]) : -(weight_im[((j-1)&lt;&lt;(level-1))&lt;-7]);
+00134
+00135 <span class="comment">/* ORIGINAL CODE BELOW, MODIFIED BECAUSE OF MISMATCHING OUTPUT WITH BORLAND TESTAPP</span>
+00136 <span class="comment"> weight2 = (!select_inverse) ? -(weight_im[((j-1)&lt;&lt;(level-1))&lt;-7]) : weight_im[((j-1)&lt;&lt;(level-1))&lt;-7]; </span>
+00137 <span class="comment"> */</span>
+00138
+00139
+00140
+00141 <span class="keywordflow">for</span>(i=0@j;i&lt;=NUMBER_OF_POINTS;i+=e) <span class="comment">// count all the blocks in this column</span>
+00142 { <span class="comment">// Butterfly calculation</span>
+00143 par
+00144 {
+00145 point1 = ((i&lt;-8)-1);
+00146 point2 = (((i&lt;-8)+f)-1);
+00147 }
+00148
+00149 par
+00150 {
+00151 p = (real.read[point1] &gt;&gt; 1) + (real.rwrite[point2] &gt;&gt; 1);
+00152 q = (imaginary.read[point1] &gt;&gt; 1) + (imaginary.rwrite[point2] &gt;&gt; 1);
+00153 }
+00154
+00155 par
+00156 {
+00157 r = (real.read[point1] &gt;&gt; 1) - (real.rwrite[point2] &gt;&gt; 1);
+00158 t = (imaginary.read[point1] &gt;&gt; 1) - (imaginary.rwrite[point2] &gt;&gt; 1);
+00159 }
+00160
+00161 <a class="code" href="fft_8hcc.html#a1">multiply</a>(a,r,weight1);
+00162 <a class="code" href="fft_8hcc.html#a1">multiply</a>(b,t,weight2);
+00163
+00164 par
+00165 {
+00166 real.rwrite[point2] = (rescale(a-b));
+00167 imaginary.rwrite[point1] = q;
+00168 }
+00169
+00170 <a class="code" href="fft_8hcc.html#a1">multiply</a>(a,t,weight1);
+00171 <a class="code" href="fft_8hcc.html#a1">multiply</a>(b,r,weight2);
+00172
+00173 par
+00174 {
+00175 real.rwrite[point1] = p;
+00176 imaginary.rwrite[point2] = (rescale(a+b));
+00177 }
+00178
+00179 }
+00180 }
+00181 }
+00182 }
+00183
+00184 j=1;
+00185 <span class="keywordflow">for</span>(i=1;i&lt;NUMBER_OF_POINTS;i++)
+00186 {
+00187 <span class="keywordflow">if</span>(i&lt;(0@j))
+00188 {
+00189 par
+00190 {
+00191 point1=j-1;
+00192 point2=(i-1)&lt;-8;
+00193 }
+00194 <span class="comment">/*</span>
+00195 <span class="comment"> COPYING ARRAY VALUES FROM ONE PLACE TO ANOTHER IN THE ARRAT MUST BE DONE IN </span>
+00196 <span class="comment"> 2 STEPS. FIRSTLY THE VALUES ARE COPIED TO SEPARATE VARIABLES AFTER THAT THEY</span>
+00197 <span class="comment"> ARE COPIED BACK TO THEIR NEW POSITION IN THE ARRAY. THIS MUST BE DONE TO </span>
+00198 <span class="comment"> PREVENT TIMING ISSUES FROM OCCURING.</span>
+00199 <span class="comment"> */</span>
+00200 par
+00201 {
+00202 p = real.read[point1];
+00203 q = imaginary.read[point1];
+00204 }
+00205 par
+00206 {
+00207 r = real.read[point2];
+00208 t = imaginary.read[point2];
+00209 }
+00210 par
+00211 {
+00212 real.rwrite[point1] = r;
+00213 imaginary.rwrite[point1] = t;
+00214 }
+00215 par
+00216 {
+00217 real.rwrite[point2] = p;
+00218 imaginary.rwrite[point2] = q;
+00219 }
+00220 }
+00221
+00222 k = NUMBER_OF_POINTS&gt;&gt;1;
+00223
+00224
+00225 <span class="keywordflow">while</span>(k&lt;j)
+00226 {
+00227 j = j-k;
+00228 k = k&gt;&gt;1;
+00229 }
+00230
+00231 j+=k;
+00232 }
+00233
+00234 }
+00235
+00247 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00248 <span class="preprocessor"></span><span class="keywordtype">void</span> perform_fft(<span class="keywordtype">signed</span> 18 *pcm_audio)
+00249 #<span class="keywordflow">else</span>
+00250 <span class="keywordtype">void</span> perform_fft(<span class="keywordtype">signed</span> 16 *pcm_audio)
+00251 #endif
+00252 {
+00253 <span class="keywordtype">unsigned</span> 8 k;
+00254 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00255 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 sample;
+00256 k=0;
+00257 sample = adjs(pcm_audio[k],18);
+00258 <span class="preprocessor">#else</span>
+00259 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 sample;
+00260 k=0;
+00261 sample = adjs(pcm_audio[k],24);
+00262 <span class="preprocessor">#endif</span>
+00263 <span class="preprocessor"></span>
+00264 <span class="comment">//initialize variables for the copying pipeline</span>
+00265
+00266
+00267 <span class="comment">// copy audio data to real-array before starting FFT calculation</span>
+00268 <span class="comment">// and set imaginary values to zero</span>
+00269 <span class="keywordflow">do</span>
+00270 {
+00271 <span class="comment">//Copying the array values has been pipelined to prevent parallel access to the</span>
+00272 <span class="comment">//pcm_audio array. This copying procedure must be finished before another </span>
+00273 <span class="comment">//sample is read from the audio input. The time available for this loop is </span>
+00274 <span class="comment">//determined by the sampling rate of 44,1 Khz</span>
+00275 par
+00276 {
+00277 <span class="comment">//COPYING NEEDS TO BE DONE IN 2 STEPS, BECAUSE THE VALUE THAT NEEDS TO WRITTEN</span>
+00278 <span class="comment">//TO THE REAL-RAM NEEDS TO BE AVAILABLE ON THE START OFF THE CLOCKCYCLE.</span>
+00279 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00280 <span class="preprocessor"></span> sample = adjs(pcm_audio[k+1],18);
+00281 <span class="preprocessor">#else</span>
+00282 <span class="preprocessor"></span> sample = adjs(pcm_audio[k+1],24);
+00283 <span class="preprocessor">#endif</span>
+00284 <span class="preprocessor"></span> real.rwrite[k] = sample;
+00285 imaginary.rwrite[k] = 0;
+00286 k++;
+00287 }
+00288 } <span class="keywordflow">while</span> (k);
+00289
+00290
+00291
+00292 <span class="preprocessor">#if PERFORM_FFT_CALCULATION</span>
+00293 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a2">calculate_fft</a>(0);
+00294 <span class="preprocessor">#endif</span>
+00295 <span class="preprocessor"></span>
+00296
+00297 }
+00298
+00312 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00313 <span class="preprocessor"></span><span class="keywordtype">void</span> perform_ifft(<span class="keywordtype">signed</span> 18 *modified_audio, <span class="keywordtype">unsigned</span> 6 *ifft_info)
+00314 #<span class="keywordflow">else</span>
+00315 <span class="keywordtype">void</span> perform_ifft(<span class="keywordtype">signed</span> 16 *modified_audio, <span class="keywordtype">unsigned</span> 6 *ifft_info)
+00316 #endif
+00317 {
+00318 <span class="keywordtype">unsigned</span> 6 k;
+00319 <span class="preprocessor">#if HARDWARE_MULTIPLY </span>
+00320 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p;
+00321 <span class="preprocessor">#else</span>
+00322 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p;
+00323 <span class="preprocessor">#endif</span>
+00324 <span class="preprocessor"></span><span class="preprocessor">#if PERFORM_FFT_CALCULATION </span>
+00325 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a2">calculate_fft</a>(1);
+00326 <span class="preprocessor">#endif</span>
+00327 <span class="preprocessor"></span>
+00328 k=0;
+00329 <span class="comment">//initialize variables for the copying pipeline</span>
+00330 <span class="preprocessor">#if PERFORM_FFT_CALCULATION </span>
+00331 <span class="preprocessor"></span><span class="preprocessor"> #if HARDWARE_MULTIPLY </span>
+00332 <span class="preprocessor"></span> p = (real.read[(0@k)+95] &lt;&lt; NUMBER_OF_COLUMNS);
+00333 <span class="preprocessor"> #else</span>
+00334 <span class="preprocessor"></span> p = (real.read[(0@k)+95] &gt;&gt; NUMBER_OF_COLUMNS);
+00335 <span class="preprocessor"> #endif</span>
+00336 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00337 <span class="preprocessor"></span> p = (real.read[(0@k)+95]);
+00338 <span class="preprocessor">#endif</span>
+00339 <span class="preprocessor"></span>
+00340 <span class="keywordflow">do</span>
+00341 {
+00342 <span class="comment">//Copying the array values has been pipelined to prevent parallel access to the</span>
+00343 <span class="comment">//pcm_audio array. This copying procedure must be finished before another </span>
+00344 <span class="comment">//sample is read from the audio input. The time available for this loop is </span>
+00345 <span class="comment">//determined by the sampling rate of 44,1 Khz</span>
+00346 par
+00347 {
+00348 <span class="comment">/*</span>
+00349 <span class="comment"> * Before copying the modified audio from the local real-array </span>
+00350 <span class="comment"> * to the output array of the audio I/O component, compensate</span>
+00351 <span class="comment"> * for the FFT calculation by shifting the values. </span>
+00352 <span class="comment"> * 95 is added to start the output from the middle of the sliding</span>
+00353 <span class="comment"> * window, this is done to get a better sound quality.</span>
+00354 <span class="comment"> */</span>
+00355 <span class="preprocessor">#if PERFORM_FFT_CALCULATION </span>
+00356 <span class="preprocessor"></span><span class="preprocessor"> #if HARDWARE_MULTIPLY </span>
+00357 <span class="preprocessor"></span> p = (real.read[(0@k)+95] &lt;&lt; NUMBER_OF_COLUMNS);
+00358 <span class="preprocessor"> #else</span>
+00359 <span class="preprocessor"></span> p = (real.read[(0@k)+95] &gt;&gt; NUMBER_OF_COLUMNS);
+00360 <span class="preprocessor"> #endif</span>
+00361 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+00362 <span class="preprocessor"></span> p = (real.read[(0@k)+95]);
+00363 <span class="preprocessor">#endif</span>
+00364 <span class="preprocessor"></span> <span class="comment">//Copy the modified audio from the local real array to the output array of the audio I/O component.</span>
+00365 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00366 <span class="preprocessor"></span> modified_audio[k] = p ;
+00367 <span class="preprocessor">#else</span>
+00368 <span class="preprocessor"></span> modified_audio[k] = (p&lt;-16);
+00369 <span class="preprocessor">#endif</span>
+00370 <span class="preprocessor"></span> <span class="comment">//Fill the array for displaying the waveform, only the 6 MSB are needed.</span>
+00371 ifft_info[k] = (<span class="keywordtype">unsigned</span> 6)(32+(p[17:12]));
+00372 k++;
+00373 }
+00374 } <span class="keywordflow">while</span>(k);
+00375 }
+00376
+<a name="l00389"></a><a class="code" href="fft_8hcc.html#a5">00389</a> <span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">equalize_audio</a>(audiodata_t *audiodata)
+00390 {
+00391 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00392 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 p,q;
+00393 <span class="preprocessor">#else</span>
+00394 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 24 p,q;
+00395 <span class="preprocessor">#endif</span>
+00396 <span class="preprocessor"></span> <span class="keywordtype">signed</span> 18 a;
+00397 <span class="keywordtype">unsigned</span> 8 i, mirror_i, bit, m, n;
+00398 <span class="keywordtype">unsigned</span> 7 old_value;
+00399 <span class="keywordtype">unsigned</span> 9 tmp;
+00400
+00401 <span class="comment">//macro expr equalize_bar = multiply(q,a)[29:6];</span>
+00402
+00403 macro proc equalize_bar(retval)
+00404 {
+00405 <span class="keywordtype">signed</span> result;
+00406 <a class="code" href="fft_8hcc.html#a1">multiply</a>(result, q,a);
+00407 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00408 <span class="preprocessor"></span> retval = result[23:6]; <span class="comment">//drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array</span>
+00409 <span class="preprocessor">#else</span>
+00410 <span class="preprocessor"></span> retval = result[29:6]; <span class="comment">//drop last 6 bit to compensate the maximum multiplication with 64 from the eq_settings array</span>
+00411 <span class="preprocessor">#endif</span>
+00412 <span class="preprocessor"></span> }
+00413
+00414 p = real.read[0] - DC_COMPONENT; <span class="comment">// remove DC component for calculations</span>
+00415 real.rwrite[0] = p;
+00416
+00417 <span class="keywordflow">for</span>(i=0;i!=NUMBER_OF_FREQUENCIES;i++)
+00418 {
+00419
+00420 <span class="comment">// set multiplication factor (0..64) for current frequency bar, The first frequency band must be equalized at 100% (63) since there is no DC-component taken into account.</span>
+00421 a = adjs(eq_settings[audiodata-&gt;equalizer_levels_ptr[i &lt;- 7]],18);
+00422
+00423
+00424 <span class="comment">// multiply frequency with this factor and divide by 64 (drop 6 LSB's)</span>
+00425 q = real.read[i];
+00426 equalize_bar(p);
+00427 real.rwrite[i] = p;
+00428
+00429 q = imaginary.read[i];
+00430 equalize_bar(p);
+00431 imaginary.rwrite[i] = p;
+00432
+00433 <span class="comment">// the upper part(128..255) of the spectrum is mirrored to the lower part; </span>
+00434 <span class="comment">// these values need to be adjusted too</span>
+00435 <span class="keywordflow">if</span> ((i&lt;-7)!=0) <span class="comment">// if not in DC component bar</span>
+00436 {
+00437 mirror_i = (NUMBER_OF_POINTS-1)-i+1;
+00438 q = real.read[mirror_i];
+00439 equalize_bar(p);
+00440 real.rwrite[mirror_i] = p;
+00441
+00442 q = imaginary.read[mirror_i];
+00443 equalize_bar(p);
+00444 imaginary.rwrite[mirror_i] = p;
+00445 }
+00446 }
+00447
+00448 <span class="comment">//write data to fft_info for display purposes</span>
+00449 <span class="keywordflow">for</span>(i=0;i&lt;NUMBER_OF_FREQUENCIES;i++)
+00450 {
+00451 p = real.read[i];
+00452 q = imaginary.read[i];
+00453 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00454 <span class="preprocessor"></span> <span class="keywordflow">if</span> (p[17] == 1) p = -p; <span class="keywordflow">else</span> delay;
+00455 <span class="keywordflow">if</span> (q[17] == 1) q = -q; <span class="keywordflow">else</span> delay;
+00456 <span class="preprocessor">#else</span>
+00457 <span class="preprocessor"></span> <span class="keywordflow">if</span> (p[23] == 1) p = -p; <span class="keywordflow">else</span> delay;
+00458 <span class="keywordflow">if</span> (q[23] == 1) q = -q; <span class="keywordflow">else</span> delay;
+00459 <span class="preprocessor">#endif</span>
+00460 <span class="preprocessor"></span> p = (p&lt;q) ? q : p; <span class="comment">// This is done to get the best visual frequency result</span>
+00461
+00462 <span class="keywordflow">if</span> (!audiodata-&gt;display_log)
+00463 {
+00464
+00465 bit=126;
+00466 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00467 <span class="preprocessor"></span> <span class="keywordflow">while</span> ((p[15] == 0) &amp;&amp; (bit != 0))
+00468 <span class="preprocessor">#else</span>
+00469 <span class="preprocessor"></span> <span class="keywordflow">while</span> ((p[21] == 0) &amp;&amp; (bit != 0))
+00470 <span class="preprocessor">#endif</span>
+00471 <span class="preprocessor"></span> par
+00472 {
+00473 p = p&lt;&lt;1;
+00474 bit = bit - 18;
+00475 }
+00476 old_value = audiodata-&gt;fft_info.write[0 @ (i &lt;- 7)];
+00477 tmp = ((0@old_value) + (0@bit))&gt;&gt;1;
+00478 audiodata-&gt;fft_info.write[0 @ (i &lt;- 7)] = (old_value &lt;= (tmp&lt;-7)) ? (tmp&lt;-7) : old_value-1;
+00479 }
+00480 <span class="keywordflow">else</span>
+00481 {
+00482 old_value = audiodata-&gt;fft_info.write[0 @ (i &lt;- 7)];
+00483 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00484 <span class="preprocessor"></span> audiodata-&gt;fft_info.write[0 @ (i &lt;- 7)] = (old_value&lt;=(unsigned)(p[15:9])) ? (unsigned)(p[15:9]) : old_value-1;
+00485 <span class="preprocessor">#else</span>
+00486 <span class="preprocessor"></span> audiodata-&gt;fft_info.write[0 @ (i &lt;- 7)] = (old_value&lt;=(unsigned)(p[21:15])) ? (unsigned)(p[21:15]) : old_value-1;
+00487 <span class="preprocessor">#endif</span>
+00488 <span class="preprocessor"></span> }
+00489 }
+00490
+00491 <span class="comment">// add DC component again before inverse FFT calculation is performed</span>
+00492
+00493 p = real.read[0] + DC_COMPONENT;
+00494 real.rwrite[0] = p;
+00495 }
+00496
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc.html b/Graphic_Equalizer/doc/html/fft_8hcc.html
new file mode 100644
index 0000000..d46b6b5
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc.html
@@ -0,0 +1,225 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/fft.hcc File Reference</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="files.html">File&nbsp;List</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>fft.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+<code>#include "weights_256.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "debug.hch"</code><br>
+<code>#include "xilinxmult.hch"</code><br>
+
+<p>
+Include dependency graph for fft.hcc:<p><center><img src="fft_8hcc__incl.png" border="0" usemap="#fft.hcc_map" alt="Include dependency graph"></center>
+<map name="fft.hcc_map">
+<area href="audio_8hch.html" shape="rect" coords="245,7,325,34" alt="">
+<area href="weights__256_8hch-source.html" shape="rect" coords="349,7,472,34" alt="">
+<area href="configuration_8hch.html" shape="rect" coords="496,7,621,34" alt="">
+</map>
+
+<p>
+<a href="fft_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">macro proc&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a1">multiply</a> (result, op_a, op_b)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Procedure used for multiply-ing. <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a2">calculate_fft</a> (unsigned 1 select_inverse)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine performs the Fast Fourier Transform for calculation of the frequency spectrum. <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="fft_8hcc.html#a5">equalize_audio</a> (audiodata_t *audiodata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars. <a href="#a5"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+on the samples. Besides the FFT this module also will equalize the audio signal according to the setting made by the user.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>M. Lauwerijssen </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: M. Lauwerijssen<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="fft.hcc::calculate_fft"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void calculate_fft </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">unsigned 1&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>select_inverse</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This routine performs the Fast Fourier Transform for calculation of the frequency spectrum.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>select_inverse</em>&nbsp;</td><td>determines if a FFT or iFFT has to be calculated</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td>cost 12391 cycles </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="fft_8hcc-source.html#l00095">95</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>.
+<p>
+References <a class="el" href="fft_8hcc-source.html#l00073">multiply()</a>. </td>
+ </tr>
+</table>
+
+<p>
+Here is the call graph for this function:<p><center><img src="fft_8hcc_a2_cgraph.png" border="0" usemap="#fft_8hcc_a2_cgraph_map" alt=""></center>
+<map name="fft_8hcc_a2_cgraph_map">
+<area href="fft_8hcc.html#a1" shape="rect" coords="151,8,221,34" alt="">
+</map>
+<a class="anchor" name="a5" doxytag="fft.hcc::equalize_audio"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void equalize_audio </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">audiodata_t *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>audiodata</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This routine equalizes the frequencies derived by the FFT calculation, according to the settings of the equalizer bars.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*audiodata</em>&nbsp;</td><td>pointer to the audiodata struct, containing the eq_info, etc.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td>cost 3844 cycles (Maximum) </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="fft_8hcc-source.html#l00389">389</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>.
+<p>
+References <a class="el" href="fft_8hcc-source.html#l00073">multiply()</a>. </td>
+ </tr>
+</table>
+
+<p>
+Here is the call graph for this function:<p><center><img src="fft_8hcc_a5_cgraph.png" border="0" usemap="#fft_8hcc_a5_cgraph_map" alt=""></center>
+<map name="fft_8hcc_a5_cgraph_map">
+<area href="fft_8hcc.html#a1" shape="rect" coords="167,8,237,34" alt="">
+</map>
+<a class="anchor" name="a1" doxytag="fft.hcc::multiply"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">macro proc multiply </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">result&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>op_a&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>op_b&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Procedure used for multiply-ing.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>variable containing the result of the multiply procedure </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>op_a</em>&nbsp;</td><td>integer value to be multiplied. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>op_b</em>&nbsp;</td><td>integer value to be multiplied.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Procedure returns through variable. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>signed</em>&nbsp;</td><td>36 </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="fft_8hcc-source.html#l00073">73</a> of file <a class="el" href="fft_8hcc-source.html">fft.hcc</a>.
+<p>
+Referenced by <a class="el" href="fft_8hcc-source.html#l00095">calculate_fft()</a>, and <a class="el" href="fft_8hcc-source.html#l00389">equalize_audio()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.map b/Graphic_Equalizer/doc/html/fft_8hcc__incl.map
new file mode 100644
index 0000000..2d923f7
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc__incl.map
@@ -0,0 +1,4 @@
+base referer
+rect $audio_8hch.html 245,7 325,34
+rect $weights__256_8hch-source.html 349,7 472,34
+rect $configuration_8hch.html 496,7 621,34
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5
new file mode 100644
index 0000000..6b90790
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc__incl.md5
@@ -0,0 +1 @@
+af4485cdfc938c062a18c2da9da4fe29 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc__incl.png b/Graphic_Equalizer/doc/html/fft_8hcc__incl.png
new file mode 100644
index 0000000..64ce389
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map
new file mode 100644
index 0000000..de7305e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.map
@@ -0,0 +1,2 @@
+base referer
+rect $fft_8hcc.html#a1 151,8 221,34
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5
new file mode 100644
index 0000000..eea4b2a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.md5
@@ -0,0 +1 @@
+a664c98e0e50457202b8c3914d39308b \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png
new file mode 100644
index 0000000..2f3869f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a2_cgraph.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map
new file mode 100644
index 0000000..bf2ee37
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.map
@@ -0,0 +1,2 @@
+base referer
+rect $fft_8hcc.html#a1 167,8 237,34
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5 b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5
new file mode 100644
index 0000000..f927306
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.md5
@@ -0,0 +1 @@
+f0c4c2af57885262b921645fe4f73262 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png
new file mode 100644
index 0000000..29c7f08
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hcc_a5_cgraph.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/fft_8hch-source.html b/Graphic_Equalizer/doc/html/fft_8hch-source.html
new file mode 100644
index 0000000..b2141cb
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/fft_8hch-source.html
@@ -0,0 +1,22 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/fft.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>fft.hch</h1><div class="fragment"><pre class="fragment">00001 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00002 <span class="preprocessor"></span><span class="keywordtype">void</span> perform_fft(<span class="keywordtype">signed</span> 18 *pcm_audio);
+00003 <span class="keywordtype">void</span> perform_ifft(<span class="keywordtype">signed</span> 18 *modified_audio ,<span class="keywordtype">unsigned</span> 6 *ifft_info);
+00004 <span class="preprocessor">#else</span>
+00005 <span class="preprocessor"></span><span class="keywordtype">void</span> perform_fft(<span class="keywordtype">signed</span> 16 *pcm_audio);
+00006 <span class="keywordtype">void</span> perform_ifft(<span class="keywordtype">signed</span> 16 *modified_audio ,<span class="keywordtype">unsigned</span> 6 *ifft_info);
+00007 <span class="preprocessor">#endif</span>
+00008 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="fft_8hcc.html#a5">equalize_audio</a>(audiodata_t *audiodata);
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/files.html b/Graphic_Equalizer/doc/html/files.html
new file mode 100644
index 0000000..dce5f2a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/files.html
@@ -0,0 +1,36 @@
+<!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: File Index</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="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="globals.html">Globals</a></div>
+<h1>Graphic Equalizer File List</h1>Here is a list of all documented files with brief descriptions:<table>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="audio_8hch.html">audio.hch</a> <a href="audio_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="configuration_8hch.html">configuration.hch</a> <a href="configuration_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="display_8hch.html">display.hch</a> <a href="display_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="display__shared_8hch.html">display_shared.hch</a> <a href="display__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="eventhandler_8hch.html">eventhandler.hch</a> <a href="eventhandler_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a> <a href="eventhandler__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="events_8hch.html">events.hch</a> <a href="events_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<b>fft.hch</b> <a href="fft_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="mouse_8hch.html">mouse.hch</a> <a href="mouse_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="mouse__shared_8hch.html">mouse_shared.hch</a> <a href="mouse__shared_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<b>runfft.hch</b> <a href="runfft_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<a class="el" href="smartmedia_8hch.html">smartmedia.hch</a> <a href="smartmedia_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/<b>weights_256.hch</b> <a href="weights__256_8hch-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="audio_8hcc.html">audio.hcc</a> <a href="audio_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="display_8hcc.html">display.hcc</a> <a href="display_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="eventhandler_8hcc.html">eventhandler.hcc</a> <a href="eventhandler_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="events_8hcc.html">events.hcc</a> <a href="events_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="fft_8hcc.html">fft.hcc</a> <a href="fft_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="main_8hcc.html">main.hcc</a> <a href="main_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="mouse_8hcc.html">mouse.hcc</a> <a href="mouse_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="runfft_8hcc.html">runfft.hcc</a> <a href="runfft_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey">C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/<a class="el" href="smartmedia_8hcc.html">smartmedia.hcc</a> <a href="smartmedia_8hcc-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/ftv2blank.png b/Graphic_Equalizer/doc/html/ftv2blank.png
new file mode 100644
index 0000000..493c3c0
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2blank.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2doc.png b/Graphic_Equalizer/doc/html/ftv2doc.png
new file mode 100644
index 0000000..f72999f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2doc.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2folderclosed.png b/Graphic_Equalizer/doc/html/ftv2folderclosed.png
new file mode 100644
index 0000000..d6d0634
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2folderclosed.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2folderopen.png b/Graphic_Equalizer/doc/html/ftv2folderopen.png
new file mode 100644
index 0000000..bbe2c91
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2folderopen.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2lastnode.png b/Graphic_Equalizer/doc/html/ftv2lastnode.png
new file mode 100644
index 0000000..e7b9ba9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2lastnode.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2link.png b/Graphic_Equalizer/doc/html/ftv2link.png
new file mode 100644
index 0000000..14f3fed
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2link.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2mlastnode.png b/Graphic_Equalizer/doc/html/ftv2mlastnode.png
new file mode 100644
index 0000000..09ceb6a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2mlastnode.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2mnode.png b/Graphic_Equalizer/doc/html/ftv2mnode.png
new file mode 100644
index 0000000..3254c05
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2mnode.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2node.png b/Graphic_Equalizer/doc/html/ftv2node.png
new file mode 100644
index 0000000..c9f06a5
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2node.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2plastnode.png b/Graphic_Equalizer/doc/html/ftv2plastnode.png
new file mode 100644
index 0000000..0b07e00
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2plastnode.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2pnode.png b/Graphic_Equalizer/doc/html/ftv2pnode.png
new file mode 100644
index 0000000..2001b79
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2pnode.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/ftv2vertline.png b/Graphic_Equalizer/doc/html/ftv2vertline.png
new file mode 100644
index 0000000..b330f3a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/ftv2vertline.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/globals.html b/Graphic_Equalizer/doc/html/globals.html
new file mode 100644
index 0000000..7418674
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/globals.html
@@ -0,0 +1,30 @@
+<!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: Globals</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="files.html">File&nbsp;List</a> | <a class="qindexHL" href="globals.html">Globals</a></div>
+<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a></div>
+
+<p>
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:<ul>
+<li>audio_init()
+: <a class="el" href="audio_8hcc.html#a0">audio.hcc</a>, <a class="el" href="audio_8hch.html#a11">audio.hch</a><li>audio_main()
+: <a class="el" href="audio_8hcc.html#a1">audio.hcc</a>, <a class="el" href="audio_8hch.html#a12">audio.hch</a><li>calculate_fft()
+: <a class="el" href="fft_8hcc.html#a2">fft.hcc</a><li>display_main()
+: <a class="el" href="display_8hcc.html#a3">display.hcc</a>, <a class="el" href="display_8hch.html#a5">display.hch</a><li>equalize_audio()
+: <a class="el" href="fft_8hcc.html#a5">fft.hcc</a><li>eventhandler_main()
+: <a class="el" href="eventhandler_8hcc.html#a3">eventhandler.hcc</a>, <a class="el" href="eventhandler_8hch.html#a1">eventhandler.hch</a><li>load_preset()
+: <a class="el" href="events_8hcc.html#a2">events.hcc</a>, <a class="el" href="events_8hch.html#a1">events.hch</a><li>main()
+: <a class="el" href="main_8hcc.html#a1">main.hcc</a><li>mouse_main()
+: <a class="el" href="mouse_8hcc.html#a0">mouse.hcc</a>, <a class="el" href="mouse_8hch.html#a2">mouse.hch</a><li>multiply()
+: <a class="el" href="fft_8hcc.html#a1">fft.hcc</a><li>reload_equalizer()
+: <a class="el" href="display_8hcc.html#a4">display.hcc</a><li>smartmedia_init()
+: <a class="el" href="smartmedia_8hcc.html#a0">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a9">smartmedia.hch</a><li>smartmedia_loaddata()
+: <a class="el" href="smartmedia_8hcc.html#a1">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a10">smartmedia.hch</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/globals_func.html b/Graphic_Equalizer/doc/html/globals_func.html
new file mode 100644
index 0000000..7f90955
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/globals_func.html
@@ -0,0 +1,30 @@
+<!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: Globals - Functions</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="files.html">File&nbsp;List</a> | <a class="qindexHL" href="globals.html">Globals</a></div>
+<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_func.html">Functions</a></div>
+
+<p>
+<ul>
+<li>audio_init()
+: <a class="el" href="audio_8hcc.html#a0">audio.hcc</a>, <a class="el" href="audio_8hch.html#a11">audio.hch</a><li>audio_main()
+: <a class="el" href="audio_8hcc.html#a1">audio.hcc</a>, <a class="el" href="audio_8hch.html#a12">audio.hch</a><li>calculate_fft()
+: <a class="el" href="fft_8hcc.html#a2">fft.hcc</a><li>display_main()
+: <a class="el" href="display_8hcc.html#a3">display.hcc</a>, <a class="el" href="display_8hch.html#a5">display.hch</a><li>equalize_audio()
+: <a class="el" href="fft_8hcc.html#a5">fft.hcc</a><li>eventhandler_main()
+: <a class="el" href="eventhandler_8hcc.html#a3">eventhandler.hcc</a>, <a class="el" href="eventhandler_8hch.html#a1">eventhandler.hch</a><li>load_preset()
+: <a class="el" href="events_8hcc.html#a2">events.hcc</a>, <a class="el" href="events_8hch.html#a1">events.hch</a><li>main()
+: <a class="el" href="main_8hcc.html#a1">main.hcc</a><li>mouse_main()
+: <a class="el" href="mouse_8hcc.html#a0">mouse.hcc</a>, <a class="el" href="mouse_8hch.html#a2">mouse.hch</a><li>multiply()
+: <a class="el" href="fft_8hcc.html#a1">fft.hcc</a><li>reload_equalizer()
+: <a class="el" href="display_8hcc.html#a4">display.hcc</a><li>smartmedia_init()
+: <a class="el" href="smartmedia_8hcc.html#a0">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a9">smartmedia.hch</a><li>smartmedia_loaddata()
+: <a class="el" href="smartmedia_8hcc.html#a1">smartmedia.hcc</a>, <a class="el" href="smartmedia_8hch.html#a10">smartmedia.hch</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/graph_legend.dot b/Graphic_Equalizer/doc/html/graph_legend.dot
new file mode 100644
index 0000000..5420927
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/graph_legend.dot
@@ -0,0 +1,22 @@
+digraph G
+{
+ edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10];
+ node [fontname="Helvetica",fontsize=10,shape=record];
+ Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",style="filled" fontcolor="white"];
+ Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
+ Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"];
+ Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
+ Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"];
+ Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="Helvetica"];
+ Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"];
+ Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="Helvetica"];
+ Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"];
+ Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
+ Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="grey75"];
+ Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
+ Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
+ Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="Helvetica"];
+ Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
+ Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="Helvetica"];
+ Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"];
+}
diff --git a/Graphic_Equalizer/doc/html/graph_legend.html b/Graphic_Equalizer/doc/html/graph_legend.html
new file mode 100644
index 0000000..76c166f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/graph_legend.html
@@ -0,0 +1,74 @@
+<!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: Graph Legend</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="files.html">File&nbsp;List</a> | <a class="qindex" href="globals.html">Globals</a></div>
+<h1>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
+Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
+<span class="keyword">class </span>Invisible { };
+<span class="comment"></span>
+<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
+<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
+
+<span class="comment">/* Class not documented with doxygen comments */</span>
+<span class="keyword">class </span>Undocumented { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using public inheritance */</span>
+<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
+<span class="comment"></span>
+<span class="comment">/*! A template class */</span>
+<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using protected inheritance */</span>
+<span class="keyword">class </span>ProtectedBase { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is inherited using private inheritance */</span>
+<span class="keyword">class </span>PrivateBase { };
+<span class="comment"></span>
+<span class="comment">/*! Class that is used by the Inherited class */</span>
+<span class="keyword">class </span>Used { };
+<span class="comment"></span>
+<span class="comment">/*! Super class that inherits a number of other classes */</span>
+<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
+ <span class="keyword">protected</span> ProtectedBase,
+ <span class="keyword">private</span> PrivateBase,
+ <span class="keyword">public</span> Undocumented
+ <span class="keyword">public</span> Templ&lt;int&gt;
+{
+ <span class="keyword">private</span>:
+ Used *m_usedClass;
+};
+</pre></div>If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
+<center><div align="center">
+<img src="graph_legend.png" alt="graph_legend.png" alt>
+</div>
+</center> <p>
+The boxes in the above graph have the following meaning: <ul>
+<li>
+A filled black box represents the struct or class for which the graph is generated. </li>
+<li>
+A box with a black border denotes a documented struct or class. </li>
+<li>
+A box with a grey border denotes an undocumented struct or class. </li>
+<li>
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
+</ul>
+The arrows have the following meaning: <ul>
+<li>
+A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
+<li>
+A dark green arrow is used for protected inheritance. </li>
+<li>
+A dark red arrow is used for private inheritance. </li>
+<li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
+<li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
+</ul>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:51 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/graph_legend.png b/Graphic_Equalizer/doc/html/graph_legend.png
new file mode 100644
index 0000000..b8cfe42
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/graph_legend.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/index.html b/Graphic_Equalizer/doc/html/index.html
new file mode 100644
index 0000000..d51127f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/index.html
@@ -0,0 +1,8 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>Graphic Equalizer</title></head>
+<frameset cols="250,*">
+ <frame src="tree.html" name="treefrm">
+ <frame src="main.html" name="basefrm">
+</frameset>
+</html>
diff --git a/Graphic_Equalizer/doc/html/main.html b/Graphic_Equalizer/doc/html/main.html
new file mode 100644
index 0000000..60b2f95
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main.html
@@ -0,0 +1,14 @@
+<!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: Main Page</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.9.1 -->
+<div class="qindex"><a class="qindexHL" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="globals.html">Globals</a></div>
+<h1>Graphic Equalizer Documentation</h1>
+<p>
+<h3 align="center">2.0.1 </h3><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:46 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/main_8hcc-source.html b/Graphic_Equalizer/doc/html/main_8hcc-source.html
new file mode 100644
index 0000000..b95c023
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc-source.html
@@ -0,0 +1,164 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/main.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="files.html">File&nbsp;List</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>main.hcc</h1><a href="main_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="comment">/*</span>
+00020 <span class="comment"> * Set the Clock rate for this domain. 25.175 Mhz is required for the Video output.</span>
+00021 <span class="comment"> */</span>
+00022 <span class="preprocessor">#define PAL_TARGET_CLOCK_RATE 25175000</span>
+00023 <span class="preprocessor"></span>
+00024 <span class="comment">/******** System Includes *************/</span>
+00025 <span class="preprocessor">#include "pal_master.hch"</span>
+00026
+00027 <span class="comment">/******** Application Includes ********/</span>
+00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00029 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00030 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span>
+00031 <span class="preprocessor">#include "<a class="code" href="mouse_8hch.html">mouse.hch</a>"</span>
+00032 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span>
+00033 <span class="preprocessor">#include "<a class="code" href="eventhandler_8hch.html">eventhandler.hch</a>"</span>
+00034 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span>
+00035 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span>
+00036 <span class="preprocessor">#include "<a class="code" href="smartmedia_8hch.html">smartmedia.hch</a>"</span>
+00037
+00038 <span class="preprocessor">#include "fft.hch"</span>
+00039 <span class="preprocessor">#include "runfft.hch"</span>
+00040
+00041 <span class="preprocessor">#if HAVE_DEBUG</span>
+00042 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span>
+00043 <span class="preprocessor">#endif</span>
+00044 <span class="preprocessor"></span>
+<a name="l00051"></a><a class="code" href="main_8hcc.html#a1">00051</a> <span class="keywordtype">void</span> <a class="code" href="main_8hcc.html#a1">main</a>(<span class="keywordtype">void</span>) {
+00052 <span class="comment">/*</span>
+00053 <span class="comment"> * Set VideoOut, Audio I/O and Ram Handles and set clockrate.</span>
+00054 <span class="comment"> */</span>
+00055 macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00056 macro expr VideoOut = PalVideoOutOptimalCT(ClockRate);
+00057 macro expr AudioIn = PalAudioInCT(0);
+00058 macro expr AudioOut = PalAudioOutCT(0);
+00059 macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00060
+00061 mousedata_t mousedata;
+00062 events_t events;
+00063 audiodata_t audiodata;
+00064 skindata_t skindata;
+00065 <span class="keywordtype">unsigned</span> 1 result;
+00066
+00067 <span class="comment">/*</span>
+00068 <span class="comment"> * Check library versions and Request various hardware functionality.</span>
+00069 <span class="comment"> * We need at least Major Version 1. For Audio purposes we need atleast</span>
+00070 <span class="comment"> * minor version 2.</span>
+00071 <span class="comment"> */</span>
+00072 PalVersionRequire(1, 2);
+00073 PalVideoOutRequire(1);
+00074 PalAudioInRequire(1);
+00075 PalAudioOutRequire(1);
+00076 PalPL2RAMRequire(1);
+00077
+00078 <span class="comment">/*</span>
+00079 <span class="comment"> * We verify some datawidths here at compile time. This to ensure</span>
+00080 <span class="comment"> * successfull operation.</span>
+00081 <span class="comment"> */</span>
+00082 assert (PalVideoOutGetColorWidthCT(VideoOut) == 24, 0,
+00083 <span class="stringliteral">"We need a 24-bit color Display."</span>);
+00084 assert (PalPL2RAMGetDataWidthCT(RAM_BANK0) &gt;= 32, 0,
+00085 <span class="stringliteral">"We can't work with anything less then 32 bits wide ram."</span>);
+00086
+00087 <span class="comment">/*</span>
+00088 <span class="comment"> * Run The Following main tasks in parallel.</span>
+00089 <span class="comment"> */</span>
+00090 par {
+00091 <span class="comment">/*</span>
+00092 <span class="comment"> * Primary task is to 'Run' several hardware simultaniously.</span>
+00093 <span class="comment"> */</span>
+00094 PalVideoOutRun(VideoOut, ClockRate);
+00095 MouseRun(ClockRate);
+00096 PalAudioInRun(AudioIn, ClockRate);
+00097 PalAudioOutRun(AudioOut, ClockRate);
+00098 PalPL2RAMRun(RAM_BANK0, ClockRate);
+00099 <span class="preprocessor">#if HAVE_SMARTMEDIA</span>
+00100 <span class="preprocessor"></span> <span class="comment">/*</span>
+00101 <span class="comment"> * The smartmedia device needs the CPLD to run also.</span>
+00102 <span class="comment"> */</span>
+00103 CPLDRun(ClockRate);
+00104 SmartMediaRun(ClockRate);
+00105 <span class="preprocessor">#endif</span>
+00106 <span class="preprocessor"></span><span class="preprocessor">#if HAVE_DEBUG</span>
+00107 <span class="preprocessor"></span> RC200RS232Run(RC200RS232_115200Baud, RC200RS232ParityNone,
+00108 RC200RS232FlowControlNone, ClockRate);
+00109 <span class="preprocessor">#endif</span>
+00110 <span class="preprocessor"></span>
+00111 <span class="comment">/*</span>
+00112 <span class="comment"> * Parallel to our Primary tasks we run the application.</span>
+00113 <span class="comment"> */</span>
+00114 seq {
+00115 <span class="comment">/*</span>
+00116 <span class="comment"> * But first we need to initialize Video and Audio.</span>
+00117 <span class="comment"> * We also load the data from the SmartMedia card</span>
+00118 <span class="comment"> * into the ram.</span>
+00119 <span class="comment"> */</span>
+00120 <span class="preprocessor">#if HAVE_DEBUG</span>
+00121 <span class="preprocessor"></span> print_cls();
+00122 print_string(<span class="stringliteral">"Graphic Equalizer 2"</span>);
+00123 print_eol();
+00124 <span class="preprocessor">#endif</span>
+00125 <span class="preprocessor"></span> PalVideoOutEnable(VideoOut);
+00126 PalAudioInEnable(AudioIn);
+00127 PalAudioOutEnable(AudioOut);
+00128 <a class="code" href="audio_8hcc.html#a0">audio_init</a>(6, LINE_IN, SR_44100, AudioIn, AudioOut);
+00129 <span class="preprocessor">#if HAVE_SMARTMEDIA</span>
+00130 <span class="preprocessor"></span> <span class="comment">/*</span>
+00131 <span class="comment"> * Once we properly setup the SmartMedia we load our</span>
+00132 <span class="comment"> * data folowed by our main program loop.</span>
+00133 <span class="comment"> */</span>
+00134 result = <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>();
+00135 <span class="keywordflow">if</span> (!result) {
+00136 <span class="preprocessor">#endif</span>
+00137 <span class="preprocessor"></span><span class="preprocessor">#if HAVE_DEBUG</span>
+00138 <span class="preprocessor"></span> print_string(<span class="stringliteral">"Loading Skin ..."</span>);
+00139 <span class="preprocessor">#endif</span>
+00140 <span class="preprocessor"></span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(&amp;skindata);
+00141 <span class="preprocessor">#if HAVE_DEBUG</span>
+00142 <span class="preprocessor"></span> print_eol();
+00143 print_string(<span class="stringliteral">"Done Loading Skin ..."</span>);
+00144 print_eol();
+00145 print_string(<span class="stringliteral">"Running Main Application."</span>);
+00146 print_eol();
+00147 <span class="preprocessor">#endif</span>
+00148 <span class="preprocessor"></span>
+00149 <span class="comment">/*</span>
+00150 <span class="comment"> * Main application starts here!</span>
+00151 <span class="comment"> */</span>
+00152 par {
+00153 <span class="comment">/*</span>
+00154 <span class="comment"> * From here we run the mouse driver, audio</span>
+00155 <span class="comment"> * and display in parallel. None of these</span>
+00156 <span class="comment"> * should ever return.</span>
+00157 <span class="comment"> */</span>
+00158 <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(&amp;mousedata);
+00159 <a class="code" href="display_8hcc.html#a3">display_main</a>(&amp;skindata, &amp;audiodata, &amp;events, &amp;mousedata);
+00160 <a class="code" href="eventhandler_8hcc.html#a3">eventhandler_main</a>(&amp;audiodata, &amp;events, &amp;mousedata);
+00161 <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AudioIn, AudioOut);
+00162 }
+00163 <span class="preprocessor">#if HAVE_SMARTMEDIA</span>
+00164 <span class="preprocessor"></span> } <span class="keywordflow">else</span> {
+00165 <span class="preprocessor">#if HAVE_DEBUG</span>
+00166 <span class="preprocessor"></span> print_string(<span class="stringliteral">"Error Initializing SmartMedia"</span>);
+00167 <span class="preprocessor">#endif</span>
+00168 <span class="preprocessor"></span> }
+00169 <span class="preprocessor">#endif</span>
+00170 <span class="preprocessor"></span> }
+00171 }
+00172
+00173 } <span class="comment">/* --- main() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/main_8hcc.html b/Graphic_Equalizer/doc/html/main_8hcc.html
new file mode 100644
index 0000000..e2ed5f2
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc.html
@@ -0,0 +1,122 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/main.hcc File Reference</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="files.html">File&nbsp;List</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>main.hcc File Reference</h1><code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse_8hch-source.html">mouse.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler_8hch-source.html">eventhandler.hch</a>"</code><br>
+<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br>
+<code>#include "<a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>"</code><br>
+<code>#include "fft.hch"</code><br>
+<code>#include "runfft.hch"</code><br>
+
+<p>
+Include dependency graph for main.hcc:<p><center><img src="main_8hcc__incl.png" border="0" usemap="#main.hcc_map" alt="Include dependency graph"></center>
+<map name="main.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="143,7,269,34" alt="">
+<area href="audio_8hch.html" shape="rect" coords="293,7,373,34" alt="">
+<area href="mouse__shared_8hch.html" shape="rect" coords="397,7,533,34" alt="">
+<area href="mouse_8hch.html" shape="rect" coords="557,7,645,34" alt="">
+<area href="eventhandler__shared_8hch.html" shape="rect" coords="669,7,842,34" alt="">
+<area href="eventhandler_8hch.html" shape="rect" coords="866,7,991,34" alt="">
+<area href="display__shared_8hch.html" shape="rect" coords="1015,7,1151,34" alt="">
+<area href="display_8hch.html" shape="rect" coords="1175,7,1263,34" alt="">
+<area href="smartmedia_8hch.html" shape="rect" coords="1287,7,1405,34" alt="">
+<area href="fft_8hch-source.html" shape="rect" coords="1429,7,1487,34" alt="">
+<area href="runfft_8hch-source.html" shape="rect" coords="1511,7,1589,34" alt="">
+</map>
+
+<p>
+<a href="main_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8hcc.html#a1">main</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main Application Loop. <a href="#a1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="main_8hcc-source.html">main.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a1" doxytag="main.hcc::main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Main Application Loop.
+<p>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="main_8hcc-source.html#l00051">51</a> of file <a class="el" href="main_8hcc-source.html">main.hcc</a>.
+<p>
+References <a class="el" href="audio_8hcc-source.html#l00045">audio_init()</a>, <a class="el" href="audio_8hcc-source.html#l00075">audio_main()</a>, <a class="el" href="display_8hcc-source.html#l00064">display_main()</a>, <a class="el" href="eventhandler_8hcc-source.html#l00063">eventhandler_main()</a>, <a class="el" href="mouse_8hcc-source.html#l00048">mouse_main()</a>, <a class="el" href="smartmedia_8hcc-source.html#l00045">smartmedia_init()</a>, and <a class="el" href="smartmedia_8hcc-source.html#l00071">smartmedia_loaddata()</a>. </td>
+ </tr>
+</table>
+
+<p>
+Here is the call graph for this function:<p><center><img src="main_8hcc_a1_cgraph.png" border="0" usemap="#main_8hcc_a1_cgraph_map" alt=""></center>
+<map name="main_8hcc_a1_cgraph_map">
+<area href="audio_8hcc.html#a0" shape="rect" coords="145,8,225,34" alt="">
+<area href="audio_8hcc.html#a1" shape="rect" coords="140,58,230,85" alt="">
+<area href="display_8hcc.html#a3" shape="rect" coords="134,109,236,136" alt="">
+<area href="eventhandler_8hcc.html#a3" shape="rect" coords="117,160,253,186" alt="">
+<area href="mouse_8hcc.html#a0" shape="rect" coords="136,210,234,237" alt="">
+<area href="smartmedia_8hch.html#a9" shape="rect" coords="126,261,244,288" alt="">
+<area href="smartmedia_8hcc.html#a1" shape="rect" coords="109,312,261,338" alt="">
+<area href="events_8hcc.html#a2" shape="rect" coords="325,134,416,161" alt="">
+<area href="display_8hcc.html#a4" shape="rect" coords="310,185,430,212" alt="">
+</map>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.map b/Graphic_Equalizer/doc/html/main_8hcc__incl.map
new file mode 100644
index 0000000..f5d400e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc__incl.map
@@ -0,0 +1,12 @@
+base referer
+rect $configuration_8hch.html 143,7 269,34
+rect $audio_8hch.html 293,7 373,34
+rect $mouse__shared_8hch.html 397,7 533,34
+rect $mouse_8hch.html 557,7 645,34
+rect $eventhandler__shared_8hch.html 669,7 842,34
+rect $eventhandler_8hch.html 866,7 991,34
+rect $display__shared_8hch.html 1015,7 1151,34
+rect $display_8hch.html 1175,7 1263,34
+rect $smartmedia_8hch.html 1287,7 1405,34
+rect $fft_8hch-source.html 1429,7 1487,34
+rect $runfft_8hch-source.html 1511,7 1589,34
diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/main_8hcc__incl.md5
new file mode 100644
index 0000000..4c381f9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc__incl.md5
@@ -0,0 +1 @@
+a58fdd2d7864a80c84f599fc494e12fb \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/main_8hcc__incl.png b/Graphic_Equalizer/doc/html/main_8hcc__incl.png
new file mode 100644
index 0000000..a519b5a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map
new file mode 100644
index 0000000..0a561a6
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.map
@@ -0,0 +1,10 @@
+base referer
+rect $audio_8hcc.html#a0 145,8 225,34
+rect $audio_8hcc.html#a1 140,58 230,85
+rect $display_8hcc.html#a3 134,109 236,136
+rect $eventhandler_8hcc.html#a3 117,160 253,186
+rect $mouse_8hcc.html#a0 136,210 234,237
+rect $smartmedia_8hch.html#a9 126,261 244,288
+rect $smartmedia_8hcc.html#a1 109,312 261,338
+rect $events_8hcc.html#a2 325,134 416,161
+rect $display_8hcc.html#a4 310,185 430,212
diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5 b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5
new file mode 100644
index 0000000..a1cfce5
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.md5
@@ -0,0 +1 @@
+cb39dc81a189770b36ae70a4f9bee1f4 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png
new file mode 100644
index 0000000..c55d7a3
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/main_8hcc_a1_cgraph.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc-source.html b/Graphic_Equalizer/doc/html/mouse_8hcc-source.html
new file mode 100644
index 0000000..7214416
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hcc-source.html
@@ -0,0 +1,116 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/mouse.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="files.html">File&nbsp;List</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>mouse.hcc</h1><a href="mouse_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 <span class="preprocessor">#include "pal_mouse.hch"</span>
+00026
+00027 <span class="comment">/******** Application Includes ********/</span>
+00028 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.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="mouse_8hch.html">mouse.hch</a>"</span>
+00031
+00032 <span class="preprocessor">#if HAVE_DEBUG</span>
+00033 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span>
+00034 <span class="preprocessor">#endif</span>
+00035 <span class="preprocessor"></span>
+00036
+00037
+<a name="l00048"></a><a class="code" href="mouse_8hcc.html#a0">00048</a> <span class="keywordtype">void</span> <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(mousedata_t *mousedata) {
+00049 <span class="keywordtype">unsigned</span> 18 touch_sampler;
+00050 <span class="keywordtype">unsigned</span> 10 x, oldx;
+00051 <span class="keywordtype">unsigned</span> 9 y, oldy;
+00052 <span class="keywordtype">unsigned</span> 3 mousestate, oldmousestate;
+00053 <span class="keywordtype">unsigned</span> 1 touch, touched, oldtouched;
+00054
+00055 <span class="comment">/*</span>
+00056 <span class="comment"> * We only check for mouse states once every 2^18 time. This to</span>
+00057 <span class="comment"> * overcome the sampling of the 'Touch' state of the RC200 libs. When</span>
+00058 <span class="comment"> * using newer libs this might be overkill, e.g. smaller values may</span>
+00059 <span class="comment"> * work or sampling all together will be redundant.</span>
+00060 <span class="comment"> */</span>
+00061 touch_sampler = 1;
+00062 <span class="keywordflow">while</span> (TRUE) {
+00063 <span class="keywordflow">if</span> (!touch_sampler) {
+00064 <span class="comment">/*</span>
+00065 <span class="comment"> * We are here ready to set mouse states. We compare</span>
+00066 <span class="comment"> * current and previous states and thereby determine</span>
+00067 <span class="comment"> * the state to send to others</span>
+00068 <span class="comment"> */</span>
+00069 <span class="keywordflow">if</span> (touched) {
+00070 <span class="keywordflow">if</span>(oldtouched) {
+00071 mousestate = MOUSE_STATE_DOWN;
+00072 } <span class="keywordflow">else</span> {
+00073 mousestate = MOUSE_STATE_ON_PRESS;
+00074 }
+00075 oldtouched = TRUE;
+00076 } <span class="keywordflow">else</span> {
+00077 <span class="keywordflow">if</span>(oldtouched) {
+00078 mousestate = MOUSE_STATE_ON_RELEASE;
+00079 } <span class="keywordflow">else</span> {
+00080 mousestate = MOUSE_STATE_UP;
+00081 }
+00082 oldtouched = FALSE;
+00083 }
+00084 <span class="comment">/*</span>
+00085 <span class="comment"> * We have now processed our Touch. Reset it for the</span>
+00086 <span class="comment"> * next run.</span>
+00087 <span class="comment"> */</span>
+00088 touched = FALSE;
+00089
+00090 <span class="comment">/*</span>
+00091 <span class="comment"> * In the rare occurance that we receive values</span>
+00092 <span class="comment"> * beyond our range, we set them to some sane</span>
+00093 <span class="comment"> * values here.</span>
+00094 <span class="comment"> */</span>
+00095 x = (x &gt; 639) ? 0 : x;
+00096 y = (y &gt; 479) ? 0 : y;
+00097
+00098 <span class="comment">/*</span>
+00099 <span class="comment"> * Compare Previous States and Coordinates to determine</span>
+00100 <span class="comment"> * wether they have changed. If so, Copy them into</span>
+00101 <span class="comment"> * shared memory, notify the listening processes and</span>
+00102 <span class="comment"> * Set the new as previous values for the next run. We</span>
+00103 <span class="comment"> * can only do this when the display has handled all</span>
+00104 <span class="comment"> * changes.</span>
+00105 <span class="comment"> */</span>
+00106 <span class="keywordflow">if</span> (((oldmousestate != mousestate) || (oldx != x) || (oldy != y)) &amp;&amp; (MOUSE_NOT_UPDATED == mousedata-&gt;status)) {
+00107 <span class="comment">//par {</span>
+00108 oldx = x;
+00109 oldy = y;
+00110 oldmousestate = mousestate;
+00111 mousedata-&gt;x = x;
+00112 mousedata-&gt;y = 0 @ y;
+00113 mousedata-&gt;state = mousestate;
+00114 mousedata-&gt;status = MOUSE_UPDATED;
+00115 <span class="comment">//}</span>
+00116 }
+00117 }
+00118
+00119 <span class="comment">/*</span>
+00120 <span class="comment"> * Read the current X and Y of the 'cursor' and register wether</span>
+00121 <span class="comment"> * the display was touched. If touched store this in a local</span>
+00122 <span class="comment"> * store. This we do to catch the sampling of the RC200 lib.</span>
+00123 <span class="comment"> */</span>
+00124 RC200TouchScreenReadScaled(&amp;x, &amp;y, &amp;touch);
+00125 <span class="keywordflow">if</span> (touch) {
+00126 touched = TRUE;
+00127 }
+00128
+00129 touch_sampler++;
+00130 }
+00131 } <span class="comment">/* --- mouse_main() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc.html b/Graphic_Equalizer/doc/html/mouse_8hcc.html
new file mode 100644
index 0000000..a82959f
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hcc.html
@@ -0,0 +1,99 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/mouse.hcc File Reference</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="files.html">File&nbsp;List</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>mouse.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "pal_mouse.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse_8hch-source.html">mouse.hch</a>"</code><br>
+
+<p>
+Include dependency graph for mouse.hcc:<p><center><img src="mouse_8hcc__incl.png" border="0" usemap="#mouse.hcc_map" alt="Include dependency graph"></center>
+<map name="mouse.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="381,7,506,34" alt="">
+<area href="mouse__shared_8hch.html" shape="rect" coords="530,7,666,34" alt="">
+<area href="mouse_8hch.html" shape="rect" coords="690,7,778,34" alt="">
+</map>
+
+<p>
+<a href="mouse_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hcc.html#a0">mouse_main</a> (mousedata_t *mousedata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. <a href="#a0"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+input function itself is however performed by the touchscreen of the RC200.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a0" doxytag="mouse.hcc::mouse_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void mouse_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">mousedata_t *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mousedata</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>Storage for all mousedata and states.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="mouse_8hcc-source.html#l00048">48</a> of file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map
new file mode 100644
index 0000000..ed301e8
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.map
@@ -0,0 +1,4 @@
+base referer
+rect $configuration_8hch.html 381,7 506,34
+rect $mouse__shared_8hch.html 530,7 666,34
+rect $mouse_8hch.html 690,7 778,34
diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5
new file mode 100644
index 0000000..8a79480
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.md5
@@ -0,0 +1 @@
+254026f7ee99dbe927548df7b2f1ac05 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png
new file mode 100644
index 0000000..f87dd35
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/mouse_8hch-source.html b/Graphic_Equalizer/doc/html/mouse_8hch-source.html
new file mode 100644
index 0000000..eb544bd
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hch-source.html
@@ -0,0 +1,38 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/mouse.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>mouse.hch</h1><a href="mouse_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _MOUSEDRIVER_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _MOUSEDRIVER_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024 <span class="comment">/*</span>
+00025 <span class="comment"> * Create a define to keep API generic</span>
+00026 <span class="comment"> */</span>
+00027 <span class="preprocessor">#define MouseRun(ClockRate) RC200TouchScreenRun(ClockRate)</span>
+00028 <span class="preprocessor"></span>
+00029
+00030
+00031 <span class="comment">/*</span>
+00032 <span class="comment"> * Main mousedriver loop. This procedure never returns! It handles mouse input,</span>
+00033 <span class="comment"> * updates the shared memory and notifies listeners. It requires a pointer to</span>
+00034 <span class="comment"> * a mousedata_t struct to store mouse information.</span>
+00035 <span class="comment"> */</span>
+00036 <span class="keywordtype">void</span> <a class="code" href="mouse_8hcc.html#a0">mouse_main</a>(mousedata_t *mousedata);
+00037
+00038 <span class="preprocessor">#else</span>
+00039 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file mousedriver.hch multiple times included"</span>
+00040 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _MOUSEDRIVER_HCH --- */</span>
+00041
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse_8hch.html b/Graphic_Equalizer/doc/html/mouse_8hch.html
new file mode 100644
index 0000000..b13c0b3
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hch.html
@@ -0,0 +1,92 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/mouse.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>mouse.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="mouse_8hch__dep__incl.png" border="0" usemap="#mouse.hchdep_map" alt="Included by dependency graph"></center>
+<map name="mouse.hchdep_map">
+<area href="main_8hcc.html" shape="rect" coords="8,7,82,34" alt="">
+<area href="mouse_8hcc.html" shape="rect" coords="106,7,192,34" alt="">
+</map>
+
+<p>
+<a href="mouse_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mouse_8hch.html#a2">mouse_main</a> (mousedata_t *mousedata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store. <a href="#a2"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="mouse_8hch-source.html">mouse.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="mouse.hch::mouse_main"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void mouse_main </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">mousedata_t *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mousedata</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Main mousedriver. This function never returns! It calls the main mousehandler and returns the States and coordinates into a shared store.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*mousedata</em>&nbsp;</td><td>Storage for all mousedata and states.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Never Returns. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="mouse_8hcc-source.html#l00048">48</a> of file <a class="el" href="mouse_8hcc-source.html">mouse.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map
new file mode 100644
index 0000000..c2ecffa
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.map
@@ -0,0 +1,3 @@
+base referer
+rect $main_8hcc.html 8,7 82,34
+rect $mouse_8hcc.html 106,7 192,34
diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5
new file mode 100644
index 0000000..30a98a4
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.md5
@@ -0,0 +1 @@
+13b256c6eed7f888f4f52496299b4b2d \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png
new file mode 100644
index 0000000..ac0c83c
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html
new file mode 100644
index 0000000..352880e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch-source.html
@@ -0,0 +1,53 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/mouse_shared.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>mouse_shared.hch</h1><a href="mouse__shared_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _MOUSEDRIVER_SHARED_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _MOUSEDRIVER_SHARED_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022 <span class="comment">/*** Data Types **********************/</span>
+00023
+00024 <span class="comment">/*</span>
+00025 <span class="comment"> * Type definition of the shared memory to be used in various processes</span>
+00026 <span class="comment"> */</span>
+00027 <span class="keyword">typedef</span> <span class="keyword">struct </span>{
+00028 <span class="keywordtype">unsigned</span> 10 x, y;
+00029 <span class="keywordtype">unsigned</span> 3 state;
+00030 <span class="keywordtype">unsigned</span> 1 status;
+00031 } mousedata_t;
+00032
+00033
+00034
+00035 <span class="comment">/*</span>
+00036 <span class="comment"> * States used to identify wether mouse data is updated</span>
+00037 <span class="comment"> */</span>
+00038 <span class="preprocessor">#define MOUSE_NOT_UPDATED 0</span>
+00039 <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_UPDATED 1</span>
+00040 <span class="preprocessor"></span>
+00041
+00042
+00043 <span class="comment">/*</span>
+00044 <span class="comment"> * Set of Mouse States defines</span>
+00045 <span class="comment"> */</span>
+00046 <span class="preprocessor">#define MOUSE_STATE_UP 0</span>
+00047 <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_ON_PRESS 1</span>
+00048 <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_DOWN 2</span>
+00049 <span class="preprocessor"></span><span class="preprocessor">#define MOUSE_STATE_ON_RELEASE 3</span>
+00050 <span class="preprocessor"></span>
+00051
+00052
+00053 <span class="preprocessor">#else</span>
+00054 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file mousedriver_shared.hch multiple times included"</span>
+00055 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _MOUSEDRIVER_SHARED_HCH --- */</span>
+00056
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch.html b/Graphic_Equalizer/doc/html/mouse__shared_8hch.html
new file mode 100644
index 0000000..89f79c9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch.html
@@ -0,0 +1,45 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/mouse_shared.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>mouse_shared.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="mouse__shared_8hch__dep__incl.png" border="0" usemap="#mouse_shared.hchdep_map" alt="Included by dependency graph"></center>
+<map name="mouse_shared.hchdep_map">
+<area href="display_8hcc.html" shape="rect" coords="8,7,96,34" alt="">
+<area href="eventhandler_8hcc.html" shape="rect" coords="120,7,242,34" alt="">
+<area href="main_8hcc.html" shape="rect" coords="266,7,341,34" alt="">
+<area href="mouse_8hcc.html" shape="rect" coords="365,7,450,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="474,7,592,34" alt="">
+</map>
+
+<p>
+<a href="mouse__shared_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>.<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map
new file mode 100644
index 0000000..199f162
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.map
@@ -0,0 +1,6 @@
+base referer
+rect $display_8hcc.html 8,7 96,34
+rect $eventhandler_8hcc.html 120,7 242,34
+rect $main_8hcc.html 266,7 341,34
+rect $mouse_8hcc.html 365,7 450,34
+rect $smartmedia_8hcc.html 474,7 592,34
diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5
new file mode 100644
index 0000000..003654a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.md5
@@ -0,0 +1 @@
+0fb2c7882172821abee6da1bc34d0db2 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png
new file mode 100644
index 0000000..01b165d
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/mouse__shared_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc-source.html b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html
new file mode 100644
index 0000000..554df35
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hcc-source.html
@@ -0,0 +1,166 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/runfft.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="files.html">File&nbsp;List</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>runfft.hcc</h1><a href="runfft_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00020 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00021 <span class="preprocessor">#include "pal_master.hch"</span>
+00022
+00023 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00024 <span class="preprocessor">#if USE_RUNFFT</span>
+00025 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00026 <span class="preprocessor">#include "fft.hch"</span>
+00027
+00028 <span class="preprocessor">#include "debug.hch"</span>
+00029
+00030 <span class="comment">/*</span>
+00031 <span class="comment"> * Forward declarations</span>
+00032 <span class="comment"> */</span>
+00033 <span class="keyword">static</span> macro expr ClockRate = PAL_ACTUAL_CLOCK_RATE;
+00034 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00035 <span class="preprocessor"></span><span class="comment">//input buffer</span>
+00036 ram <span class="keywordtype">signed</span> 18 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>};
+00037 <span class="comment">//output buffer</span>
+00038 ram <span class="keywordtype">signed</span> 18 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>};
+00039 <span class="preprocessor">#else</span>
+00040 <span class="preprocessor"></span><span class="comment">//input buffer</span>
+00041 ram <span class="keywordtype">signed</span> 16 audio_buffer_in[256] with { block = <span class="stringliteral">"BlockRAM"</span>};
+00042 <span class="comment">//output buffer</span>
+00043 ram <span class="keywordtype">signed</span> 16 audio_buffer_out[128] with { block = <span class="stringliteral">"BlockRAM"</span>};
+00044 <span class="preprocessor">#endif</span>
+00045 <span class="preprocessor"></span><span class="comment">//EQ settings for the FFT</span>
+00046 ram <span class="keywordtype">unsigned</span> 4 EQ_info[128] with { block = <span class="stringliteral">"BlockRAM"</span>};
+00047 <span class="comment">//EQ settings received from the display</span>
+00048
+00049
+00050 <span class="preprocessor">#if HARDWARE_MULTIPLY</span>
+00051 <span class="preprocessor"></span><span class="keywordtype">signed</span> 18 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+00052
+00053 <span class="keywordtype">signed</span> 18 *audioptr_out1,*audioptr_out2;
+00054
+00055 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
+00056 <span class="preprocessor">#else</span>
+00057 <span class="preprocessor"></span><span class="keywordtype">signed</span> 16 *audioptr_in1,*audioptr_in2,*audioptr_in3,*audioptr_in4;
+00058
+00059 <span class="keywordtype">signed</span> 16 *audioptr_out1,*audioptr_out2;
+00060
+00061 <span class="keywordtype">unsigned</span> 6 *displayptr1,*displayptr2,*displayptr3,*displayptr4;
+00062 <span class="preprocessor">#endif</span>
+00063 <span class="preprocessor"></span>
+00074 macro proc <a class="code" href="audio_8hcc.html#a1">audio_main</a>(audiodata, AUDIOIN, AUDIOOUT)
+00075 {
+00076 <span class="keywordtype">signed</span> 18 sample;
+00077 <span class="keywordtype">unsigned</span> 6 sample_count;
+00078 <span class="keywordtype">unsigned</span> 8 i,cycle;
+00079 <span class="keywordtype">unsigned</span> 4 eqinfo;
+00080
+00081 <span class="keywordtype">unsigned</span> 1 FFT_Sync, first;
+00082 macro expr OW = PalAudioOutGetMaxDataWidthCT ();
+00083 macro expr IW = PalAudioInGetMaxDataWidthCT ();
+00084 <span class="keywordtype">signed</span> LeftNew, RightNew;
+00085 <span class="keywordtype">signed</span> Output_sample;
+00086
+00087 ram <span class="keywordtype">unsigned</span> 6 input[64];
+00088
+00089 <span class="comment">//pointers for double and quadruple buffering:</span>
+00090 audioptr_in1 = &amp;audio_buffer_in[0];
+00091 audioptr_in2 = &amp;audio_buffer_in[64];
+00092 audioptr_in3 = &amp;audio_buffer_in[128];
+00093 audioptr_in4 = &amp;audio_buffer_in[192];
+00094
+00095 audioptr_out1 = &amp;audio_buffer_out[0];
+00096 audioptr_out2 = &amp;audio_buffer_out[64];
+00097
+00098 displayptr1 = &amp;audiodata.ifft_info.write[0];
+00099 displayptr2 = &amp;audiodata.ifft_info.write[64];
+00100 displayptr3 = &amp;audiodata.ifft_info.write[128];
+00101 displayptr4 = &amp;audiodata.ifft_info.write[192];
+00102
+00103 FFT_Sync=0;
+00104 par
+00105 {
+00106 <span class="keywordflow">for</span>(;;)
+00107 {
+00108 <span class="keywordflow">if</span> (FFT_Sync) <span class="comment">//if 64 samples are read from ADC...</span>
+00109 {
+00110 par
+00111 {
+00112 <span class="comment">// switch pointers </span>
+00113 audioptr_in1 = audioptr_in2;
+00114 audioptr_in2 = audioptr_in3;
+00115 audioptr_in3 = audioptr_in4;
+00116 audioptr_in4 = audioptr_in1;
+00117
+00118 audioptr_out1 = audioptr_out2;
+00119 audioptr_out2 = audioptr_out1;
+00120
+00121 displayptr1=displayptr2;
+00122 displayptr2=displayptr3;
+00123 displayptr3=displayptr4;
+00124 displayptr4=displayptr1;
+00125
+00126 FFT_Sync = 0;
+00127 }
+00128
+00129 <span class="comment">// FFT calculation</span>
+00130 perform_fft(audioptr_in1);
+00131
+00132 <span class="preprocessor">#if PERFORM_FFT_CALCULATION</span>
+00133 <span class="preprocessor"></span> <a class="code" href="fft_8hcc.html#a5">equalize_audio</a>(&amp;audiodata);
+00134 <span class="preprocessor">#endif</span>
+00135 <span class="preprocessor"></span> <span class="comment">// inverse FFT calculation</span>
+00136 perform_ifft(audioptr_out1,displayptr1);
+00137 }
+00138 <span class="keywordflow">else</span>
+00139 delay;
+00140 }
+00141
+00142 <span class="keywordflow">for</span>(sample_count=0;;)<span class="comment">//store the samples in the inputbuffer</span>
+00143 {
+00144 <span class="keywordflow">if</span> (!FFT_Sync)
+00145 {
+00146 par
+00147 {
+00148 seq
+00149 {
+00150 PalAudioInRead(AUDIOIN, &amp;LeftNew, &amp;RightNew);
+00151 <span class="preprocessor">#if HARDWARE_MULTIPLY </span>
+00152 <span class="preprocessor"></span> audioptr_in1[sample_count] = LeftNew;<span class="comment">//drop 2 LSB's</span>
+00153 <span class="preprocessor">#else</span>
+00154 <span class="preprocessor"></span> audioptr_in1[sample_count] = (LeftNew\\2);<span class="comment">//drop 2 LSB's</span>
+00155 <span class="preprocessor">#endif</span>
+00156 <span class="preprocessor"></span> sample_count++;
+00157 <span class="keywordflow">if</span> (!sample_count)
+00158 {
+00159 FFT_Sync = 1;
+00160 }
+00161 }
+00162 seq
+00163 {
+00164 Output_sample = audioptr_out2[sample_count];
+00165 }
+00166 }
+00167 }
+00168 <span class="keywordflow">else</span>
+00169 {
+00170 delay;
+00171 }
+00172 }
+00173 <span class="keywordflow">for</span>(;;)
+00174 {
+00175 PalAudioOutWrite(AUDIOOUT,(<span class="keywordtype">signed</span> OW)(Output_sample @ 0),(<span class="keywordtype">signed</span> OW)(Output_sample @ 0));
+00176 }
+00177 }<span class="comment">//end par</span>
+00178 }<span class="comment">// end function</span>
+00179 <span class="preprocessor">#endif</span>
+00180 <span class="preprocessor"></span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc.html b/Graphic_Equalizer/doc/html/runfft_8hcc.html
new file mode 100644
index 0000000..d7cbaa9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hcc.html
@@ -0,0 +1,45 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/runfft.hcc File Reference</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="files.html">File&nbsp;List</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>runfft.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+
+<p>
+Include dependency graph for runfft.hcc:<p><center><img src="runfft_8hcc__incl.png" border="0" usemap="#runfft.hcc_map" alt="Include dependency graph"></center>
+<map name="runfft.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+</map>
+
+<p>
+<a href="runfft_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+audiosamples are correctly buffered and fed correctly to the FFT.<br>
+ This module will also handle the output of the modified audio samples.<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>M. Lauwerijssen </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: M. Lauwerijssen<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="runfft_8hcc-source.html">runfft.hcc</a>.<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map
new file mode 100644
index 0000000..d372980
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.map
@@ -0,0 +1,2 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5
new file mode 100644
index 0000000..ff1d843
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.md5
@@ -0,0 +1 @@
+7129277ffd9cca9295345528e3048acb \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png
new file mode 100644
index 0000000..3a3f863
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/runfft_8hch-source.html b/Graphic_Equalizer/doc/html/runfft_8hch-source.html
new file mode 100644
index 0000000..020361d
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/runfft_8hch-source.html
@@ -0,0 +1,15 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/runfft.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>runfft.hch</h1><div class="fragment"><pre class="fragment">00001 <span class="keyword">extern</span> macro proc RunFFT (AudioIn, AudioOut);
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/sample_8hcc-source.html b/Graphic_Equalizer/doc/html/sample_8hcc-source.html
new file mode 100644
index 0000000..f7ee92e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hcc-source.html
@@ -0,0 +1,78 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/sample.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="files.html">File&nbsp;List</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>sample.hcc</h1><a href="sample_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="comment">/******** System Includes *************/</span>
+00020
+00021 <span class="comment">/******** Application Includes ********/</span>
+00022 <span class="preprocessor">#include "<a class="code" href="sample_8hch.html">sample.hch</a>"</span>
+00023
+00024
+00025
+00026 <span class="comment">/*</span>
+00027 <span class="comment"> * Pointer that points towards the current 64 bits samples.</span>
+00028 <span class="comment"> */</span>
+00029 <span class="keywordtype">signed</span> 16 *audio_in_ptr;
+00030
+00031 <span class="comment">/*</span>
+00032 <span class="comment"> * 64 step counter to keep track of our samples. This is a private variable.</span>
+00033 <span class="comment"> */</span>
+00034 <span class="keywordtype">unsigned</span> 8 sample_count;
+00035
+00036
+00037
+<a name="l00046"></a><a class="code" href="sample_8hcc.html#a2">00046</a> <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a2">sample_add</a>(<span class="keywordtype">signed</span> 16 in_sample) {
+00047 <span class="comment">/*</span>
+00048 <span class="comment"> * We only sample 64 bits in our buffer, hence we circulate around the</span>
+00049 <span class="comment"> * last 6 bits.</span>
+00050 <span class="comment"> */</span>
+00051 audio_in_ptr[sample_count &lt;-6] = in_sample;
+00052 sample_count++;
+00053 } <span class="comment">/* --- sample_add() --- */</span>
+00054
+00055
+00056
+<a name="l00065"></a><a class="code" href="sample_8hcc.html#a3">00065</a> <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a3">sample_get</a>(<span class="keywordtype">signed</span> 16 *out_sample) {
+00066 <span class="comment">/*</span>
+00067 <span class="comment"> * We circulate around a 64 bits buffer, therefor we only use the last</span>
+00068 <span class="comment"> * 6 bits.</span>
+00069 <span class="comment"> */</span>
+00070 *out_sample = audio_out_ptr[sample_count &lt;-6];
+00071 } <span class="comment">/* --- sample_get() --- */</span>
+00072
+00073
+00074
+<a name="l00084"></a><a class="code" href="sample_8hcc.html#a4">00084</a> <span class="keywordtype">unsigned</span> 1 <a class="code" href="sample_8hch.html#a2">sample_rotate_buffers</a>(<span class="keywordtype">void</span>) {
+00085 <span class="keywordtype">unsigned</span> 1 retval; <span class="comment">/* store for returnvalue */</span>
+00086
+00087 retval = 0;
+00088 <span class="comment">/*</span>
+00089 <span class="comment"> * We only want to read 64 samples, but calculations work nicer if we</span>
+00090 <span class="comment"> * use 256 samples. Therefor we circulate our audio pointer around.</span>
+00091 <span class="comment"> */</span>
+00092 <span class="keywordflow">if</span> (!(sample_count &lt;- 6)) {
+00093 <span class="comment">/*</span>
+00094 <span class="comment"> * 64 Samples have passed. We are back at '0'. Use the full</span>
+00095 <span class="comment"> * sample count as index which is 0 64 128 or 192 and back to</span>
+00096 <span class="comment"> * 0. Our Output is only 128 big so we only look at the</span>
+00097 <span class="comment"> * 7 LSB. Also, notify the main application that 64 samples</span>
+00098 <span class="comment"> * have been processed.</span>
+00099 <span class="comment"> */</span>
+00100 par {
+00101 audio_in_ptr = &amp;pcm_audio_in[sample_count];
+00102 audio_out_ptr = &amp;pcm_audio_out[(sample_count &lt;- 7)];
+00103 retval = 1;
+00104 }
+00105 }
+00106 } <span class="comment">/* --- sample_rotate_buffers() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/sample_8hcc.html b/Graphic_Equalizer/doc/html/sample_8hcc.html
new file mode 100644
index 0000000..bbe85aa
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hcc.html
@@ -0,0 +1,182 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/sample.hcc File Reference</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="files.html">File&nbsp;List</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>sample.hcc File Reference</h1><code>#include "<a class="el" href="sample_8hch-source.html">sample.hch</a>"</code><br>
+
+<p>
+Include dependency graph for sample.hcc:<p><center><img src="sample_8hcc__incl.png" border="0" usemap="#sample.hcc_map" alt="Include dependency graph"></center>
+<map name="sample.hcc_map">
+<area href="sample_8hch.html" shape="rect" coords="8,7,98,34" alt="">
+</map>
+
+<p>
+<a href="sample_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a2">sample_add</a> (signed 16 in_sample)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This procedure adds the supplied sample to the input buffer. <a href="#a2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a3">sample_get</a> (signed 16 *out_sample)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This procedure gets the sample from the current output buffer. <a href="#a3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hcc.html#a4">sample_rotate_buffers</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This procedure rotates our buffers around if 64 samples are read into our current buffer. <a href="#a4"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041021 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041021: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="sample.hcc::sample_add"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void sample_add </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">signed 16&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>in_sample</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This procedure adds the supplied sample to the input buffer.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>signed</em>&nbsp;</td><td>16 in_sample 16 bits signed sample to be added.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="sample_8hcc-source.html#l00046">46</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a3" doxytag="sample.hcc::sample_get"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void sample_get </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">signed 16 *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>out_sample</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This procedure gets the sample from the current output buffer.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*</em>&nbsp;</td><td>in_sample pointer to storage for sample.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="sample_8hcc-source.html#l00065">65</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a4" doxytag="sample.hcc::sample_rotate_buffers"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned sample_rotate_buffers </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This procedure rotates our buffers around if 64 samples are read into our current buffer.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>in_sample</em>&nbsp;</td><td>16 bits signed sample to be added.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>1 when 64 samples have passed, 0 otherwise. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>1; </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="sample_8hcc-source.html#l00084">84</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.map b/Graphic_Equalizer/doc/html/sample_8hcc__incl.map
new file mode 100644
index 0000000..3cc520a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hcc__incl.map
@@ -0,0 +1,2 @@
+base referer
+rect $sample_8hch.html 8,7 98,34
diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5
new file mode 100644
index 0000000..7c12b7e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hcc__incl.md5
@@ -0,0 +1 @@
+1fc36cd8ce3c69063c04bf4a24a0e84e \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/sample_8hcc__incl.png b/Graphic_Equalizer/doc/html/sample_8hcc__incl.png
new file mode 100644
index 0000000..55cd496
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/sample_8hch-source.html b/Graphic_Equalizer/doc/html/sample_8hch-source.html
new file mode 100644
index 0000000..5789f08
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hch-source.html
@@ -0,0 +1,37 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/sample.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>sample.hch</h1><a href="sample_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _SAMPLE_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _SAMPLE_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022
+00023
+00024 <span class="comment">/*</span>
+00025 <span class="comment"> * This procedure adds the supplied sample to the input buffer.</span>
+00026 <span class="comment"> */</span>
+00027 <span class="keywordtype">void</span> <a class="code" href="sample_8hcc.html#a2">sample_add</a>(in_sample);
+00028
+00029
+00030
+00031 <span class="comment">/*</span>
+00032 <span class="comment"> * This procedure rotates our buffers around if 64 samples are read into our</span>
+00033 <span class="comment"> * current buffer. It returns 1 when 64 samples have passed, 0 otherwise.</span>
+00034 <span class="comment"> */</span>
+00035 <span class="keywordtype">unsigned</span> 1 <a class="code" href="sample_8hch.html#a2">sample_rotate_buffers</a>(<span class="keywordtype">void</span>);
+00036
+00037 <span class="preprocessor">#else</span>
+00038 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file sample.hch multiple times included"</span>
+00039 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _SAMPLE_HCH --- */</span>
+00040
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:29 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/sample_8hch.html b/Graphic_Equalizer/doc/html/sample_8hch.html
new file mode 100644
index 0000000..8c96e57
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hch.html
@@ -0,0 +1,89 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/sample.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>sample.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="sample_8hch__dep__incl.png" border="0" usemap="#sample.hchdep_map" alt="Included by dependency graph"></center>
+<map name="sample.hchdep_map">
+<area href="sample_8hcc.html" shape="rect" coords="8,7,98,34" alt="">
+</map>
+
+<p>
+<a href="sample_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8hch.html#a2">sample_rotate_buffers</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This procedure rotates our buffers around if 64 samples are read into our current buffer. <a href="#a2"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041011 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041011: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="sample_8hch-source.html">sample.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="sample.hch::sample_rotate_buffers"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned sample_rotate_buffers </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This procedure rotates our buffers around if 64 samples are read into our current buffer.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>in_sample</em>&nbsp;</td><td>16 bits signed sample to be added.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>1 when 64 samples have passed, 0 otherwise. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>1; </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="sample_8hcc-source.html#l00084">84</a> of file <a class="el" href="sample_8hcc-source.html">sample.hcc</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 10:53:30 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map
new file mode 100644
index 0000000..6282c3e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.map
@@ -0,0 +1,2 @@
+base referer
+rect $sample_8hcc.html 8,7 98,34
diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5
new file mode 100644
index 0000000..2f59778
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.md5
@@ -0,0 +1 @@
+9b1a683b9bef5e200828acd3ea8684fb \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png
new file mode 100644
index 0000000..edc203a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/sample_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html
new file mode 100644
index 0000000..89fcb1d
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc-source.html
@@ -0,0 +1,215 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/smartmedia.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="files.html">File&nbsp;List</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>smartmedia.hcc</h1><a href="smartmedia_8hcc.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="comment">/******** System Includes *************/</span>
+00020 <span class="preprocessor">#include &lt;stdlib.hch&gt;</span>
+00021
+00022 <span class="preprocessor">#include "pal_master.hch"</span>
+00023
+00024 <span class="comment">/******** Application Includes ********/</span>
+00025 <span class="preprocessor">#include "<a class="code" href="configuration_8hch.html">configuration.hch</a>"</span>
+00026 <span class="preprocessor">#include "<a class="code" href="display__shared_8hch.html">display_shared.hch</a>"</span>
+00027 <span class="preprocessor">#include "<a class="code" href="smartmedia_8hch.html">smartmedia.hch</a>"</span>
+00028
+00029 <span class="preprocessor">#if HAVE_DEBUG</span>
+00030 <span class="preprocessor"></span><span class="preprocessor"> #include "debug.hch"</span>
+00031 <span class="preprocessor">#endif</span>
+00032 <span class="preprocessor"></span>
+00033 <span class="preprocessor">#include "<a class="code" href="audio_8hch.html">audio.hch</a>"</span>
+00034 <span class="preprocessor">#include "<a class="code" href="mouse__shared_8hch.html">mouse_shared.hch</a>"</span>
+00035 <span class="preprocessor">#include "<a class="code" href="eventhandler__shared_8hch.html">eventhandler_shared.hch</a>"</span>
+00036 <span class="preprocessor">#include "<a class="code" href="display_8hch.html">display.hch</a>"</span> <span class="comment">/* FIXME: temporary include, needs to be moved to 'init' */</span>
+00037
+<a name="l00045"></a><a class="code" href="smartmedia_8hcc.html#a0">00045</a> <span class="keywordtype">unsigned</span> 1 <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>(<span class="keywordtype">void</span>) {
+00046 <span class="keywordtype">unsigned</span> 1 retval;
+00047 <span class="comment">/*</span>
+00048 <span class="comment"> * Firstly we enable both the CPLD and the SmartMedia.</span>
+00049 <span class="comment"> */</span>
+00050 RC200CPLDEnable();
+00051 RC200SmartMediaInit(&amp;retval);
+00052
+00053 <span class="keywordflow">if</span> (retval) {
+00054 RC200SmartMediaReset(&amp;retval);
+00055 RC200SmartMediaInit(&amp;retval);
+00056 }
+00057
+00058 <span class="keywordflow">return</span> retval;
+00059 } <span class="comment">/* --- smartmedia_init() --- */</span>
+00060
+00061
+00062
+<a name="l00071"></a><a class="code" href="smartmedia_8hcc.html#a1">00071</a> <span class="keywordtype">void</span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(skindata_t *skindata) {
+00072 <span class="comment">/*</span>
+00073 <span class="comment"> * Setup RAM Handle, and determin maximum Data and Address widths</span>
+00074 <span class="comment"> */</span>
+00075 macro expr RAM_BANK0 = PalPL2RAMCT(0);
+00076 macro expr DW = PalPL2RAMGetMaxDataWidthCT();
+00077 macro expr AW = PalPL2RAMGetMaxAddressWidthCT();
+00078
+00079 <span class="keywordtype">unsigned</span> DW data;
+00080 <span class="keywordtype">unsigned</span> 27 smartmedia_address, smartmedia_address_mask;
+00081 <span class="keywordtype">unsigned</span> AW address;
+00082 <span class="keywordtype">unsigned</span> 8 mask, r, g, b;
+00083 <span class="keywordtype">unsigned</span> 3 stage;
+00084 <span class="keywordtype">unsigned</span> 1 result;
+00085
+00086 <span class="preprocessor">#if HAVE_DEBUG</span>
+00087 <span class="preprocessor"></span> <span class="comment">/*</span>
+00088 <span class="comment"> * Print some nice stats about data loading.</span>
+00089 <span class="comment"> */</span>
+00090 print_eol();
+00091 print_hex_value(0);
+00092 <span class="preprocessor">#endif</span>
+00093 <span class="preprocessor"></span> <span class="comment">/*</span>
+00094 <span class="comment"> * Before we enter our loop to fill our memory with valid data, we have</span>
+00095 <span class="comment"> * to set the startup positions for the SmartMedia.</span>
+00096 <span class="comment"> */</span>
+00097 smartmedia_address = SMARTMEDIA_ADDRESS_SKIN_START;
+00098 smartmedia_address_mask = SMARTMEDIA_ADDRESS_SKINMASK_START;
+00099 stage = STAGE_LOAD_SKIN;
+00100 <span class="comment">/*</span>
+00101 <span class="comment"> * We start with the address of the skin, and do the loop until we have</span>
+00102 <span class="comment"> * done the end of the help.</span>
+00103 <span class="comment"> */</span>
+00104 <span class="keywordflow">for</span> (address = ADDRESS_SKIN_START; address != (ADDRESS_PRESET_RESET_END +1); address++) {
+00105 <span class="comment">/*</span>
+00106 <span class="comment"> * Once we are done with the loading of our skin, we need to</span>
+00107 <span class="comment"> * change the smartmedia start addresses.</span>
+00108 <span class="comment"> */</span>
+00109 <span class="keywordflow">if</span> (ADDRESS_HELP_START == address) {
+00110 smartmedia_address = SMARTMEDIA_ADDRESS_HELP_START;
+00111 smartmedia_address_mask = SMARTMEDIA_ADDRESS_HELPMASK_START;
+00112 stage = STAGE_LOAD_HELP;
+00113 }
+00114 <span class="keywordflow">if</span> (ADDRESS_GRAPHMASK_START == address) {
+00115 smartmedia_address_mask = SMARTMEDIA_ADDRESS_GRAPHMASK_START;
+00116 stage = STAGE_LOAD_GRAPH;
+00117 }
+00118 <span class="keywordflow">if</span> (ADDRESS_PRESET_DEMO_START == address) {
+00119 smartmedia_address_mask = SMARTMEDIA_ADDRESS_PRESET_DEMO_START;
+00120 stage = STAGE_LOAD_PRESET;
+00121 }
+00122
+00123 <span class="comment">/*</span>
+00124 <span class="comment"> * Before reading our data from the smartmedia we set our</span>
+00125 <span class="comment"> * address pointer to the address from our loop.</span>
+00126 <span class="comment"> */</span>
+00127 <span class="preprocessor">#if SKIP_LOAD</span>
+00128 <span class="preprocessor"></span> <span class="keywordflow">if</span> (STAGE_LOAD_PRESET == stage) {
+00129 PalPL2RAMSetWriteAddress(RAM_BANK0, address);
+00130 } <span class="keywordflow">else</span> {
+00131 PalPL2RAMSetWriteAddress(RAM_BANK0, 0);
+00132 }
+00133 <span class="preprocessor">#else</span>
+00134 <span class="preprocessor"></span> PalPL2RAMSetWriteAddress(RAM_BANK0, address);
+00135 <span class="preprocessor">#endif</span>
+00136 <span class="preprocessor"></span>
+00137 <span class="comment">/*</span>
+00138 <span class="comment"> * SmartMedia data is read one byte per call. Because we want</span>
+00139 <span class="comment"> * to store the mask + the rgb values in one variable for later</span>
+00140 <span class="comment"> * useage we need to read those 4 bytes from the smartmedia</span>
+00141 <span class="comment"> * before storing it as one.</span>
+00142 <span class="comment"> */</span>
+00143 <span class="preprocessor">#if HAVE_SMARTMEDIA</span>
+00144 <span class="preprocessor"></span> <span class="comment">/*</span>
+00145 <span class="comment"> * FIXME: Due to a bug in the DK2 smartmedia libraries we need</span>
+00146 <span class="comment"> * stop reading after each byte with OperationEnd call. This is</span>
+00147 <span class="comment"> * VERY slow and must be changed.</span>
+00148 <span class="comment"> */</span>
+00149 <span class="preprocessor"> #if !USE_MASK_ONLY</span>
+00150 <span class="preprocessor"></span> <span class="keywordflow">if</span> ((STAGE_LOAD_SKIN == stage) || (STAGE_LOAD_HELP == stage)) {
+00151 RC200SmartMediaSetAddress(READ, smartmedia_address);
+00152 RC200SmartMediaRead(&amp;r, TRUE);
+00153 RC200SmartMediaOperationEnd(&amp;result);
+00154 RC200SmartMediaSetAddress(READ, (smartmedia_address +1));
+00155 RC200SmartMediaRead(&amp;g, TRUE);
+00156 RC200SmartMediaOperationEnd(&amp;result);
+00157 RC200SmartMediaSetAddress(READ, (smartmedia_address +2));
+00158 RC200SmartMediaRead(&amp;b, TRUE);
+00159 RC200SmartMediaOperationEnd(&amp;result);
+00160 }
+00161 <span class="preprocessor"> #endif</span>
+00162 <span class="preprocessor"></span> RC200SmartMediaSetAddress(READ, smartmedia_address_mask);
+00163 RC200SmartMediaRead(&amp;mask, TRUE);
+00164 RC200SmartMediaOperationEnd(&amp;result);
+00165
+00166 <span class="keywordflow">switch</span> (stage) {
+00167 <span class="keywordflow">case</span> STAGE_LOAD_SKIN:
+00168 data = 0 @ mask @ r @ g @ b;
+00169 <span class="keywordflow">break</span>;
+00170 <span class="keywordflow">case</span> STAGE_LOAD_HELP:
+00171 data = 0 @ mask @ r @ g @ b;
+00172 <span class="keywordflow">break</span>;
+00173 <span class="keywordflow">case</span> STAGE_LOAD_GRAPH:
+00174 data = (<span class="keywordtype">unsigned</span> DW)(0 @ mask) &lt;&lt; 24;
+00175 <span class="keywordflow">break</span>;
+00176 <span class="keywordflow">case</span> STAGE_LOAD_PRESET:
+00177 data = 0 @ mask;
+00178 <span class="keywordflow">break</span>;
+00179 }
+00180
+00181 <span class="preprocessor">#else</span>
+00182 <span class="preprocessor"></span> <span class="keywordflow">if</span> (STAGE_LOAD_PRESET == stage) {
+00183 data = (address &lt;- 1) ? 0x000000ff : 0x00000000;
+00184 } <span class="keywordflow">else</span> {
+00185 data = 0x0000ff00;
+00186 }
+00187 <span class="preprocessor">#endif</span>
+00188 <span class="preprocessor"></span> <span class="comment">/*</span>
+00189 <span class="comment"> * Now that we have gathered all pixel data, store it in ram.</span>
+00190 <span class="comment"> */</span>
+00191 PalPL2RAMWrite(RAM_BANK0, data);
+00192
+00193 <span class="preprocessor">#if HAVE_DEBUG</span>
+00194 <span class="preprocessor"></span> <span class="comment">/*</span>
+00195 <span class="comment"> * Print some nice stats about data loading.</span>
+00196 <span class="comment"> */</span>
+00197 <span class="keywordflow">if</span> (!(address &lt;- 11)) {
+00198 print_cr();
+00199 print_hex_value(0 @ (address \\ 12));
+00200 print_string(<span class="stringliteral">" / 000000E1 | data: "</span>);
+00201 print_hex_value(data &lt;- 32);
+00202 }
+00203 <span class="preprocessor">#endif</span>
+00204 <span class="preprocessor"></span>
+00205 <span class="comment">/*</span>
+00206 <span class="comment"> * Finally increase al our indexes approperiatly.</span>
+00207 <span class="comment"> */</span>
+00208 smartmedia_address += 3;
+00209 smartmedia_address_mask++;
+00210 }
+00211
+00212 <span class="comment">/*</span>
+00213 <span class="comment"> * This block needs to probably move up into the fore loop where we</span>
+00214 <span class="comment"> * calculate these settings later.</span>
+00215 <span class="comment"> */</span>
+00216 skindata-&gt;area_spectrum_top = 200;
+00217 skindata-&gt;area_spectrum_bottom = 335;
+00218 skindata-&gt;area_spectrum_left = 77;
+00219 skindata-&gt;area_spectrum_right = 575;
+00220 skindata-&gt;area_waveform_top = 46;
+00221 skindata-&gt;area_waveform_bottom = 118;
+00222 skindata-&gt;area_waveform_left = 76;
+00223 skindata-&gt;area_waveform_right = 413;
+00224 skindata-&gt;area_volume_top = 112;
+00225 skindata-&gt;area_volume_bottom = 66;
+00226 skindata-&gt;area_volume_left = 439;
+00227 skindata-&gt;area_volume_right = 455;
+00228 skindata-&gt;color_area_volume = PIXEL_VOLUME;
+00229 skindata-&gt;color_area_waveform = PIXEL_WAVEFORM;
+00230 <span class="comment">// skindata-&gt;color_area_spectrum_top = PIXEL_SPECTRUM;</span>
+00231 <span class="comment">// skindata-&gt;color_area_spectrum_bottom = PIXEL_SPECTRUM;</span>
+00232 skindata-&gt;color_equalizer = PIXEL_EQUALIZER;
+00233 } <span class="comment">/* --- smartmedia_loaddata() --- */</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:48 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc.html b/Graphic_Equalizer/doc/html/smartmedia_8hcc.html
new file mode 100644
index 0000000..a419c6c
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc.html
@@ -0,0 +1,149 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/src/smartmedia.hcc File Reference</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="files.html">File&nbsp;List</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>smartmedia.hcc File Reference</h1><code>#include &lt;stdlib.hch&gt;</code><br>
+<code>#include "pal_master.hch"</code><br>
+<code>#include "<a class="el" href="configuration_8hch-source.html">configuration.hch</a>"</code><br>
+<code>#include "<a class="el" href="display__shared_8hch-source.html">display_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>"</code><br>
+<code>#include "<a class="el" href="audio_8hch-source.html">audio.hch</a>"</code><br>
+<code>#include "<a class="el" href="mouse__shared_8hch-source.html">mouse_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="eventhandler__shared_8hch-source.html">eventhandler_shared.hch</a>"</code><br>
+<code>#include "<a class="el" href="display_8hch-source.html">display.hch</a>"</code><br>
+
+<p>
+Include dependency graph for smartmedia.hcc:<p><center><img src="smartmedia_8hcc__incl.png" border="0" usemap="#smartmedia.hcc_map" alt="Include dependency graph"></center>
+<map name="smartmedia.hcc_map">
+<area href="configuration_8hch.html" shape="rect" coords="245,7,370,34" alt="">
+<area href="display__shared_8hch.html" shape="rect" coords="394,7,530,34" alt="">
+<area href="smartmedia_8hch.html" shape="rect" coords="554,7,671,34" alt="">
+<area href="audio_8hch.html" shape="rect" coords="695,7,775,34" alt="">
+<area href="mouse__shared_8hch.html" shape="rect" coords="799,7,935,34" alt="">
+<area href="eventhandler__shared_8hch.html" shape="rect" coords="959,7,1133,34" alt="">
+<area href="display_8hch.html" shape="rect" coords="1157,7,1245,34" alt="">
+</map>
+
+<p>
+<a href="smartmedia_8hcc-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html#a0">smartmedia_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We here initialize the Smart Media card and verify wether the card is inserted and such. <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a> (skindata_t *skindata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We load our memory with skin and help data from the smartmedia. <a href="#a1"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a0" doxytag="smartmedia.hcc::smartmedia_init"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned smartmedia_init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+We here initialize the Smart Media card and verify wether the card is inserted and such.
+<p>
+<dl compact><dt><b>Returns:</b></dt><dd>We return 0 on success, 1 on error. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>1 </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00045">45</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a1" doxytag="smartmedia.hcc::smartmedia_loaddata"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void smartmedia_loaddata </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">skindata_t *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>skindata</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+We load our memory with skin and help data from the smartmedia.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*skindata</em>&nbsp;</td><td>skindata like boundries and colors of elements.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00071">71</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:50 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map
new file mode 100644
index 0000000..772c577
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.map
@@ -0,0 +1,8 @@
+base referer
+rect $configuration_8hch.html 245,7 370,34
+rect $display__shared_8hch.html 394,7 530,34
+rect $smartmedia_8hch.html 554,7 671,34
+rect $audio_8hch.html 695,7 775,34
+rect $mouse__shared_8hch.html 799,7 935,34
+rect $eventhandler__shared_8hch.html 959,7 1133,34
+rect $display_8hch.html 1157,7 1245,34
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5
new file mode 100644
index 0000000..2d7426a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.md5
@@ -0,0 +1 @@
+f470da8edd0766027061fff526b49c25 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png
new file mode 100644
index 0000000..6eaf676
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hcc__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html b/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html
new file mode 100644
index 0000000..712530e
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hch-source.html
@@ -0,0 +1,62 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/smartmedia.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>smartmedia.hch</h1><a href="smartmedia_8hch.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
+00019 <span class="preprocessor">#ifndef _SMARTMEDIA_HCH</span>
+00020 <span class="preprocessor"></span><span class="preprocessor">#define _SMARTMEDIA_HCH 1</span>
+00021 <span class="preprocessor"></span>
+00022 <span class="comment">/*</span>
+00023 <span class="comment"> * SmartMedia functioncalls a bit to be set to either Read or Write. This</span>
+00024 <span class="comment"> * define should make life easier identifying which one is what.</span>
+00025 <span class="comment"> */</span>
+00026 <span class="preprocessor">#define READ 0</span>
+00027 <span class="preprocessor"></span><span class="preprocessor">#define WRITE 1</span>
+00028 <span class="preprocessor"></span>
+00029
+00030
+00031 <span class="comment">/*</span>
+00032 <span class="comment"> * The different stages the smart media loaders knows.</span>
+00033 <span class="comment"> */</span>
+00034 <span class="preprocessor">#define STAGE_LOAD_SKIN 0x00</span>
+00035 <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_HELP 0x01</span>
+00036 <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_GRAPH 0x02</span>
+00037 <span class="preprocessor"></span><span class="preprocessor">#define STAGE_LOAD_PRESET 0x03</span>
+00038 <span class="preprocessor"></span>
+00039
+00040 <span class="comment">/*</span>
+00041 <span class="comment"> * Create a define to keep API generic</span>
+00042 <span class="comment"> * FIXME: replace with PAL calls when avaiable.</span>
+00043 <span class="comment"> */</span>
+00044 <span class="preprocessor">#define CPLDRun(ClockRate) RC200CPLDRun(ClockRate)</span>
+00045 <span class="preprocessor"></span><span class="preprocessor">#define SmartMediaRun(ClockRate) RC200SmartMediaRun(ClockRate)</span>
+00046 <span class="preprocessor"></span>
+00047
+00048
+00049 <span class="comment">/*</span>
+00050 <span class="comment"> * Initializes the smartmedia device.</span>
+00051 <span class="comment"> */</span>
+00052
+00053 <span class="keywordtype">unsigned</span> 1 <a class="code" href="smartmedia_8hch.html#a9">smartmedia_init</a>(<span class="keywordtype">void</span>);
+00054
+00055
+00056
+00057 <span class="comment">/*</span>
+00058 <span class="comment"> * This function loads the memory with data from the smartmedia card.</span>
+00059 <span class="comment"> */</span>
+00060 <span class="keywordtype">void</span> <a class="code" href="smartmedia_8hcc.html#a1">smartmedia_loaddata</a>(skindata_t *skindata);
+00061
+00062 <span class="preprocessor">#else</span>
+00063 <span class="preprocessor"></span><span class="preprocessor">#error "ERROR file smartmedia.hch multiple times included"</span>
+00064 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* --- _SMARTMEDIA_HCH --- */</span>
+00065
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch.html b/Graphic_Equalizer/doc/html/smartmedia_8hch.html
new file mode 100644
index 0000000..e5433b3
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hch.html
@@ -0,0 +1,135 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/smartmedia.hch File Reference</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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>smartmedia.hch File Reference</h1>
+<p>
+This graph shows which files directly or indirectly include this file:<p><center><img src="smartmedia_8hch__dep__incl.png" border="0" usemap="#smartmedia.hchdep_map" alt="Included by dependency graph"></center>
+<map name="smartmedia.hchdep_map">
+<area href="main_8hcc.html" shape="rect" coords="8,7,82,34" alt="">
+<area href="smartmedia_8hcc.html" shape="rect" coords="106,7,224,34" alt="">
+</map>
+
+<p>
+<a href="smartmedia_8hch-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a9">smartmedia_init</a> (void)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We here initialize the Smart Media card and verify wether the card is inserted and such. <a href="#a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="smartmedia_8hch.html#a10">smartmedia_loaddata</a> (skindata_t *skindata)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">We load our memory with skin and help data from the smartmedia. <a href="#a10"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+<h2><a class="anchor" name="generic">
+Audiodriver API</a></h2>
+<h2><a class="anchor" name="project">
+Project information.</a></h2>
+Project Graphic Equalizer<br>
+ <dl compact><dt><b>Author:</b></dt><dd>O.M. Schinagl </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>20041110 </dd></dl>
+<dl compact><dt><b>Version:</b></dt><dd>0.1</dd></dl>
+<h2><a class="anchor" name="copyright">
+Copyright</a></h2>
+Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved<h2><a class="anchor" name="history">
+Change history</a></h2>
+20041110: O.M. Schinagl<br>
+ Initial version
+<p>
+Definition in file <a class="el" href="smartmedia_8hch-source.html">smartmedia.hch</a>.<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a9" doxytag="smartmedia.hch::smartmedia_init"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned smartmedia_init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+We here initialize the Smart Media card and verify wether the card is inserted and such.
+<p>
+<dl compact><dt><b>Returns:</b></dt><dd>We return 0 on success, 1 on error. </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>unsigned</em>&nbsp;</td><td>1 </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00045">45</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a10" doxytag="smartmedia.hch::smartmedia_loaddata"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void smartmedia_loaddata </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">skindata_t *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>skindata</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+We load our memory with skin and help data from the smartmedia.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>*skindata</em>&nbsp;</td><td>skindata like boundries and colors of elements.</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>void </dd></dl>
+<dl compact><dt><b>Return values:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>void</em>&nbsp;</td><td></td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="smartmedia_8hcc-source.html#l00071">71</a> of file <a class="el" href="smartmedia_8hcc-source.html">smartmedia.hcc</a>.
+<p>
+Referenced by <a class="el" href="main_8hcc-source.html#l00051">main()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:49 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map
new file mode 100644
index 0000000..46f0913
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.map
@@ -0,0 +1,3 @@
+base referer
+rect $main_8hcc.html 8,7 82,34
+rect $smartmedia_8hcc.html 106,7 224,34
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5 b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5
new file mode 100644
index 0000000..0f51fe8
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.md5
@@ -0,0 +1 @@
+a6514b61ed04d96f1fee892121b51cd5 \ No newline at end of file
diff --git a/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png
new file mode 100644
index 0000000..dc6420a
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/smartmedia_8hch__dep__incl.png
Binary files differ
diff --git a/Graphic_Equalizer/doc/html/tree.html b/Graphic_Equalizer/doc/html/tree.html
new file mode 100644
index 0000000..7e534a9
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/tree.html
@@ -0,0 +1,143 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/xhtml;charset="iso-8859-1" />
+ <meta http-equiv="Content-Style-Type" content="text/css" />
+ <meta http-equiv="Content-Language" content="en" />
+ <link rel="stylesheet" href="doxygen.css">
+ <title>TreeView</title>
+ <style type="text/css">
+ <!--
+ .directory { font-size: 10pt; font-weight: bold; }
+ .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
+ .directory p { margin: 0px; white-space: nowrap; }
+ .directory div { display: none; margin: 0px; }
+ .directory img { vertical-align: middle; }
+ -->
+ </style>
+ <script type="text/javascript">
+ <!-- // Hide script from old browsers
+
+ function findChildNode(node, name)
+ {
+ var temp;
+ if (node == null)
+ {
+ return null;
+ }
+ node = node.firstChild;
+ while (node != null)
+ {
+ if (node.nodeName == name)
+ {
+ return node;
+ }
+ temp = findChildNode(node, name);
+ if (temp != null)
+ {
+ return temp;
+ }
+ node = node.nextSibling;
+ }
+ return null;
+ }
+
+ function toggleFolder(id, imageNode)
+ {
+ var folder = document.getElementById(id);
+ var l = 0;
+ var vl = "ftv2vertline.png";
+ if (imageNode != null && imageNode.nodeName != "IMG")
+ {
+ imageNode = findChildNode(imageNode, "IMG");
+ if (imageNode!=null) l = imageNode.src.length;
+ }
+ if (folder == null)
+ {
+ }
+ else if (folder.style.display == "block")
+ {
+ while (imageNode != null &&
+ imageNode.src.substring(l-vl.length,l) == vl)
+ {
+ imageNode = imageNode.nextSibling;
+ l = imageNode.src.length;
+ }
+ if (imageNode != null)
+ {
+ l = imageNode.src.length;
+ imageNode.nextSibling.src = "ftv2folderclosed.png";
+ if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
+ {
+ imageNode.src = "ftv2pnode.png";
+ }
+ else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
+ {
+ imageNode.src = "ftv2plastnode.png";
+ }
+ }
+ folder.style.display = "none";
+ }
+ else
+ {
+ while (imageNode != null &&
+ imageNode.src.substring(l-vl.length,l) == vl)
+ {
+ imageNode = imageNode.nextSibling;
+ l = imageNode.src.length;
+ }
+ if (imageNode != null)
+ {
+ l = imageNode.src.length;
+ imageNode.nextSibling.src = "ftv2folderopen.png";
+ if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
+ {
+ imageNode.src = "ftv2mnode.png";
+ }
+ else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
+ {
+ imageNode.src = "ftv2mlastnode.png";
+ }
+ }
+ folder.style.display = "block";
+ }
+ }
+
+ // End script hiding -->
+ </script>
+ </head>
+
+ <body>
+ <div class="directory">
+ <h3>Graphic Equalizer</h3>
+ <div style="display: block;">
+ <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main.html" target="basefrm">Main Page</a></p>
+ <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
+ <div id="folder1">
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/audio.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="configuration_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/configuration.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/display.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/display_shared.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/eventhandler_shared.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/events.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>C:/Project Marcel & Oliver/Graphic_Equalizer/include/fft.hch</b></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse__shared_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/mouse_shared.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>C:/Project Marcel & Oliver/Graphic_Equalizer/include/runfft.hch</b></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hch.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/include/smartmedia.hch</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><b>C:/Project Marcel & Oliver/Graphic_Equalizer/include/weights_256.hch</b></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="audio_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/audio.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="display_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/display.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="eventhandler_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/eventhandler.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="events_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/events.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="fft_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/fft.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="main_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/main.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mouse_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/mouse.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="runfft_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/runfft.hcc</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="smartmedia_8hcc.html" target="basefrm">C:/Project Marcel & Oliver/Graphic_Equalizer/src/smartmedia.hcc</a></p>
+ </div>
+ <p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">Globals</a></p>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/Graphic_Equalizer/doc/html/weights__256_8hch-source.html b/Graphic_Equalizer/doc/html/weights__256_8hch-source.html
new file mode 100644
index 0000000..7b24314
--- /dev/null
+++ b/Graphic_Equalizer/doc/html/weights__256_8hch-source.html
@@ -0,0 +1,278 @@
+<!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: C:/Project Marcel &amp; Oliver/Graphic_Equalizer/include/weights_256.hch 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="files.html">File&nbsp;List</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_000003.html">include</a></div>
+<h1>weights_256.hch</h1><div class="fragment"><pre class="fragment">00001 <span class="preprocessor">#define INTBITS 1</span>
+00002 <span class="preprocessor"></span><span class="preprocessor">#define FRACBITS 14</span>
+00003 <span class="preprocessor"></span>
+00004 rom <span class="keywordtype">signed</span> 16 weight_re[128] = {
+00005 16384,
+00006 16379,
+00007 16364,
+00008 16340,
+00009 16305,
+00010 16261,
+00011 16207,
+00012 16143,
+00013 16069,
+00014 15986,
+00015 15893,
+00016 15791,
+00017 15679,
+00018 15557,
+00019 15426,
+00020 15286,
+00021 15137,
+00022 14978,
+00023 14811,
+00024 14635,
+00025 14449,
+00026 14256,
+00027 14053,
+00028 13842,
+00029 13623,
+00030 13395,
+00031 13160,
+00032 12916,
+00033 12665,
+00034 12406,
+00035 12140,
+00036 11866,
+00037 11585,
+00038 11297,
+00039 11003,
+00040 10702,
+00041 10394,
+00042 10080,
+00043 9760,
+00044 9434,
+00045 9102,
+00046 8765,
+00047 8423,
+00048 8076,
+00049 7723,
+00050 7366,
+00051 7005,
+00052 6639,
+00053 6270,
+00054 5897,
+00055 5520,
+00056 5139,
+00057 4756,
+00058 4370,
+00059 3981,
+00060 3590,
+00061 3196,
+00062 2801,
+00063 2404,
+00064 2006,
+00065 1606,
+00066 1205,
+00067 804,
+00068 402,
+00069 0,
+00070 -402,
+00071 -804,
+00072 -1205,
+00073 -1606,
+00074 -2006,
+00075 -2404,
+00076 -2801,
+00077 -3196,
+00078 -3590,
+00079 -3981,
+00080 -4370,
+00081 -4756,
+00082 -5139,
+00083 -5520,
+00084 -5897,
+00085 -6270,
+00086 -6639,
+00087 -7005,
+00088 -7366,
+00089 -7723,
+00090 -8076,
+00091 -8423,
+00092 -8765,
+00093 -9102,
+00094 -9434,
+00095 -9760,
+00096 -10080,
+00097 -10394,
+00098 -10702,
+00099 -11003,
+00100 -11297,
+00101 -11585,
+00102 -11866,
+00103 -12140,
+00104 -12406,
+00105 -12665,
+00106 -12916,
+00107 -13160,
+00108 -13395,
+00109 -13623,
+00110 -13842,
+00111 -14053,
+00112 -14256,
+00113 -14449,
+00114 -14635,
+00115 -14811,
+00116 -14978,
+00117 -15137,
+00118 -15286,
+00119 -15426,
+00120 -15557,
+00121 -15679,
+00122 -15791,
+00123 -15893,
+00124 -15986,
+00125 -16069,
+00126 -16143,
+00127 -16207,
+00128 -16261,
+00129 -16305,
+00130 -16340,
+00131 -16364,
+00132 -16379
+00133 } with {block = <span class="stringliteral">"BlockRAM"</span>};
+00134
+00135 rom <span class="keywordtype">signed</span> 16 weight_im[128] = {
+00136 0,
+00137 -402,
+00138 -804,
+00139 -1205,
+00140 -1606,
+00141 -2006,
+00142 -2404,
+00143 -2801,
+00144 -3196,
+00145 -3590,
+00146 -3981,
+00147 -4370,
+00148 -4756,
+00149 -5139,
+00150 -5520,
+00151 -5897,
+00152 -6270,
+00153 -6639,
+00154 -7005,
+00155 -7366,
+00156 -7723,
+00157 -8076,
+00158 -8423,
+00159 -8765,
+00160 -9102,
+00161 -9434,
+00162 -9760,
+00163 -10080,
+00164 -10394,
+00165 -10702,
+00166 -11003,
+00167 -11297,
+00168 -11585,
+00169 -11866,
+00170 -12140,
+00171 -12406,
+00172 -12665,
+00173 -12916,
+00174 -13160,
+00175 -13395,
+00176 -13623,
+00177 -13842,
+00178 -14053,
+00179 -14256,
+00180 -14449,
+00181 -14635,
+00182 -14811,
+00183 -14978,
+00184 -15137,
+00185 -15286,
+00186 -15426,
+00187 -15557,
+00188 -15679,
+00189 -15791,
+00190 -15893,
+00191 -15986,
+00192 -16069,
+00193 -16143,
+00194 -16207,
+00195 -16261,
+00196 -16305,
+00197 -16340,
+00198 -16364,
+00199 -16379,
+00200 -16384,
+00201 -16379,
+00202 -16364,
+00203 -16340,
+00204 -16305,
+00205 -16261,
+00206 -16207,
+00207 -16143,
+00208 -16069,
+00209 -15986,
+00210 -15893,
+00211 -15791,
+00212 -15679,
+00213 -15557,
+00214 -15426,
+00215 -15286,
+00216 -15137,
+00217 -14978,
+00218 -14811,
+00219 -14635,
+00220 -14449,
+00221 -14256,
+00222 -14053,
+00223 -13842,
+00224 -13623,
+00225 -13395,
+00226 -13160,
+00227 -12916,
+00228 -12665,
+00229 -12406,
+00230 -12140,
+00231 -11866,
+00232 -11585,
+00233 -11297,
+00234 -11003,
+00235 -10702,
+00236 -10394,
+00237 -10080,
+00238 -9760,
+00239 -9434,
+00240 -9102,
+00241 -8765,
+00242 -8423,
+00243 -8076,
+00244 -7723,
+00245 -7366,
+00246 -7005,
+00247 -6639,
+00248 -6270,
+00249 -5897,
+00250 -5520,
+00251 -5139,
+00252 -4756,
+00253 -4370,
+00254 -3981,
+00255 -3590,
+00256 -3196,
+00257 -2801,
+00258 -2404,
+00259 -2006,
+00260 -1606,
+00261 -1205,
+00262 -804,
+00263 -402,
+00264 } with {block = <span class="stringliteral">"BlockRAM"</span>};
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Nov 29 12:04:47 2004 for Graphic Equalizer 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>
diff --git a/Graphic_Equalizer/include/mouse.hch b/Graphic_Equalizer/include/mouse.hch
index f6ae164..ac26bbf 100644
--- a/Graphic_Equalizer/include/mouse.hch
+++ b/Graphic_Equalizer/include/mouse.hch
@@ -1,4 +1,4 @@
-/*! \file mousedriver.hch
+/*! \file mouse.hch
*
* \section generic Mousedriver API
*
diff --git a/Graphic_Equalizer/include/mouse_shared.hch b/Graphic_Equalizer/include/mouse_shared.hch
index 598d60b..09c5021 100644
--- a/Graphic_Equalizer/include/mouse_shared.hch
+++ b/Graphic_Equalizer/include/mouse_shared.hch
@@ -1,4 +1,4 @@
-/*! \file mousedriver_shared.hch
+/*! \file mouse_shared.hch
*
* \section generic Shared definitions etc.
*
diff --git a/Graphic_Equalizer/include/sample.hch b/Graphic_Equalizer/include/sample.hch
deleted file mode 100644
index 27b4733..0000000
--- a/Graphic_Equalizer/include/sample.hch
+++ /dev/null
@@ -1,40 +0,0 @@
-/*! \file sample.hch
- *
- * \section generic Mousedriver API
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041011
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041011: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-#ifndef _SAMPLE_HCH
-#define _SAMPLE_HCH 1
-
-
-
-/*
- * This procedure adds the supplied sample to the input buffer.
- */
-void sample_add(in_sample);
-
-
-
-/*
- * This procedure rotates our buffers around if 64 samples are read into our
- * current buffer. It returns 1 when 64 samples have passed, 0 otherwise.
- */
-unsigned 1 sample_rotate_buffers(void);
-
-#else
-#error "ERROR file sample.hch multiple times included"
-#endif /* --- _SAMPLE_HCH --- */
-
diff --git a/Graphic_Equalizer/src/audio.hcc b/Graphic_Equalizer/src/audio.hcc
index ef8b530..34e0ffe 100644
--- a/Graphic_Equalizer/src/audio.hcc
+++ b/Graphic_Equalizer/src/audio.hcc
@@ -1,17 +1,17 @@
-/*! \file audio.hcc
+/*! @file audio.hcc
*
- * \section generic Audio init and main loop
+ * @section generic Audio init and main loop
*
- * \section project Project information.
+ * @section project Project information.
* Project Graphic Equalizer\n
- * \author
- * \date 20041011
- * \version 0.1
+ * @author O.M. Schinagl
+ * @date 20041011
+ * @version 0.1
*
- * \section copyright Copyright
+ * @section copyright Copyright
* Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
*
- * \section history Change history
+ * @section history Change history
* 20041011: \n Initial version
*
********************************************************************/
@@ -27,15 +27,14 @@
-/*! \fn void audio_init(gain_level, input_source,
- * sample_rate, AUDIOIN, AUDIOOUT)
+/*! \fn macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)
*
* \brief Set some inital values to the audio hardware.
*
- * \param gain_level Set the input amplifier to this
- * amplification level.
- * \param input_source Choose between microphone input
- * or linein input
+ * \param gain_level Set the input amplifier to this amplification
+ * level.
+ * \param input_source Choose between microphone input or linein
+ * input.
* \param sample_rate Set the sample rate between 8000
* and 48000
*
@@ -58,19 +57,20 @@ macro proc audio_init(gain_level, input_source, sample_rate, AUDIOIN, AUDIOOUT)
#if !USE_RUNFFT
-/*! \fn void audio_main(AUDIOIN, AUDIOOUT);
+/*! @fn macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT);
*
- * \brief Main audiodriver. This function never returns! It calls the
+ * @brief Main audiodriver. This function never returns! It calls the
* audiohandlers and stores samples into a global array. Once 64
* Samples are collected it raises a signal AUDIO_READY to let
* other processes know it's ready. We use quadruple buffering for
* audio input and double buffering for audio output.
- *
- * \param AUDIOIN Audio Input Handler
- * \param AUDIOOUT Audio Output Handler
*
- * \return Never Returns.
- * \retval void
+ * @param *audiodata pointer to audio information structure.
+ * @param AUDIOIN Audio Input Handler
+ * @param AUDIOOUT Audio Output Handler
+ *
+ * @return Never Returns.
+ * @retval void
*/
macro proc audio_main(audiodata, AUDIOIN, AUDIOOUT) {
/*
diff --git a/Graphic_Equalizer/src/display.hcc b/Graphic_Equalizer/src/display.hcc
index 98145a8..8aafea4 100644
--- a/Graphic_Equalizer/src/display.hcc
+++ b/Graphic_Equalizer/src/display.hcc
@@ -48,14 +48,15 @@ chan unsigned 1 maskupdate_notification;
-/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata,
- * events_t *events, mousedata_t *mousedata)
+/*! \fn void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events, mousedata_t *mousedata)
*
* \brief This routine handles all drawing of pixels. It never returns!
*
- * \param events_t *events struct with all events.
- * \param mousedata_t *mousedata struct with coordinates to current
- * X en Y.
+ * \param *skindata struct with all skin information.
+ * \param *audiodata struct with (i)fft data to be drawn.
+ * \param *events struct with all events.
+ * \param *mousedata struct with coordinates to current.
+ * X en Y.
*
* \return Never Returns.
* \retval void
@@ -321,14 +322,14 @@ void display_main(skindata_t *skindata, audiodata_t *audiodata, events_t *events
-/*! \fn void reload_equalizer(events_t *events,
- * unsigned 4 *equalizer_levels)
+/*! \fn void reload_equalizer(events_t *events, unsigned 4 *equalizer_levels)
+
* \brief This function copies the supplied equalizer values to the array
* used for displaying equalizer data.
*
- * \param events_t *events events struct
- * \param unsigned 4 *equalizer_levels pointer to 128 entries where
- * equalizer is to be copied from.
+ * \param *events events struct
+ * \param *equalizer_levels pointer to 128 entries where equalizer
+ * is to be copied from.
*
* \return void
* \retval void
diff --git a/Graphic_Equalizer/src/eventhandler.hcc b/Graphic_Equalizer/src/eventhandler.hcc
index ab59322..6526618 100644
--- a/Graphic_Equalizer/src/eventhandler.hcc
+++ b/Graphic_Equalizer/src/eventhandler.hcc
@@ -49,12 +49,13 @@ static rom unsigned 3 equalizer_mode_table[5] = {EQUALIZERMODE_CONVEX_FULL, EQUA
-/*! \fn void eventhandler_main(audiodata_t *audiodata,
- * events_t *events, mousedata_t *mousedata);
+/*! \fn void eventhandler_main(audiodata_t *audiodata, events_t *events, mousedata_t *mousedata);
* \brief
*
- * \param events_t *events pointer to struct with all events->
- * \param mousedata_t *mousedata pointer to struct with mouse data.
+ * \param *audiodata pointer to struct for setting equalizer levels.
+ * \param *events pointer to struct with all events for display states.
+ * \param *mousedata pointer to struct with mouse data for X and Y
+ * coordinates.
*
* \return Never Returns.
* \retval void
diff --git a/Graphic_Equalizer/src/events.hcc b/Graphic_Equalizer/src/events.hcc
index 9424392..3772193 100644
--- a/Graphic_Equalizer/src/events.hcc
+++ b/Graphic_Equalizer/src/events.hcc
@@ -34,13 +34,14 @@
#endif
-/*! \fn void load_preset(unsigned 20 preset_address,
- * unsigned 4 *equalizer_levels);
+/*! \fn void load_preset(unsigned 20 preset_address, unsigned 4 *equalizer_levels);
* \brief This function loads 768 4bits presets into the equalizer_levels
* array pointed to by equalizer_levels.
*
- * \param unsigned 20 PL2Ram address where preset to be loaded is.
- * \param unsigned 4 * Pointer to preset location.
+ * \param preset_address PL2Ram address where preset to be
+ * loaded is.
+ * \param *equalizer_levels Location where to store presets loaded
+ * from ram.
*
* \return void
* \retval void
diff --git a/Graphic_Equalizer/src/main.hcc b/Graphic_Equalizer/src/main.hcc
index 3593637..91509fc 100644
--- a/Graphic_Equalizer/src/main.hcc
+++ b/Graphic_Equalizer/src/main.hcc
@@ -1,4 +1,3 @@
-
/*! \file main.hcc
*
* \section generic Message build up information and more
@@ -46,8 +45,6 @@
/*! \fn void main(void);
* \brief Main Application Loop.
*
- * \param void
- *
* \return void
* \retval void
*/
diff --git a/Graphic_Equalizer/src/mouse.hcc b/Graphic_Equalizer/src/mouse.hcc
index 0469fda..61ce619 100644
--- a/Graphic_Equalizer/src/mouse.hcc
+++ b/Graphic_Equalizer/src/mouse.hcc
@@ -1,4 +1,4 @@
-/*! \file mousedriver.hcc
+/*! \file mouse.hcc
*
* \section generic This module takes care of mouse input. The mouse
* input function itself is however performed by the
@@ -38,9 +38,9 @@
/*! \fn void mouse_main(mousedata_t *mousedata);
* \brief Main mousedriver. This function never returns! It calls the
* main mousehandler and returns the States and coordinates
- * into the shared mpram.
+ * into a shared store.
*
- * \param void None.
+ * \param *mousedata Storage for all mousedata and states.
*
* \return Never Returns.
* \retval void
diff --git a/Graphic_Equalizer/src/sample.hcc b/Graphic_Equalizer/src/sample.hcc
deleted file mode 100644
index 000baf9..0000000
--- a/Graphic_Equalizer/src/sample.hcc
+++ /dev/null
@@ -1,106 +0,0 @@
-/*! \file sample.hcc
- *
- * \section generic Handle audio sampling and buffer rotation.
- *
- * \section project Project information.
- * Project Graphic Equalizer\n
- * \author O.M. Schinagl
- * \date 20041021
- * \version 0.1
- *
- * \section copyright Copyright
- * Copyright ©2004 Koninklijke Philips Electronics N.V. All rights reserved
- *
- * \section history Change history
- * 20041021: O.M. Schinagl\n Initial version
- *
- ********************************************************************/
-
-/******** System Includes *************/
-
-/******** Application Includes ********/
-#include "sample.hch"
-
-
-
-/*
- * Pointer that points towards the current 64 bits samples.
- */
-signed 16 *audio_in_ptr;
-
-/*
- * 64 step counter to keep track of our samples. This is a private variable.
- */
-unsigned 8 sample_count;
-
-
-
-/*! \fn void sample_add(signed 16 in_sample);
- * \brief This procedure adds the supplied sample to the input buffer.
- *
- * \param signed 16 in_sample 16 bits signed sample to be added.
- *
- * \return void
- * \retval void
- */
-void sample_add(signed 16 in_sample) {
- /*
- * We only sample 64 bits in our buffer, hence we circulate around the
- * last 6 bits.
- */
- audio_in_ptr[sample_count <-6] = in_sample;
- sample_count++;
-} /* --- sample_add() --- */
-
-
-
-/*! \fn void sample_get(signed 16 *out_sample);
- * \brief This procedure gets the sample from the current output buffer.
- *
- * \param * in_sample pointer to storage for sample.
- *
- * \return void
- * \retval void
- */
-void sample_get(signed 16 *out_sample) {
- /*
- * We circulate around a 64 bits buffer, therefor we only use the last
- * 6 bits.
- */
- *out_sample = audio_out_ptr[sample_count <-6];
-} /* --- sample_get() --- */
-
-
-
-/*! \fn unsigned 1 sample_rotate_buffers(void);
- * \brief This procedure rotates our buffers around if 64 samples are
- * read into our current buffer.
- *
- * \param in_sample 16 bits signed sample to be added.
- *
- * \return 1 when 64 samples have passed, 0 otherwise.
- * \retval unsigned 1;
- */
-unsigned 1 sample_rotate_buffers(void) {
- unsigned 1 retval; /* store for returnvalue */
-
- retval = 0;
- /*
- * We only want to read 64 samples, but calculations work nicer if we
- * use 256 samples. Therefor we circulate our audio pointer around.
- */
- if (!(sample_count <- 6)) {
- /*
- * 64 Samples have passed. We are back at '0'. Use the full
- * sample count as index which is 0 64 128 or 192 and back to
- * 0. Our Output is only 128 big so we only look at the
- * 7 LSB. Also, notify the main application that 64 samples
- * have been processed.
- */
- par {
- audio_in_ptr = &pcm_audio_in[sample_count];
- audio_out_ptr = &pcm_audio_out[(sample_count <- 7)];
- retval = 1;
- }
- }
-} /* --- sample_rotate_buffers() --- */
diff --git a/Graphic_Equalizer/src/smartmedia.hcc b/Graphic_Equalizer/src/smartmedia.hcc
index efc0e3d..757cc17 100644
--- a/Graphic_Equalizer/src/smartmedia.hcc
+++ b/Graphic_Equalizer/src/smartmedia.hcc
@@ -35,12 +35,10 @@
#include "eventhandler_shared.hch"
#include "display.hch" /* FIXME: temporary include, needs to be moved to 'init' */
-/*! \fn unsigned 1 smartmedia_init(void);
+/*! \fn unsigned 1 smartmedia_init(void);
* \brief We here initialize the Smart Media card and verify wether the
* card is inserted and such.
*
- * \param void None.
- *
* \return We return 0 on success, 1 on error.
* \retval unsigned 1
*/
@@ -65,7 +63,7 @@ unsigned 1 smartmedia_init(void) {
/*! \fn void smartmedia_loaddata(skindata_t *skindata);
* \brief We load our memory with skin and help data from the smartmedia.
*
- * \param skindata_t *skindata pointer to skindata struct.
+ * \param *skindata skindata like boundries and colors of elements.
*
* \return void
* \retval void