Fix a bug with preferences
[vlc.git] / modules / audio_filter / equalizer_presets.h
1 /*****************************************************************************
2  * equalizer_presets.h:
3  *****************************************************************************
4  * Copyright (C) 2004 VideoLAN
5  * $Id:$
6  *
7  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
22  *****************************************************************************/
23
24 /*****************************************************************************
25  * Equalizer presets
26  *****************************************************************************/
27 /* Equalizer presets values are in this file instead of equalizer.c, so you can
28  * get these values even if the equalizer is not enabled.
29  */
30
31 #define EQZ_BANDS_MAX 10
32
33 static char *preset_list[] = {
34     "flat", "classical", "club", "dance", "fullbass", "fullbasstreble",
35     "fulltreble", "headphones","largehall", "live", "party", "pop", "reggae",
36     "rock", "ska", "soft", "softrock", "techno"
37 };
38 static char *preset_list_text[] = {
39     N_("Flat"), N_("Classical"), N_("Club"), N_("Dance"), N_("Full bass"),
40     N_("Full bass and treble"), N_("Full treble"), N_("Headphones"),
41     N_("Large Hall"), N_("Live"), N_("Party"), N_("Pop"), N_("Reggae"),
42     N_("Rock"), N_("Ska"), N_("Soft"), N_("Soft rock"), N_("Techno"),
43 };
44
45 typedef struct
46 {
47     char *psz_name;
48     int  i_band;
49     float f_preamp;
50     float f_amp[EQZ_BANDS_MAX];
51 } eqz_preset_t;
52
53 static const eqz_preset_t eqz_preset_flat_10b=
54 {
55     "flat", 10, 12.0,
56     { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 },
57 };
58 static const eqz_preset_t eqz_preset_classical_10b=
59 {
60     "classical", 10, 12.0,
61     { -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, -7.2, -7.2, -7.2, -9.6 }
62 };
63 static const eqz_preset_t eqz_preset_club_10b=
64 {
65     "club", 10, 6.0,
66     { -1.11022e-15, -1.11022e-15, 8, 5.6, 5.6, 5.6, 3.2, -1.11022e-15, -1.11022e-15, -1.11022e-15 }
67 };
68 static const eqz_preset_t eqz_preset_dance_10b=
69 {
70     "dance", 10, 5.0,
71     { 9.6, 7.2, 2.4, -1.11022e-15, -1.11022e-15, -5.6, -7.2, -7.2, -1.11022e-15, -1.11022e-15 }
72 };
73 static const eqz_preset_t eqz_preset_fullbass_10b=
74 {
75     "fullbass", 10, 5.0,
76     { -8, 9.6, 9.6, 5.6, 1.6, -4, -8, -10.4, -11.2, -11.2  }
77 };
78 static const eqz_preset_t eqz_preset_fullbasstreble_10b=
79 {
80     "fullbasstreble", 10, 4.0,
81     { 7.2, 5.6, -1.11022e-15, -7.2, -4.8, 1.6, 8, 11.2, 12, 12 }
82 };
83
84 static const eqz_preset_t eqz_preset_fulltreble_10b=
85 {
86     "fulltreble", 10, 3.0,
87     { -9.6, -9.6, -9.6, -4, 2.4, 11.2, 16, 16, 16, 16.8 }
88 };
89 static const eqz_preset_t eqz_preset_headphones_10b=
90 {
91     "headphones", 10, 4.0,
92     { 4.8, 11.2, 5.6, -3.2, -2.4, 1.6, 4.8, 9.6, 12.8, 14.4 }
93 };
94 static const eqz_preset_t eqz_preset_largehall_10b=
95 {
96     "largehall", 10, 5.0,
97     { 10.4, 10.4, 5.6, 5.6, -1.11022e-15, -4.8, -4.8, -4.8, -1.11022e-15, -1.11022e-15 }
98 };
99 static const eqz_preset_t eqz_preset_live_10b=
100 {
101     "live", 10, 7.0,
102     { -4.8, -1.11022e-15, 4, 5.6, 5.6, 5.6, 4, 2.4, 2.4, 2.4 }
103 };
104 static const eqz_preset_t eqz_preset_party_10b=
105 {
106     "party", 10, 6.0,
107     { 7.2, 7.2, -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, -1.11022e-15, 7.2, 7.2 }
108 };
109 static const eqz_preset_t eqz_preset_pop_10b=
110 {
111     "pop", 10, 6.0,
112     { -1.6, 4.8, 7.2, 8, 5.6, -1.11022e-15, -2.4, -2.4, -1.6, -1.6 }
113 };
114 static const eqz_preset_t eqz_preset_reggae_10b=
115 {
116     "reggae", 10, 8.0,
117     { -1.11022e-15, -1.11022e-15, -1.11022e-15, -5.6, -1.11022e-15, 6.4, 6.4, -1.11022e-15, -1.11022e-15, -1.11022e-15 }
118 };
119 static const eqz_preset_t eqz_preset_rock_10b=
120 {
121     "rock", 10, 5.0,
122     { 8, 4.8, -5.6, -8, -3.2, 4, 8.8, 11.2, 11.2, 11.2 }
123 };
124 static const eqz_preset_t eqz_preset_ska_10b=
125 {
126     "ska", 10, 6.0,
127     { -2.4, -4.8, -4, -1.11022e-15, 4, 5.6, 8.8, 9.6, 11.2, 9.6 }
128 };
129 static const eqz_preset_t eqz_preset_soft_10b=
130 {
131     "soft", 10, 5.0,
132     { 4.8, 1.6, -1.11022e-15, -2.4, -1.11022e-15, 4, 8, 9.6, 11.2, 12 }
133 };
134 static const eqz_preset_t eqz_preset_softrock_10b=
135 {
136     "softrock", 10, 7.0,
137     { 4, 4, 2.4, -1.11022e-15, -4, -5.6, -3.2, -1.11022e-15, 2.4, 8.8 }
138 };
139 static const eqz_preset_t eqz_preset_techno_10b=
140 {
141     "techno", 10, 5.0,
142     { 8, 5.6, -1.11022e-15, -5.6, -4.8, -1.11022e-15, 8, 9.6, 9.6, 8.8 }
143 };
144
145 static const eqz_preset_t *eqz_preset_10b[] =
146 {
147     &eqz_preset_flat_10b,
148     &eqz_preset_classical_10b,
149     &eqz_preset_club_10b,
150     &eqz_preset_dance_10b,
151     &eqz_preset_fullbass_10b,
152     &eqz_preset_fullbasstreble_10b,
153     &eqz_preset_fulltreble_10b,
154     &eqz_preset_headphones_10b,
155     &eqz_preset_largehall_10b,
156     &eqz_preset_live_10b,
157     &eqz_preset_party_10b,
158     &eqz_preset_pop_10b,
159     &eqz_preset_reggae_10b,
160     &eqz_preset_rock_10b,
161     &eqz_preset_ska_10b,
162     &eqz_preset_soft_10b,
163     &eqz_preset_softrock_10b,
164     &eqz_preset_techno_10b,
165     NULL
166 };
167
168
169