1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
diff --git a/manual/plugins/fft.tex b/manual/plugins/fft.tex
new file mode 100644
index 0000000..b857109
--- /dev/null
+++ b/manual/plugins/fft.tex
@@ -0,0 +1,60 @@
+% $Id$ %
+\subsection{FFT}
+This plugin is a basic frequency analyzer with 3 different frequency-amplitude plots (lines, bars, and spectrogram).
+
+\begin{table}
+  \begin{btnmap}{}{}
+    \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonMenu}
+    \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_M200_PAD}{\ButtonSelect}
+    \opt{SAMSUNG_YH_PAD}{\ButtonFfwd}
+    \opt{IRIVER_H10_PAD}{\ButtonRew}
+    \opt{IAUDIO_M3_PAD}{\ButtonRCVolUp}
+    \opt{ARCHOS_AV300_PAD,CREATIVEZVM_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_X5M5_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD,PHILIPS_HDD1630_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonUp}
+    & Toggle amplitude scale (logarithmic or linear) \\
+%
+    \opt{CREATIVEZVM_PAD,GIGABEAT_S_PAD}{\ButtonMenu}
+    \opt{IRIVER_H10_PAD}{\ButtonFF}
+    \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
+    \opt{GIGABEAT_PAD,IAUDIO_X5M5_PAD,PHILIPS_HDD1630_PAD,SANSA_E200_PAD}{\ButtonSelect}
+    \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonLeft}
+    \opt{SAMSUNG_YH_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_M200_PAD}{\ButtonUp}
+    \opt{MROBE100_PAD}{\ButtonPlay}
+    \opt{IAUDIO_M3_PAD}{\ButtonRCMode}
+    \opt{ARCHOS_AV300_PAD}{\ButtonF3}
+    & Toggle drawing orientation \\
+%
+    \opt{PHILIPS_HDD1630_PAD}{\ButtonMenu}
+    \opt{SANSA_C200_PAD,SANSA_E200_PAD}{\ButtonRec}
+    \opt{CREATIVEZVM_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,MROBE100_PAD}{\ButtonSelect}
+    \opt{SANSA_CLIP_PAD}{\ButtonHome}
+    \opt{SAMSUNG_YH_PAD,SANSA_M200_PAD}{\ButtonDown}
+    \opt{IRIVER_H10_PAD}{\ButtonScrollUp}
+    \opt{IAUDIO_M3_PAD}{\ButtonRCPlay}
+    \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonRight}
+    \opt{IAUDIO_X5M5_PAD}{\ButtonPlay}
+    \opt{GIGABEAT_PAD}{\ButtonA}
+    \opt{ARCHOS_AV300_PAD}{\ButtonF1}
+    \opt{GIGABEAT_S_PAD}{\ButtonPrev}
+    & Toggle window function (Hann or Hamming) \\
+%
+    \opt{IAUDIO_M3_PAD}{\ButtonRCRew}
+    \opt{COWON_D2_PAD}{\ButtonPlus}
+    \opt{ARCHOS_AV300_PAD,CREATIVEZVM_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_X5M5_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,IRIVER_H100_PAD,IRIVER_H10_PAD,IRIVER_H300_PAD,MROBE100_PAD,PHILIPS_HDD1630_PAD,SAMSUNG_YH_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_M200_PAD}{\ButtonLeft}
+    & Previous mode \\
+%
+    \opt{COWON_D2_PAD}{\ButtonMinus}
+    \opt{IAUDIO_M3_PAD}{\ButtonRCFF}
+    \opt{ARCHOS_AV300_PAD,CREATIVEZVM_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,IAUDIO_X5M5_PAD,IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD,IRIVER_H100_PAD,IRIVER_H10_PAD,IRIVER_H300_PAD,MROBE100_PAD,PHILIPS_HDD1630_PAD,SAMSUNG_YH_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_M200_PAD}{\ButtonRight}
+    & Next mode \\
+%
+    \opt{CREATIVEZVM_PAD,GIGABEAT_S_PAD}{\ButtonBack}
+    \opt{COWON_D2_PAD,GIGABEAT_PAD,IAUDIO_X5M5_PAD,IRIVER_H10_PAD,MROBE100_PAD,MROBE500_PAD,ONDAVX747_PAD,ONDAVX777_PAD,PHILIPS_HDD1630_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_M200_PAD}{\ButtonPower}
+    \opt{IAUDIO_M3_PAD}{\ButtonRCRec}
+    \opt{SAMSUNG_YH_PAD}{\ButtonPlay}
+    \opt{ARCHOS_AV300_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
+    \opt{IPOD_1G2G_PAD,IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonSelect+\ButtonMenu}
+    & Exit demo \\
+%
+  \end{btnmap}
+\end{table}
+
diff --git a/manual/plugins/main.tex b/manual/plugins/main.tex
index ff332b7..a2d4fca 100644
--- a/manual/plugins/main.tex
+++ b/manual/plugins/main.tex
@@ -100,6 +100,8 @@ text files%

 \opt{lcd_bitmap}{\input{plugins/demystify.tex}}

+\opt{lcd_bitmap}{\input{plugins/fft.tex}}
+
 \opt{lcd_bitmap}{\input{plugins/fire.tex}}

 \opt{lcd_bitmap}{\input{plugins/fractals.tex}}