summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio/sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio/sdl.c')
-rw-r--r--firmware/drivers/audio/sdl.c105
1 files changed, 18 insertions, 87 deletions
diff --git a/firmware/drivers/audio/sdl.c b/firmware/drivers/audio/sdl.c
index 3c7cc55ce9..eea10ad12c 100644
--- a/firmware/drivers/audio/sdl.c
+++ b/firmware/drivers/audio/sdl.c
@@ -32,107 +32,32 @@
32#ifdef HAVE_SW_VOLUME_CONTROL 32#ifdef HAVE_SW_VOLUME_CONTROL
33#include "pcm_sw_volume.h" 33#include "pcm_sw_volume.h"
34 34
35void audiohw_set_master_vol(int vol_l, int vol_r) 35void audiohw_set_volume(int vol_l, int vol_r)
36{ 36{
37 pcm_set_master_volume(vol_l, vol_r); 37 pcm_set_master_volume(vol_l, vol_r);
38} 38}
39
39#else /* ndef HAVE_SW_VOLUME_CONTROL */ 40#else /* ndef HAVE_SW_VOLUME_CONTROL */
41
40extern void pcm_set_mixer_volume(int); 42extern void pcm_set_mixer_volume(int);
41 43
42void audiohw_set_volume(int volume) 44void audiohw_set_volume(int volume)
43{ 45{
44#if CONFIG_CODEC == SWCODEC 46#if CONFIG_CODEC == SWCODEC
45#if (CONFIG_PLATFORM & PLATFORM_MAEMO5) 47#if !(CONFIG_PLATFORM & PLATFORM_MAEMO5)
48 if (volume < VOLUME_MIN)
49 volume = 0;
50 else
51 volume = SDL_MIX_MAXVOLUME * (volume - VOLUME_MIN + ONE_DB) /
52 (VOLUME_RANGE + ONE_DB);
53#endif /* !(CONFIG_PLATFORM & PLATFORM_MAEMO5) */
54
46 pcm_set_mixer_volume(volume); 55 pcm_set_mixer_volume(volume);
47#else
48 pcm_set_mixer_volume(
49 SDL_MIX_MAXVOLUME * ((volume - VOLUME_MIN) / 10) / (VOLUME_RANGE / 10));
50#endif /* (CONFIG_PLATFORM & PLATFORM_MAEMO5) */
51#else
52 (void)volume;
53#endif /* CONFIG_CODEC == SWCODEC */ 56#endif /* CONFIG_CODEC == SWCODEC */
57 (void)volume;
54} 58}
55#endif /* HAVE_SW_VOLUME_CONTROL */ 59#endif /* HAVE_SW_VOLUME_CONTROL */
56 60
57const struct sound_settings_info audiohw_settings[] = {
58 [SOUND_VOLUME] = {"dB", 0, 1, VOLUME_MIN / 10, VOLUME_MAX / 10, -25},
59/* Bass and treble tone controls */
60#ifdef AUDIOHW_HAVE_BASS
61 [SOUND_BASS] = {"dB", 0, 1, -24, 24, 0},
62#endif
63#ifdef AUDIOHW_HAVE_TREBLE
64 [SOUND_TREBLE] = {"dB", 0, 1, -24, 24, 0},
65#endif
66 [SOUND_BALANCE] = {"%", 0, 1,-100, 100, 0},
67 [SOUND_CHANNELS] = {"", 0, 1, 0, 5, 0},
68 [SOUND_STEREO_WIDTH] = {"%", 0, 5, 0, 250, 100},
69#if defined(HAVE_RECORDING)
70 [SOUND_LEFT_GAIN] = {"dB", 1, 1,-128, 96, 0},
71 [SOUND_RIGHT_GAIN] = {"dB", 1, 1,-128, 96, 0},
72 [SOUND_MIC_GAIN] = {"dB", 1, 1,-128, 108, 16},
73#endif
74#if defined(AUDIOHW_HAVE_BASS_CUTOFF)
75 [SOUND_BASS_CUTOFF] = {"", 0, 1, 1, 4, 1},
76#endif
77#if defined(AUDIOHW_HAVE_TREBLE_CUTOFF)
78 [SOUND_TREBLE_CUTOFF] = {"", 0, 1, 1, 4, 1},
79#endif
80#if defined(AUDIOHW_HAVE_DEPTH_3D)
81 [SOUND_DEPTH_3D] = {"%", 0, 1, 0, 15, 0},
82#endif
83/* Hardware EQ tone controls */
84#if defined(AUDIOHW_HAVE_EQ_BAND1)
85 [SOUND_EQ_BAND1_GAIN] = {"dB", 0, 1, -12, 12, 0},
86#endif
87#if defined(AUDIOHW_HAVE_EQ_BAND2)
88 [SOUND_EQ_BAND2_GAIN] = {"dB", 0, 1, -12, 12, 0},
89#endif
90#if defined(AUDIOHW_HAVE_EQ_BAND3)
91 [SOUND_EQ_BAND3_GAIN] = {"dB", 0, 1, -12, 12, 0},
92#endif
93#if defined(AUDIOHW_HAVE_EQ_BAND4)
94 [SOUND_EQ_BAND4_GAIN] = {"dB", 0, 1, -12, 12, 0},
95#endif
96#if defined(AUDIOHW_HAVE_EQ_BAND5)
97 [SOUND_EQ_BAND5_GAIN] = {"dB", 0, 1, -12, 12, 0},
98#endif
99#if defined(AUDIOHW_HAVE_EQ_BAND1_FREQUENCY)
100 [SOUND_EQ_BAND1_FREQUENCY] = {"", 0, 1, 1, 4, 1},
101#endif
102#if defined(AUDIOHW_HAVE_EQ_BAND2_FREQUENCY)
103 [SOUND_EQ_BAND2_FREQUENCY] = {"", 0, 1, 1, 4, 1},
104#endif
105#if defined(AUDIOHW_HAVE_EQ_BAND3_FREQUENCY)
106 [SOUND_EQ_BAND3_FREQUENCY] = {"", 0, 1, 1, 4, 1},
107#endif
108#if defined(AUDIOHW_HAVE_EQ_BAND4_FREQUENCY)
109 [SOUND_EQ_BAND4_FREQUENCY] = {"", 0, 1, 1, 4, 1},
110#endif
111#if defined(AUDIOHW_HAVE_EQ_BAND5_FREQUENCY)
112 [SOUND_EQ_BAND5_FREQUENCY] = {"", 0, 1, 1, 4, 1},
113#endif
114#if defined(AUDIOHW_HAVE_EQ_BAND2_WIDTH)
115 [SOUND_EQ_BAND2_WIDTH] = {"", 0, 1, 0, 1, 0},
116#endif
117#if defined(AUDIOHW_HAVE_EQ_BAND3_WIDTH)
118 [SOUND_EQ_BAND3_WIDTH] = {"", 0, 1, 0, 1, 0},
119#endif
120#if defined(AUDIOHW_HAVE_EQ_BAND4_WIDTH)
121 [SOUND_EQ_BAND4_WIDTH] = {"", 0, 1, 0, 1, 0},
122#endif
123
124#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
125 [SOUND_LOUDNESS] = {"dB", 0, 1, 0, 17, 0},
126 [SOUND_AVC] = {"", 0, 1, -1, 4, 0},
127 [SOUND_MDB_STRENGTH] = {"dB", 0, 1, 0, 127, 48},
128 [SOUND_MDB_HARMONICS] = {"%", 0, 1, 0, 100, 50},
129 [SOUND_MDB_CENTER] = {"Hz", 0, 10, 20, 300, 60},
130 [SOUND_MDB_SHAPE] = {"Hz", 0, 10, 50, 300, 90},
131 [SOUND_MDB_ENABLE] = {"", 0, 1, 0, 1, 0},
132 [SOUND_SUPERBASS] = {"", 0, 1, 0, 1, 0},
133#endif /* (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) */
134};
135
136/** 61/**
137 * stubs here, for the simulator 62 * stubs here, for the simulator
138 **/ 63 **/
@@ -149,12 +74,14 @@ void audiohw_set_prescaler(int value)
149#if defined(AUDIOHW_HAVE_BALANCE) 74#if defined(AUDIOHW_HAVE_BALANCE)
150void audiohw_set_balance(int value) { (void)value; } 75void audiohw_set_balance(int value) { (void)value; }
151#endif 76#endif
77#ifndef HAVE_SW_TONE_CONTROLS
152#if defined(AUDIOHW_HAVE_BASS) 78#if defined(AUDIOHW_HAVE_BASS)
153void audiohw_set_bass(int value) { (void)value; } 79void audiohw_set_bass(int value) { (void)value; }
154#endif 80#endif
155#if defined(AUDIOHW_HAVE_TREBLE) 81#if defined(AUDIOHW_HAVE_TREBLE)
156void audiohw_set_treble(int value) { (void)value; } 82void audiohw_set_treble(int value) { (void)value; }
157#endif 83#endif
84#endif /* HAVE_SW_TONE_CONTROLS */
158#if CONFIG_CODEC != SWCODEC 85#if CONFIG_CODEC != SWCODEC
159void audiohw_set_channel(int value) { (void)value; } 86void audiohw_set_channel(int value) { (void)value; }
160void audiohw_set_stereo_width(int value){ (void)value; } 87void audiohw_set_stereo_width(int value){ (void)value; }
@@ -182,6 +109,10 @@ void audiohw_set_eq_band_width(unsigned int band, int value)
182void audiohw_set_depth_3d(int value) 109void audiohw_set_depth_3d(int value)
183 { (void)value; } 110 { (void)value; }
184#endif 111#endif
112#if defined(AUDIOHW_HAVE_LINEOUT)
113void audiohw_set_lineout_volume(int vol_l, int vol_r)
114 { (void)vol_l; (void)vol_r; }
115#endif
185 116
186void audiohw_close(void) {} 117void audiohw_close(void) {}
187 118