summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/lang/english.lang34
-rw-r--r--apps/plugin.c2
-rw-r--r--apps/plugin.h2
-rw-r--r--apps/plugins/mpegplayer/mpeg_settings.c5
-rw-r--r--apps/settings.c2
-rw-r--r--apps/settings.h2
-rw-r--r--apps/settings_list.c6
7 files changed, 45 insertions, 8 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index fc575a3..7366a80 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -13052,3 +13052,37 @@
*: "Western European"
</voice>
</phrase>
+<phrase>
+ id: LANG_CROSSFEED_MEIER
+ desc: in sound settings
+ user: core
+ <source>
+ *: none
+ swcodec: "Simple (Meier)"
+ </source>
+ <dest>
+ *: none
+ swcodec: "Simple (Meier)"
+ </dest>
+ <voice>
+ *: none
+ swcodec: "Simple"
+ </voice>
+</phrase>
+<phrase>
+ id: LANG_CROSSFEED_CUSTOM
+ desc: in sound settings
+ user: core
+ <source>
+ *: none
+ swcodec: "Custom"
+ </source>
+ <dest>
+ *: none
+ swcodec: "Custom"
+ </dest>
+ <voice>
+ *: none
+ swcodec: "Custom"
+ </voice>
+</phrase>
diff --git a/apps/plugin.c b/apps/plugin.c
index afb336e..e0e565e 100644
--- a/apps/plugin.c
+++ b/apps/plugin.c
@@ -565,7 +565,7 @@ static const struct plugin_api rockbox_api = {
audio_set_output_source,
audio_set_input_source,
#endif
- dsp_crossfeed_enable,
+ dsp_set_crossfeed_type ,
dsp_eq_enable,
dsp_dither_enable,
#ifdef HAVE_PITCHCONTROL
diff --git a/apps/plugin.h b/apps/plugin.h
index b1d3c16..bb27781 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -682,7 +682,7 @@ struct plugin_api {
void (*audio_set_output_source)(int monitor);
void (*audio_set_input_source)(int source, unsigned flags);
#endif
- void (*dsp_crossfeed_enable)(bool enable);
+ void (*dsp_set_crossfeed_type)(int type);
void (*dsp_eq_enable)(bool enable);
void (*dsp_dither_enable)(bool enable);
#ifdef HAVE_PITCHCONTROL
diff --git a/apps/plugins/mpegplayer/mpeg_settings.c b/apps/plugins/mpegplayer/mpeg_settings.c
index 7f92fb7..bcef4c6 100644
--- a/apps/plugins/mpegplayer/mpeg_settings.c
+++ b/apps/plugins/mpegplayer/mpeg_settings.c
@@ -457,8 +457,9 @@ static void sync_audio_setting(int setting, bool global)
break;
case MPEG_AUDIO_CROSSFEED:
- rb->dsp_crossfeed_enable((global || settings.crossfeed) ?
- rb->global_settings->crossfeed : false);
+ rb->dsp_set_crossfeed_type((global || settings.crossfeed) ?
+ rb->global_settings->crossfeed :
+ CROSSFEED_TYPE_NONE);
break;
case MPEG_AUDIO_EQUALIZER:
diff --git a/apps/settings.c b/apps/settings.c
index d777eb1..3bf9c5b 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -979,7 +979,7 @@ void settings_apply(bool read_disk)
audio_set_crossfade(global_settings.crossfade);
#endif
replaygain_update();
- dsp_crossfeed_enable(global_settings.crossfeed);
+ dsp_set_crossfeed_type(global_settings.crossfeed);
dsp_set_crossfeed_direct_gain(global_settings.crossfeed_direct_gain);
dsp_set_crossfeed_cross_params(global_settings.crossfeed_cross_gain,
global_settings.crossfeed_hf_attenuation,
diff --git a/apps/settings.h b/apps/settings.h
index 55d3344..ef0bae5 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -325,7 +325,7 @@ struct user_settings
struct replaygain_settings replaygain_settings;
/* Crossfeed */
- bool crossfeed; /* enable crossfeed */
+ int crossfeed; /* crossfeed type */
unsigned int crossfeed_direct_gain; /* dB x 10 */
unsigned int crossfeed_cross_gain; /* dB x 10 */
unsigned int crossfeed_hf_attenuation; /* dB x 10 */
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 10d00d5..accd51d 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1402,8 +1402,10 @@ const struct settings_list settings[] = {
#endif
/* crossfeed */
- OFFON_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, false,
- "crossfeed", dsp_crossfeed_enable),
+ CHOICE_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, 0,"crossfeed",
+ "off,meier,custom", dsp_set_crossfeed_type, 3,
+ ID2P(LANG_OFF), ID2P(LANG_CROSSFEED_MEIER),
+ ID2P(LANG_CROSSFEED_CUSTOM)),
INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_direct_gain,
LANG_CROSSFEED_DIRECT_GAIN, -15,
"crossfeed direct gain", UNIT_DB, -60, 0, 5,