diff options
author | William Wilgus <wilgus.william@gmail.com> | 2021-03-04 22:55:39 -0500 |
---|---|---|
committer | William Wilgus <wilgus.william@gmail.com> | 2021-03-04 22:55:39 -0500 |
commit | 03ae4e6019500c1fb9a292ae428e5c47b17bf18f (patch) | |
tree | 03250a75098627e1b44c4897088eab2a767c86ee /apps | |
parent | 10b67071314e0f46bce81a3162ef971963d146af (diff) | |
download | rockbox-03ae4e6019500c1fb9a292ae428e5c47b17bf18f.tar.gz rockbox-03ae4e6019500c1fb9a292ae428e5c47b17bf18f.zip |
Announce_status plugin make USB plug aware
Announce_status was blocking USB from working it now quits on USB plug
Change-Id: I0b7e5e9c1ef118582febd459e706c9b61cf7fe25
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/announce_status.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/apps/plugins/announce_status.c b/apps/plugins/announce_status.c index fa9e783fd8..9df6fef7bc 100644 --- a/apps/plugins/announce_status.c +++ b/apps/plugins/announce_status.c | |||
@@ -411,13 +411,15 @@ void thread(void) | |||
411 | interval = gAnnounce.interval * HZ; | 411 | interval = gAnnounce.interval * HZ; |
412 | switch (ev.id) | 412 | switch (ev.id) |
413 | { | 413 | { |
414 | case SYS_USB_CONNECTED: | ||
415 | rb->usb_acknowledge(SYS_USB_CONNECTED_ACK); | ||
414 | case EV_EXIT: | 416 | case EV_EXIT: |
415 | return; | 417 | return; |
416 | case EV_OTHINSTANCE: | 418 | case EV_OTHINSTANCE: |
417 | if (*rb->current_tick - last_tick >= interval) | 419 | if (*rb->current_tick - last_tick >= interval) |
418 | { | 420 | { |
419 | last_tick += interval; | 421 | last_tick += interval; |
420 | rb->sleep(0); | 422 | rb->sleep(HZ / 10); |
421 | announce(); | 423 | announce(); |
422 | } | 424 | } |
423 | break; | 425 | break; |
@@ -425,7 +427,7 @@ void thread(void) | |||
425 | rb->beep_play(1500, 100, 1000); | 427 | rb->beep_play(1500, 100, 1000); |
426 | break; | 428 | break; |
427 | case EV_TRACKCHANGE: | 429 | case EV_TRACKCHANGE: |
428 | rb->sleep(0); | 430 | rb->sleep(HZ / 10); |
429 | announce(); | 431 | announce(); |
430 | break; | 432 | break; |
431 | } | 433 | } |
@@ -509,7 +511,7 @@ int plugin_main(const void* parameter) | |||
509 | gAnnounce.index = 0; | 511 | gAnnounce.index = 0; |
510 | gAnnounce.timeout = 0; | 512 | gAnnounce.timeout = 0; |
511 | 513 | ||
512 | rb->talk_id(LANG_HOLD_FOR_SETTINGS, false); | 514 | |
513 | rb->splash(HZ / 2, "Announce Status"); | 515 | rb->splash(HZ / 2, "Announce Status"); |
514 | 516 | ||
515 | if (configfile_load(CFG_FILE, config, gCfg_sz, CFG_VER) < 0) | 517 | if (configfile_load(CFG_FILE, config, gCfg_sz, CFG_VER) < 0) |
@@ -518,6 +520,14 @@ int plugin_main(const void* parameter) | |||
518 | config_set_defaults(); | 520 | config_set_defaults(); |
519 | configfile_save(CFG_FILE, config, gCfg_sz, CFG_VER); | 521 | configfile_save(CFG_FILE, config, gCfg_sz, CFG_VER); |
520 | 522 | ||
523 | if (rb->mixer_channel_status(PCM_MIXER_CHAN_PLAYBACK) == CHANNEL_PLAYING) | ||
524 | { | ||
525 | while (rb->mixer_channel_get_bytes_waiting(PCM_MIXER_CHAN_PLAYBACK) > 0) | ||
526 | rb->sleep(HZ / 10); | ||
527 | } | ||
528 | |||
529 | rb->talk_id(LANG_HOLD_FOR_SETTINGS, false); | ||
530 | |||
521 | rb->splash(HZ, ID2P(LANG_HOLD_FOR_SETTINGS)); | 531 | rb->splash(HZ, ID2P(LANG_HOLD_FOR_SETTINGS)); |
522 | } | 532 | } |
523 | 533 | ||