Skip to content

Commit 031c525

Browse files
committed
Properties voice feedback improvement
1 parent 03a4d1c commit 031c525

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,
@@ -189,9 +199,9 @@ static bool file_properties(const char* selected_file)
189199
"%s", "");
190200

191201
rb->snprintf(str_bitrate, sizeof str_bitrate,
192-
"%d kbps", id3.bitrate ? : 0);
202+
"%d kbps", nbitrate ? : 0);
193203
rb->snprintf(str_frequency, sizeof str_frequency,
194-
"%ld Hz", id3.frequency ? : 0);
204+
"%ld Hz", nfreq ? : 0);
195205
num_properties += 12;
196206

197207
if (dur > 0)
@@ -411,6 +421,24 @@ static int speak_property_selection(int selected_item, void *data)
411421
case LANG_PROPERTIES_FILES:
412422
rb->talk_number(dps->fc, true);
413423
break;
424+
case LANG_PROPERTIES_YEAR:
425+
if (nyear)
426+
rb->talk_number(nyear, true);
427+
break;
428+
case LANG_PROPERTIES_DISCNUM:
429+
if (ndisc)
430+
rb->talk_number(ndisc, true);
431+
break;
432+
case LANG_PROPERTIES_TRACKNUM:
433+
if (ntrack)
434+
rb->talk_number(ntrack, true);
435+
break;
436+
case LANG_PROPERTIES_BITRATE:
437+
rb->talk_value_decimal(nbitrate, UNIT_KBIT, 0, true);
438+
break;
439+
case LANG_PROPERTIES_FREQUENCY:
440+
rb->talk_value_decimal(nfreq, UNIT_HERTZ, 0, true);
441+
break;
414442
default:
415443
rb->talk_spell(props_file[selected_item + 1], true);
416444
break;

0 commit comments

Comments
 (0)