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:
parent
44d4fcd7d2
commit
b4483f05af
1 changed files with 44 additions and 5 deletions
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue