1
0
Fork 0
forked from len0rd/rockbox

Recording screen: show spdif samplerate on SWCODEC targets (with spdif of course). To be adapted so this also works for HWCODEC. And to be tested as I have no cable around and a broken disk in my h120....

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18325 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Peter D'Hoye 2008-08-20 22:33:38 +00:00
parent 44d4fcd7d2
commit b4483f05af

View file

@ -794,10 +794,10 @@ enum rec_list_items_stereo {
#ifdef HAVE_AGC
ITEM_AGC_MODE = 4,
ITEM_AGC_MAXDB = 5,
ITEM_FILENAME = 6,
ITEM_FILENAME = 7,
ITEM_COUNT = 7,
#else
ITEM_FILENAME = 6,
ITEM_FILENAME = 7,
ITEM_COUNT = 5,
#endif
};
@ -808,10 +808,10 @@ enum rec_list_items_mono {
#ifdef HAVE_AGC
ITEM_AGC_MODE_M = 4,
ITEM_AGC_MAXDB_M = 5,
ITEM_FILENAME_M = 6,
ITEM_FILENAME_M = 7,
ITEM_COUNT_M = 5,
#else
ITEM_FILENAME_M = 6,
ITEM_FILENAME_M = 7,
ITEM_COUNT_M = 3,
#endif
};
@ -819,8 +819,14 @@ enum rec_list_items_mono {
#ifdef HAVE_SPDIF_REC
enum rec_list_items_spdif {
ITEM_VOLUME_D = 0,
ITEM_FILENAME_D = 6,
#if CONFIG_CODEC == SWCODEC
ITEM_SAMPLERATE_D = 6,
ITEM_FILENAME_D = 7,
ITEM_COUNT_D = 3,
#else
ITEM_FILENAME_D = 7,
ITEM_COUNT_D = 2,
#endif
};
#endif
@ -909,6 +915,15 @@ static char * reclist_get_name(int selected_item, void * data,
global_settings.rec_right_gain)/2,
buf3, sizeof(buf3)));
break;
#endif
#if CONFIG_CODEC == SWCODEC
#ifdef HAVE_SPDIF_REC
case ITEM_SAMPLERATE_D:
snprintf(buffer, buffer_len, "%s: %d",
str(LANG_RECORDING_FREQUENCY),
pcm_rec_sample_rate());
break;
#endif
#endif
case ITEM_FILENAME:
{
@ -962,6 +977,12 @@ bool recording_screen(bool no_source)
#define WARNING_PERIOD 7
#endif
#if CONFIG_CODEC == SWCODEC
#ifdef HAVE_SPDIF_REC
unsigned long prev_sample_rate = 0;
#endif
#endif
#ifdef HAVE_FMRADIO_REC
/* Radio is left on if:
* 1) Is was on at the start and the initial source is FM Radio
@ -1170,7 +1191,13 @@ bool recording_screen(bool no_source)
if(global_settings.rec_source == AUDIO_SRC_SPDIF)
{
listid_to_enum[0] = ITEM_VOLUME_D;
#if CONFIG_CODEC == SWCODEC
listid_to_enum[1] = ITEM_SAMPLERATE_D;
listid_to_enum[2] = ITEM_FILENAME_D;
#else
listid_to_enum[1] = ITEM_FILENAME_D;
#endif
gui_synclist_set_nb_items(&lists, ITEM_COUNT_D); /* spdif */
}
else
@ -1776,6 +1803,18 @@ bool recording_screen(bool no_source)
}
#endif /* HAVE_AGC */
#if CONFIG_CODEC == SWCODEC
#ifdef HAVE_SPDIF_REC
if((global_settings.rec_source == AUDIO_SRC_SPDIF) &&
(prev_sample_rate != pcm_rec_sample_rate()))
{
/* spdif samplerate changed */
prev_sample_rate = pcm_rec_sample_rate();
update_list = true;
}
#endif
#endif
if(update_list)
{
/* update_list is set whenever content changes */