@@ -48,6 +48,11 @@ char str_frequency[32];
4848
4949unsigned nseconds ;
5050unsigned long nsize ;
51+ int ndisc ;
52+ int ntrack ;
53+ int nyear ;
54+ unsigned int nbitrate ;
55+ unsigned long nfreq ;
5156int32_t size_unit ;
5257struct tm tm ;
5358
@@ -143,6 +148,11 @@ static bool file_properties(const char* selected_file)
143148 rb -> get_metadata (& id3 , fd , selected_file ))
144149 {
145150 long dur = id3 .length / 1000 ; /* seconds */
151+ nyear = id3 .year ;
152+ ndisc = id3 .discnum ;
153+ ntrack = id3 .tracknum ;
154+ nbitrate = id3 .bitrate ;
155+ nfreq = id3 .frequency ;
146156 rb -> snprintf (str_composer , sizeof str_composer ,
147157 "%s" , id3 .composer ? id3 .composer : "" );
148158 rb -> snprintf (str_artist , sizeof str_artist ,
@@ -164,9 +174,9 @@ static bool file_properties(const char* selected_file)
164174 rb -> snprintf (str_tracknum , sizeof str_tracknum ,
165175 "%s" , id3 .track_string ? id3 .track_string : "" );
166176 rb -> snprintf (str_bitrate , sizeof str_bitrate ,
167- "%d kbps" , id3 . bitrate ? : 0 );
177+ "%d kbps" , nbitrate ? : 0 );
168178 rb -> snprintf (str_frequency , sizeof str_frequency ,
169- "%ld Hz" , id3 . frequency ? : 0 );
179+ "%ld Hz" , nfreq ? : 0 );
170180 num_properties += 12 ;
171181
172182 if (dur > 0 )
@@ -386,6 +396,24 @@ static int speak_property_selection(int selected_item, void *data)
386396 case LANG_PROPERTIES_FILES :
387397 rb -> talk_number (dps -> fc , true);
388398 break ;
399+ case LANG_PROPERTIES_YEAR :
400+ if (nyear )
401+ rb -> talk_number (nyear , true);
402+ break ;
403+ case LANG_PROPERTIES_DISCNUM :
404+ if (ndisc )
405+ rb -> talk_number (ndisc , true);
406+ break ;
407+ case LANG_PROPERTIES_TRACKNUM :
408+ if (ntrack )
409+ rb -> talk_number (ntrack , true);
410+ break ;
411+ case LANG_PROPERTIES_BITRATE :
412+ rb -> talk_value_decimal (nbitrate , UNIT_KBIT , 0 , true);
413+ break ;
414+ case LANG_PROPERTIES_FREQUENCY :
415+ rb -> talk_value_decimal (nfreq , UNIT_HERTZ , 0 , true);
416+ break ;
389417 default :
390418 rb -> talk_spell (props_file [selected_item + 1 ], true);
391419 break ;
0 commit comments