diff options
-rw-r--r-- | apps/codecs/lib/xxx2wav.c | 5 | ||||
-rw-r--r-- | apps/lang/english.lang | 24 | ||||
-rw-r--r-- | apps/playback.c | 6 | ||||
-rw-r--r-- | apps/settings.c | 1 | ||||
-rw-r--r-- | apps/settings.h | 1 | ||||
-rw-r--r-- | apps/settings_menu.c | 16 |
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 | |||
3262 | eng: " (VBR)" | 3262 | eng: " (VBR)" |
3263 | voice "" | 3263 | voice "" |
3264 | new: | 3264 | new: |
3265 | |||
3266 | id: LANG_BEEP | ||
3267 | desc: in playback settings | ||
3268 | eng: "Beep volume" | ||
3269 | voice "Beep volume" | ||
3270 | new: | ||
3271 | |||
3272 | id: LANG_WEAK | ||
3273 | desc: in beep volume in playback settings | ||
3274 | eng: "Weak" | ||
3275 | voice "Weak" | ||
3276 | new: | ||
3277 | |||
3278 | id: LANG_MODERATE | ||
3279 | desc: in beep volume in playback settings | ||
3280 | eng: "Moderate" | ||
3281 | voice "Moderate" | ||
3282 | new: | ||
3283 | |||
3284 | id: LANG_STRONG | ||
3285 | desc: in beep volume in playback settings | ||
3286 | eng: "Strong" | ||
3287 | voice "Strong" | ||
3288 | new: | ||
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 | |||
1273 | static 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 | ||
1274 | static bool playback_settings_menu(void) | 1289 | static 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 }, |