summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Gmeiner <christian.gmeiner@gmail.com>2008-05-16 19:28:45 +0000
committerChristian Gmeiner <christian.gmeiner@gmail.com>2008-05-16 19:28:45 +0000
commit59357d48c1e0255e9df5e0d6660f57426efbe192 (patch)
tree7c3e7d7b8204acb67e625ffe5556f147678ee8f4
parent95d76f2da2b1535d552f60ab36a297c615960acc (diff)
downloadrockbox-59357d48c1e0255e9df5e0d6660f57426efbe192.tar.gz
rockbox-59357d48c1e0255e9df5e0d6660f57426efbe192.zip
add AUDIOHW_CAP for bass cutoff and treble cut off and fix a wrong ifdef for simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17537 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/export/audiohw.h44
-rw-r--r--firmware/export/wm8758.h4
-rw-r--r--firmware/export/wm8985.h4
-rw-r--r--firmware/sound.c12
4 files changed, 49 insertions, 15 deletions
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h
index 4c9271e03e..5842ff7d3b 100644
--- a/firmware/export/audiohw.h
+++ b/firmware/export/audiohw.h
@@ -24,11 +24,13 @@
24#include <stdbool.h> 24#include <stdbool.h>
25 25
26/* define some audiohw caps */ 26/* define some audiohw caps */
27#define TREBLE_CAP (1 << 0) 27#define TREBLE_CAP (1 << 0)
28#define BASS_CAP (1 << 1) 28#define BASS_CAP (1 << 1)
29#define BALANCE_CAP (1 << 2) 29#define BALANCE_CAP (1 << 2)
30#define CLIPPING_CAP (1 << 3) 30#define CLIPPING_CAP (1 << 3)
31#define PRESCALER_CAP (1 << 4) 31#define PRESCALER_CAP (1 << 4)
32#define BASS_CUTOFF_CAP (1 << 5)
33#define TREBLE_CUTOFF_CAP (1 << 6)
32 34
33#ifdef HAVE_UDA1380 35#ifdef HAVE_UDA1380
34#include "uda1380.h" 36#include "uda1380.h"
@@ -77,6 +79,14 @@
77#if (AUDIOHW_CAPS & PRESCALER_CAP) 79#if (AUDIOHW_CAPS & PRESCALER_CAP)
78#define AUDIOHW_HAVE_PRESCALER 80#define AUDIOHW_HAVE_PRESCALER
79#endif 81#endif
82
83#if (AUDIOHW_CAPS & BASS_CUTOFF_CAP)
84#define AUDIOHW_HAVE_BASS_CUTOFF
85#endif
86
87#if (AUDIOHW_CAPS & TREBLE_CUTOFF_CAP)
88#define AUDIOHW_HAVE_TREBLE_CUTOFF
89#endif
80#endif /* AUDIOHW_CAPS */ 90#endif /* AUDIOHW_CAPS */
81 91
82enum { 92enum {
@@ -103,8 +113,10 @@ enum {
103 SOUND_RIGHT_GAIN, 113 SOUND_RIGHT_GAIN,
104 SOUND_MIC_GAIN, 114 SOUND_MIC_GAIN,
105#endif 115#endif
106#if defined(HAVE_WM8758) || defined(HAVE_WM8985) 116#if defined(AUDIOHW_HAVE_BASS_CUTOFF)
107 SOUND_BASS_CUTOFF, 117 SOUND_BASS_CUTOFF,
118#endif
119#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF)
108 SOUND_TREBLE_CUTOFF, 120 SOUND_TREBLE_CUTOFF,
109#endif 121#endif
110}; 122};
@@ -221,6 +233,26 @@ void audiohw_set_treble(int val);
221void audiohw_set_bass(int val); 233void audiohw_set_bass(int val);
222#endif 234#endif
223 235
236#ifdef AUDIOHW_HAVE_BASS_CUTOFF
237/**
238 * Set new bass cut off value.
239 * @param val to set.
240 * NOTE: AUDIOHW_CAPS need to contain
241 * BASS_CUTOFF_CAP
242 */
243void audiohw_set_bass_cutoff(int val);
244#endif
245
246#ifdef AUDIOHW_HAVE_TREBLE_CUTOFF
247/**
248 * Set new treble cut off value.
249 * @param val to set.
250 * NOTE: AUDIOHW_CAPS need to contain
251 * TREBLE_CUTOFF_CAP
252 */
253void audiohw_set_treble_cutoff(int val);
254#endif
255
224#ifdef HAVE_RECORDING 256#ifdef HAVE_RECORDING
225 257
226/** 258/**
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h
index 5e37e203d5..6c1987c3e8 100644
--- a/firmware/export/wm8758.h
+++ b/firmware/export/wm8758.h
@@ -24,7 +24,7 @@
24#define VOLUME_MIN -570 24#define VOLUME_MIN -570
25#define VOLUME_MAX 60 25#define VOLUME_MAX 60
26 26
27#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP) 27#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP)
28 28
29extern int tenthdb2master(int db); 29extern int tenthdb2master(int db);
30extern int tenthdb2mixer(int db); 30extern int tenthdb2mixer(int db);
@@ -32,8 +32,6 @@ extern int tenthdb2mixer(int db);
32extern void audiohw_set_master_vol(int vol_l, int vol_r); 32extern void audiohw_set_master_vol(int vol_l, int vol_r);
33extern void audiohw_set_lineout_vol(int vol_l, int vol_r); 33extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
34extern void audiohw_set_mixer_vol(int channel1, int channel2); 34extern void audiohw_set_mixer_vol(int channel1, int channel2);
35extern void audiohw_set_bass_cutoff(int value);
36extern void audiohw_set_treble_cutoff(int value);
37extern void audiohw_set_nsorder(int order); 35extern void audiohw_set_nsorder(int order);
38extern void audiohw_set_sample_rate(int sampling_control); 36extern void audiohw_set_sample_rate(int sampling_control);
39 37
diff --git a/firmware/export/wm8985.h b/firmware/export/wm8985.h
index 8696e3dd6f..f59bc771bd 100644
--- a/firmware/export/wm8985.h
+++ b/firmware/export/wm8985.h
@@ -24,7 +24,7 @@
24#define VOLUME_MIN -570 24#define VOLUME_MIN -570
25#define VOLUME_MAX 60 25#define VOLUME_MAX 60
26 26
27#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP) 27#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | BASS_CUTOFF_CAP | TREBLE_CUTOFF_CAP)
28 28
29extern int tenthdb2master(int db); 29extern int tenthdb2master(int db);
30extern int tenthdb2mixer(int db); 30extern int tenthdb2mixer(int db);
@@ -32,8 +32,6 @@ extern int tenthdb2mixer(int db);
32extern void audiohw_set_master_vol(int vol_l, int vol_r); 32extern void audiohw_set_master_vol(int vol_l, int vol_r);
33extern void audiohw_set_lineout_vol(int vol_l, int vol_r); 33extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
34extern void audiohw_set_mixer_vol(int channel1, int channel2); 34extern void audiohw_set_mixer_vol(int channel1, int channel2);
35extern void audiohw_set_bass_cutoff(int value);
36extern void audiohw_set_treble_cutoff(int value);
37extern void audiohw_set_nsorder(int order); 35extern void audiohw_set_nsorder(int order);
38extern void audiohw_set_sample_rate(int sampling_control); 36extern void audiohw_set_sample_rate(int sampling_control);
39 37
diff --git a/firmware/sound.c b/firmware/sound.c
index 5c6a821d48..bd2a9612c9 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -70,8 +70,10 @@ const struct sound_settings_info audiohw_settings[] = {
70 [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0}, 70 [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0},
71 [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16}, 71 [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16},
72#endif 72#endif
73#if defined(HAVE_WM8758) 73#if defined(AUDIOHW_HAVE_BASS_CUTOFF)
74 [SOUND_BASS_CUTOFF] = {"", 0, 1, 1, 4, 1}, 74 [SOUND_BASS_CUTOFF] = {"", 0, 1, 1, 4, 1},
75#endif
76#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF)
75 [SOUND_TREBLE_CUTOFF] = {"", 0, 1, 1, 4, 1}, 77 [SOUND_TREBLE_CUTOFF] = {"", 0, 1, 1, 4, 1},
76#endif 78#endif
77#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 79#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
@@ -146,11 +148,13 @@ sound_set_type* sound_get_fn(int setting)
146 result = sound_set_stereo_width; 148 result = sound_set_stereo_width;
147 break; 149 break;
148 150
149#ifdef HAVE_WM8758 151#if defined(AUDIOHW_HAVE_BASS_CUTOFF)
150 case SOUND_BASS_CUTOFF: 152 case SOUND_BASS_CUTOFF:
151 result = sound_set_bass_cutoff; 153 result = sound_set_bass_cutoff;
152 break; 154 break;
155#endif
153 156
157#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF)
154 case SOUND_TREBLE_CUTOFF: 158 case SOUND_TREBLE_CUTOFF:
155 result = sound_set_treble_cutoff; 159 result = sound_set_treble_cutoff;
156 break; 160 break;
@@ -410,7 +414,7 @@ void sound_set_stereo_width(int value)
410#endif 414#endif
411} 415}
412 416
413#if defined(HAVE_WM8758) || defined(HAVE_WM8985) 417#if defined(AUDIOHW_HAVE_BASS_CUTOFF)
414void sound_set_bass_cutoff(int value) 418void sound_set_bass_cutoff(int value)
415{ 419{
416 if(!audio_is_initialized) 420 if(!audio_is_initialized)
@@ -418,7 +422,9 @@ void sound_set_bass_cutoff(int value)
418 422
419 audiohw_set_bass_cutoff(value); 423 audiohw_set_bass_cutoff(value);
420} 424}
425#endif
421 426
427#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF)
422void sound_set_treble_cutoff(int value) 428void sound_set_treble_cutoff(int value)
423{ 429{
424 if(!audio_is_initialized) 430 if(!audio_is_initialized)