fix(audio): long timer announced as "1 hour 60" before hour rollover (#7784)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -108,16 +108,16 @@ I18N_PLAY_FUNCTION(cn, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -169,16 +169,16 @@ I18N_PLAY_FUNCTION(cz, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, FEMALE);
|
||||
}
|
||||
|
||||
@@ -104,16 +104,16 @@ I18N_PLAY_FUNCTION(da, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -149,16 +149,16 @@ I18N_PLAY_FUNCTION(de, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -107,16 +107,16 @@ I18N_PLAY_FUNCTION(en, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -155,16 +155,16 @@ I18N_PLAY_FUNCTION(es, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
if (hours > 1) {
|
||||
PLAY_NUMBER(hours, 0, 0);
|
||||
|
||||
@@ -139,16 +139,16 @@ I18N_PLAY_FUNCTION(fr, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (IS_PLAY_TIME() && hours == 0) {
|
||||
PUSH_NUMBER_PROMPT(FR_PROMPT_MINUIT);
|
||||
} else if (IS_PLAY_TIME() && hours == 12) {
|
||||
|
||||
@@ -108,16 +108,16 @@ I18N_PLAY_FUNCTION(he, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -108,16 +108,16 @@ I18N_PLAY_FUNCTION(hu, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -158,16 +158,16 @@ I18N_PLAY_FUNCTION(it, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -110,16 +110,16 @@ I18N_PLAY_FUNCTION(nl, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -215,16 +215,16 @@ I18N_PLAY_FUNCTION(pl, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, ZENSKI);
|
||||
}
|
||||
|
||||
@@ -143,16 +143,16 @@ I18N_PLAY_FUNCTION(pt, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
if (hours > 2) {
|
||||
PLAY_NUMBER(hours, 0, 0);
|
||||
|
||||
@@ -170,16 +170,16 @@ I18N_PLAY_FUNCTION(ru, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -103,16 +103,16 @@ I18N_PLAY_FUNCTION(se, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
@@ -165,16 +165,16 @@ I18N_PLAY_FUNCTION(sk, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, ZENSKY);
|
||||
}
|
||||
|
||||
@@ -169,16 +169,16 @@ I18N_PLAY_FUNCTION(ua, playDuration, int seconds PLAY_DURATION_ATT)
|
||||
seconds = -seconds;
|
||||
}
|
||||
|
||||
if (IS_PLAY_LONG_TIMER()) {
|
||||
seconds += 30;
|
||||
}
|
||||
|
||||
int hours, minutes;
|
||||
hours = seconds / 3600;
|
||||
seconds = seconds % 3600;
|
||||
minutes = seconds / 60;
|
||||
seconds = seconds % 60;
|
||||
|
||||
if (IS_PLAY_LONG_TIMER() && seconds >= 30) {
|
||||
minutes += 1;
|
||||
}
|
||||
|
||||
if (hours > 0 || IS_PLAY_TIME()) {
|
||||
PLAY_NUMBER(hours, UNIT_HOURS, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user