diff options
| author | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-12-21 23:49:43 +0000 |
|---|---|---|
| committer | Jörg Hohensohn <hohensoh@rockbox.org> | 2004-12-21 23:49:43 +0000 |
| commit | 3bf321ff1c515da30357f830c435f3cb1c8d899e (patch) | |
| tree | 8b08236188bc09dc952fa184832ad049fbd3bd1b /firmware/mpeg.c | |
| parent | bfba2d20280dde9981c6f4d25b79734db13f1998 (diff) | |
| download | rockbox-3bf321ff1c515da30357f830c435f3cb1c8d899e.zip rockbox-3bf321ff1c515da30357f830c435f3cb1c8d899e.tar.gz rockbox-3bf321ff1c515da30357f830c435f3cb1c8d899e.tar.bz2 rockbox-3bf321ff1c515da30357f830c435f3cb1c8d899e.tar.xz | |
aid for blind recorders: longer beep when starting a recording, short beep when resuming it (you may disable the voice UI to get rid of it)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5502 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/mpeg.c')
| -rw-r--r-- | firmware/mpeg.c | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 5a199a4..26bfbc0 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -53,6 +53,7 @@ static void stop_recording(void); static int get_unsaved_space(void); static void pause_recording(void); static void resume_recording(void); +static int shadow_codec_reg0; #endif /* #if CONFIG_HWCODEC == MAS3587F */ #ifndef SIMULATOR @@ -2090,7 +2091,8 @@ static void init_recording(void) } /* Enable A/D Converters */ - mas_codec_writereg(0x0, 0xcccd); + shadow_codec_reg0 = 0xcccd; + mas_codec_writereg(0x0, shadow_codec_reg0); /* Copy left channel to right (mono mode) */ mas_codec_writereg(8, 0x8000); @@ -2366,12 +2368,26 @@ void mpeg_set_recording_options(int frequency, int quality, void mpeg_set_recording_gain(int left, int right, bool use_mic) { /* Enable both left and right A/D */ - mas_codec_writereg(0x0, - (left << 12) | - (right << 8) | - (left << 4) | - (use_mic?0x0008:0) | /* Connect left A/D to mic */ - 0x0007); + shadow_codec_reg0 = (left << 12) | + (right << 8) | + (left << 4) | + (use_mic?0x0008:0) | /* Connect left A/D to mic */ + 0x0007; + mas_codec_writereg(0x0, shadow_codec_reg0); +} + +/* try to make some kind of beep, also in recording mode */ +void mpeg_beep(int freq, int duration) +{ + (void)freq; /* not used yet */ + long starttick = current_tick; + do + { + mas_codec_writereg(0, 0); /* some little-understood sequence, */ + mas_codec_writereg(0, 1); /* there may be better ways */ + } + while (current_tick - starttick < duration); + mas_codec_writereg(0, shadow_codec_reg0); /* restore it */ } void mpeg_new_file(const char *filename) |