summaryrefslogtreecommitdiff
path: root/apps/recorder/radio.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2006-11-06 18:07:30 +0000
committerMichael Sevakis <jethead71@rockbox.org>2006-11-06 18:07:30 +0000
commit0f5cb94aa4a334366a746fcbb22f3335ca413265 (patch)
tree8f89a96628c1810d51ee9816daf78edb8c76fcd4 /apps/recorder/radio.c
parent0b22795e26ee09de14f6ac23219adeda12f2fd5b (diff)
downloadrockbox-0f5cb94aa4a334366a746fcbb22f3335ca413265.tar.gz
rockbox-0f5cb94aa4a334366a746fcbb22f3335ca413265.zip
Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/recorder/radio.c')
-rw-r--r--apps/recorder/radio.c25
1 files changed, 11 insertions, 14 deletions
diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c
index d74437a8c9..7a0cc6543e 100644
--- a/apps/recorder/radio.c
+++ b/apps/recorder/radio.c
@@ -386,6 +386,7 @@ bool radio_screen(void)
386 unsigned int last_seconds = 0; 386 unsigned int last_seconds = 0;
387#if CONFIG_CODEC != SWCODEC 387#if CONFIG_CODEC != SWCODEC
388 int hours, minutes; 388 int hours, minutes;
389 struct audio_recording_options rec_options;
389#endif 390#endif
390 bool keep_playing = false; 391 bool keep_playing = false;
391 bool statusbar = global_settings.statusbar; 392 bool statusbar = global_settings.statusbar;
@@ -436,12 +437,9 @@ bool radio_screen(void)
436 437
437 peak_meter_enabled = true; 438 peak_meter_enabled = true;
438 439
439 rec_set_recording_options(global_settings.rec_frequency, 440 rec_init_recording_options(&rec_options);
440 global_settings.rec_quality, 441 rec_options.rec_source = AUDIO_SRC_LINEIN;
441 AUDIO_SRC_LINEIN, 0, 442 rec_set_recording_options(&rec_options);
442 global_settings.rec_channels,
443 global_settings.rec_editable,
444 global_settings.rec_prerecord_time);
445 443
446 audio_set_recording_gain(sound_default(SOUND_LEFT_GAIN), 444 audio_set_recording_gain(sound_default(SOUND_LEFT_GAIN),
447 sound_default(SOUND_RIGHT_GAIN), AUDIO_GAIN_LINEIN); 445 sound_default(SOUND_RIGHT_GAIN), AUDIO_GAIN_LINEIN);
@@ -881,7 +879,7 @@ bool radio_screen(void)
881 } 879 }
882 else 880 else
883 { 881 {
884 if(global_settings.rec_prerecord_time) 882 if(rec_options.rec_prerecord_time)
885 { 883 {
886 snprintf(buf, 32, "%s %02d", 884 snprintf(buf, 32, "%s %02d",
887 str(LANG_RECORD_PRERECORD), seconds%60); 885 str(LANG_RECORD_PRERECORD), seconds%60);
@@ -1173,7 +1171,8 @@ bool save_preset_list(void)
1173 if(!opendir(FMPRESET_PATH)) /* Check if there is preset folder */ 1171 if(!opendir(FMPRESET_PATH)) /* Check if there is preset folder */
1174 mkdir(FMPRESET_PATH, 0); 1172 mkdir(FMPRESET_PATH, 0);
1175 1173
1176 create_numbered_filename(filepreset,FMPRESET_PATH,"preset",".fmr",2); 1174 create_numbered_filename(filepreset, FMPRESET_PATH, "preset",
1175 ".fmr", 2 IF_CNFN_NUM_(, NULL));
1177 1176
1178 while(bad_file_name) 1177 while(bad_file_name)
1179 { 1178 {
@@ -1534,12 +1533,10 @@ static bool fm_recording_settings(void)
1534#if CONFIG_CODEC != SWCODEC 1533#if CONFIG_CODEC != SWCODEC
1535 if (!ret) 1534 if (!ret)
1536 { 1535 {
1537 rec_set_recording_options(global_settings.rec_frequency, 1536 struct audio_recording_options rec_options;
1538 global_settings.rec_quality, 1537 rec_init_recording_options(&rec_options);
1539 AUDIO_SRC_LINEIN, 0, 1538 rec_options.rec_source = AUDIO_SRC_LINEIN;
1540 global_settings.rec_channels, 1539 rec_set_recording_options(&rec_options);
1541 global_settings.rec_editable,
1542 global_settings.rec_prerecord_time);
1543 } 1540 }
1544#endif 1541#endif
1545 1542