Skip to content

Commit 1eaec56

Browse files
committed
Properties voice feedback improvement
1 parent a1f160e commit 1eaec56

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

apps/plugins/properties.c

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ char str_frequency[32];
4848

4949
unsigned nseconds;
5050
unsigned long nsize;
51+
int ndisc;
52+
int ntrack;
53+
int nyear;
54+
unsigned int nbitrate;
55+
unsigned long nfreq;
5156
int32_t size_unit;
5257
struct 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

Comments
 (0)