summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorAndy <andy@rockbox.org>2005-11-12 04:00:56 +0000
committerAndy <andy@rockbox.org>2005-11-12 04:00:56 +0000
commite6e5496535a6fa45ee5cb63fb80886514ae72231 (patch)
treeebd73be009933c4c7eaf224ccec308aa56dd7b99 /firmware/export
parent663fba13996c32e13d4cca89ffda86de8d536c7f (diff)
downloadrockbox-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.h23
-rw-r--r--firmware/export/config-h120.h2
-rw-r--r--firmware/export/mpeg.h13
-rw-r--r--firmware/export/pcm_record.h32
-rw-r--r--firmware/export/sound.h6
-rw-r--r--firmware/export/uda1380.h2
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