summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/codecs/lib/xxx2wav.c5
-rw-r--r--apps/lang/english.lang24
-rw-r--r--apps/playback.c6
-rw-r--r--apps/settings.c1
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_menu.c16
6 files changed, 51 insertions, 2 deletions
diff --git a/apps/codecs/lib/xxx2wav.c b/apps/codecs/lib/xxx2wav.c
index 8c6ceed69e..9de0a7ae19 100644
--- a/apps/codecs/lib/xxx2wav.c
+++ b/apps/codecs/lib/xxx2wav.c
@@ -37,6 +37,9 @@ void* codec_malloc(size_t size)
37{ 37{
38 void* x; 38 void* x;
39 39
40 if (mem_ptr + size > bufsize)
41 return NULL;
42
40 x=&mallocbuf[mem_ptr]; 43 x=&mallocbuf[mem_ptr];
41 mem_ptr+=(size+3)&~3; /* Keep memory 32-bit aligned */ 44 mem_ptr+=(size+3)&~3; /* Keep memory 32-bit aligned */
42 45
@@ -47,6 +50,8 @@ void* codec_calloc(size_t nmemb, size_t size)
47{ 50{
48 void* x; 51 void* x;
49 x = codec_malloc(nmemb*size); 52 x = codec_malloc(nmemb*size);
53 if (x == NULL)
54 return NULL;
50 local_rb->memset(x,0,nmemb*size); 55 local_rb->memset(x,0,nmemb*size);
51 return(x); 56 return(x);
52} 57}
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index dc1137c04c..eb1c887fae 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -3262,3 +3262,27 @@ desc: in browse_id3
3262eng: " (VBR)" 3262eng: " (VBR)"
3263voice "" 3263voice ""
3264new: 3264new:
3265
3266id: LANG_BEEP
3267desc: in playback settings
3268eng: "Beep volume"
3269voice "Beep volume"
3270new:
3271
3272id: LANG_WEAK
3273desc: in beep volume in playback settings
3274eng: "Weak"
3275voice "Weak"
3276new:
3277
3278id: LANG_MODERATE
3279desc: in beep volume in playback settings
3280eng: "Moderate"
3281voice "Moderate"
3282new:
3283
3284id: LANG_STRONG
3285desc: in beep volume in playback settings
3286eng: "Strong"
3287voice "Strong"
3288new:
diff --git a/apps/playback.c b/apps/playback.c
index e340938c0c..e601233636 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1654,13 +1654,15 @@ void audio_thread(void)
1654 1654
1655 case AUDIO_NEXT: 1655 case AUDIO_NEXT:
1656 logf("audio_next"); 1656 logf("audio_next");
1657 pcmbuf_beep(5000, 100, 5000); 1657 if (global_settings.beep)
1658 pcmbuf_beep(5000, 100, 2500*global_settings.beep);
1658 initiate_track_change(1); 1659 initiate_track_change(1);
1659 break ; 1660 break ;
1660 1661
1661 case AUDIO_PREV: 1662 case AUDIO_PREV:
1662 logf("audio_prev"); 1663 logf("audio_prev");
1663 pcmbuf_beep(5000, 100, 5000); 1664 if (global_settings.beep)
1665 pcmbuf_beep(5000, 100, 2500*global_settings.beep);
1664 initiate_track_change(-1); 1666 initiate_track_change(-1);
1665 break; 1667 break;
1666 1668
diff --git a/apps/settings.c b/apps/settings.c
index 05138aaa98..9bcdc558a2 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -432,6 +432,7 @@ static const struct bit_entry hd_bits[] =
432 {1, S_O(replaygain_track), false, "replaygain type", "track,album" }, 432 {1, S_O(replaygain_track), false, "replaygain type", "track,album" },
433 {1, S_O(replaygain_noclip), false, "replaygain noclip", off_on }, 433 {1, S_O(replaygain_noclip), false, "replaygain noclip", off_on },
434 {8 | SIGNED, S_O(replaygain_preamp), 0, "replaygain preamp", NULL }, 434 {8 | SIGNED, S_O(replaygain_preamp), 0, "replaygain preamp", NULL },
435 {2, S_O(beep), 0, "off,weak,moderate,strong", NULL },
435#endif 436#endif
436 437
437 /* If values are just added to the end, no need to bump the version. */ 438 /* If values are just added to the end, no need to bump the version. */
diff --git a/apps/settings.h b/apps/settings.h
index 7eaabec02e..767fa49463 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -335,6 +335,7 @@ struct user_settings
335 bool replaygain_track; /* true for track gain, false for album gain */ 335 bool replaygain_track; /* true for track gain, false for album gain */
336 bool replaygain_noclip; /* scale to prevent clips */ 336 bool replaygain_noclip; /* scale to prevent clips */
337 int replaygain_preamp; /* scale replaygained tracks by this */ 337 int replaygain_preamp; /* scale replaygained tracks by this */
338 int beep; /* system beep volume when changing tracks etc. */
338#endif 339#endif
339}; 340};
340 341
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index 57b4cc897e..780c2940b4 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -1269,6 +1269,21 @@ static bool replaygain_settings_menu(void)
1269 menu_exit(m); 1269 menu_exit(m);
1270 return result; 1270 return result;
1271} 1271}
1272
1273static bool beep(void)
1274{
1275 static const struct opt_items names[] = {
1276 { STR(LANG_OFF) },
1277 { STR(LANG_WEAK) },
1278 { STR(LANG_MODERATE) },
1279 { STR(LANG_STRONG) },
1280 };
1281 bool ret;
1282 ret=set_option( str(LANG_BEEP),
1283 &global_settings.beep, INT, names, 4, NULL);
1284
1285 return ret;
1286}
1272#endif 1287#endif
1273 1288
1274static bool playback_settings_menu(void) 1289static bool playback_settings_menu(void)
@@ -1288,6 +1303,7 @@ static bool playback_settings_menu(void)
1288 { ID2P(LANG_CROSSFADE), crossfade }, 1303 { ID2P(LANG_CROSSFADE), crossfade },
1289 { ID2P(LANG_CROSSFADE_DURATION), crossfade_duration }, 1304 { ID2P(LANG_CROSSFADE_DURATION), crossfade_duration },
1290 { ID2P(LANG_REPLAYGAIN), replaygain_settings_menu }, 1305 { ID2P(LANG_REPLAYGAIN), replaygain_settings_menu },
1306 { ID2P(LANG_BEEP), beep },
1291#endif 1307#endif
1292#ifdef HAVE_SPDIF_POWER 1308#ifdef HAVE_SPDIF_POWER
1293 { ID2P(LANG_SPDIF_ENABLE), spdif }, 1309 { ID2P(LANG_SPDIF_ENABLE), spdif },