Merge remote-tracking branch 'origin/develop' into xap

This commit is contained in:
QMK Bot 2025-07-14 12:54:32 +00:00
commit 056961ebda
3 changed files with 26 additions and 19 deletions

View File

@ -183,6 +183,25 @@ void audio_init(void) {
#endif
}
void audio_task(void) {
#ifdef AUDIO_INIT_DELAY
// startup song potentially needs to be run a little bit
// after keyboard startup, or else they will not work correctly
// because of interaction with the USB device state, which
// may still be in flux...
static bool delayed_tasks_run = false;
static uint16_t delayed_task_timer = 0;
if (!delayed_tasks_run) {
if (!delayed_task_timer) {
delayed_task_timer = timer_read();
} else if (timer_elapsed(delayed_task_timer) > 300) {
audio_startup();
delayed_tasks_run = true;
}
}
#endif
}
void audio_startup(void) {
if (audio_config.enable) {
PLAY_SONG(startup_song);

View File

@ -69,7 +69,11 @@ void eeconfig_update_audio_current(void);
* @post audio system (and hardware) initialized and ready to play tones
*/
void audio_init(void);
void audio_startup(void);
/**
* \brief Handle various subsystem background tasks.
*/
void audio_task(void);
/**
* @brief en-/disable audio output, save this choice to the eeprom

View File

@ -648,24 +648,8 @@ void quantum_task(void) {
if (!is_keyboard_master()) return;
#endif
#if defined(AUDIO_ENABLE) && defined(AUDIO_INIT_DELAY)
// There are some tasks that need to be run a little bit
// after keyboard startup, or else they will not work correctly
// because of interaction with the USB device state, which
// may still be in flux...
//
// At the moment the only feature that needs this is the
// startup song.
static bool delayed_tasks_run = false;
static uint16_t delayed_task_timer = 0;
if (!delayed_tasks_run) {
if (!delayed_task_timer) {
delayed_task_timer = timer_read();
} else if (timer_elapsed(delayed_task_timer) > 300) {
audio_startup();
delayed_tasks_run = true;
}
}
#ifdef AUDIO_ENABLE
audio_task();
#endif
#if defined(AUDIO_ENABLE) && !defined(NO_MUSIC_MODE)