diff options
| author | Andy <andy@rockbox.org> | 2005-11-12 04:00:56 +0000 |
|---|---|---|
| committer | Andy <andy@rockbox.org> | 2005-11-12 04:00:56 +0000 |
| commit | e6e5496535a6fa45ee5cb63fb80886514ae72231 (patch) | |
| tree | ebd73be009933c4c7eaf224ccec308aa56dd7b99 /firmware/export | |
| parent | 663fba13996c32e13d4cca89ffda86de8d536c7f (diff) | |
| download | rockbox-e6e5496535a6fa45ee5cb63fb80886514ae72231.zip rockbox-e6e5496535a6fa45ee5cb63fb80886514ae72231.tar.gz rockbox-e6e5496535a6fa45ee5cb63fb80886514ae72231.tar.bz2 rockbox-e6e5496535a6fa45ee5cb63fb80886514ae72231.tar.xz | |
iRiver: Initial support for wav-recording in recording menu. Supports mic/line-in (and radio), monitor mode, time-splitting (and byte-splitting), pause/resume etc. Things todo: Prerecording, peakmeter (should be simple), frequency other than 44.1 kHz, etc..
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7818 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/audio.h | 23 | ||||
| -rw-r--r-- | firmware/export/config-h120.h | 2 | ||||
| -rw-r--r-- | firmware/export/mpeg.h | 13 | ||||
| -rw-r--r-- | firmware/export/pcm_record.h | 32 | ||||
| -rw-r--r-- | firmware/export/sound.h | 6 | ||||
| -rw-r--r-- | firmware/export/uda1380.h | 2 |
6 files changed, 36 insertions, 42 deletions
diff --git a/firmware/export/audio.h b/firmware/export/audio.h index 67ed052..ab6f41c 100644 --- a/firmware/export/audio.h +++ b/firmware/export/audio.h @@ -33,6 +33,11 @@ #define AUDIOERR_DISK_FULL 1 +#define AUDIO_GAIN_LINEIN 0 +#define AUDIO_GAIN_MIC 1 +#define AUDIO_GAIN_ADC 2 /* for UDA1380 */ + + struct audio_debug { int audiobuflen; @@ -79,6 +84,24 @@ int audio_get_file_pos(void); void audio_beep(int duration); void audio_init_playback(void); +/* audio recording functions */ +void audio_init_recording(void); +void audio_close_recording(void); +void audio_record(const char *filename); +void audio_stop_recording(void); +void audio_pause_recording(void); +void audio_resume_recording(void); +void audio_new_file(const char *filename); +void audio_set_recording_options(int frequency, int quality, + int source, int channel_mode, + bool editable, int prerecord_time, + bool monitor); +void audio_set_recording_gain(int left, int right, int type); +unsigned long audio_recorded_time(void); +unsigned long audio_num_recorded_bytes(void); + + + /***********************************************************************/ /* audio event handling */ diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h index 72bc770..653dbc0 100644 --- a/firmware/export/config-h120.h +++ b/firmware/export/config-h120.h @@ -7,7 +7,7 @@ #define MODEL_NUMBER 0 /* define this if you have recording possibility */ -/*#define HAVE_RECORDING 1*/ +#define HAVE_RECORDING 1 /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP 1 diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h index a7c9cac..d62ac14 100644 --- a/firmware/export/mpeg.h +++ b/firmware/export/mpeg.h @@ -44,20 +44,11 @@ #define MPEG_RESERVED_HEADER_SPACE (4096 + 576) #if (CONFIG_CODEC == MAS3587F) || defined(SIMULATOR) -void mpeg_init_recording(void); -void mpeg_record(const char *filename); -void mpeg_new_file(const char *filename); -void mpeg_set_recording_options(int frequency, int quality, - int source, int channel_mode, - bool editable, int prerecord_time); -void mpeg_set_recording_gain(int left, int right, bool use_mic); + #if CONFIG_TUNER & S1A0903X01 int mpeg_get_mas_pllfreq(void); #endif -unsigned long mpeg_recorded_time(void); -unsigned long mpeg_num_recorded_bytes(void); -void mpeg_pause_recording(void); -void mpeg_resume_recording(void); + #endif unsigned long mpeg_get_last_header(void); diff --git a/firmware/export/pcm_record.h b/firmware/export/pcm_record.h index af73108..304a67f 100644 --- a/firmware/export/pcm_record.h +++ b/firmware/export/pcm_record.h @@ -17,37 +17,13 @@ * ****************************************************************************/ -/* - * Function names are taken from apps/recorder/recording.c to - * make the integration later easier.. - * - */ - #ifndef PCM_RECORD_H #define PCM_RECORD_H -unsigned long pcm_status(void); - -void pcm_init_recording(void); - -void pcm_open_recording(void); -void pcm_close_recording(void); - - -void pcm_set_recording_options(int source, bool enable_waveform); -void pcm_set_recording_gain(int gain, int volume); - -void pcm_record(const char *filename); -void pcm_stop_recording(void); - -//void pcm_new_file(const char *filename); - - -unsigned long pcm_recorded_time(void); -unsigned long pcm_num_recorded_bytes(void); -void pcm_pause_recording(void); -void pcm_resume_recording(void); +unsigned long pcm_rec_status(void); +void pcm_rec_init(void); +void pcm_rec_mux(int source); -void pcmrec_set_mux(int source); +/* audio.h contains audio recording functions */ #endif diff --git a/firmware/export/sound.h b/firmware/export/sound.h index 9907462..2c00206 100644 --- a/firmware/export/sound.h +++ b/firmware/export/sound.h @@ -36,11 +36,15 @@ enum { SOUND_MDB_ENABLE, SOUND_SUPERBASS, #endif -#if CONFIG_CODEC == MAS3587F +#if CONFIG_CODEC == MAS3587F || defined(HAVE_UDA1380) SOUND_LEFT_GAIN, SOUND_RIGHT_GAIN, SOUND_MIC_GAIN, #endif +#if defined(HAVE_UDA1380) + SOUND_ADC_LEFT_GAIN, + SOUND_ADC_RIGHT_GAIN, +#endif }; enum { diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h index 3bef543..90a6d44 100644 --- a/firmware/export/uda1380.h +++ b/firmware/export/uda1380.h @@ -32,7 +32,7 @@ extern void uda1380_set_nsorder(int order); extern void uda1380_enable_recording(bool source_mic); extern void uda1380_disable_recording(void); -extern void uda1380_set_recvol(int mic_gain, int linein_gain, int adc_volume); +extern void uda1380_set_recvol(int left, int right, int type); extern void uda1380_set_monitor(int enable); #define UDA1380_ADDR 0x30 |