diff --git a/src/xenia/kernel/kernel_state.cc b/src/xenia/kernel/kernel_state.cc index 991d8a4d9..dfe7c4726 100644 --- a/src/xenia/kernel/kernel_state.cc +++ b/src/xenia/kernel/kernel_state.cc @@ -1034,6 +1034,13 @@ void KernelState::RegisterNotifyListener(XNotifyListener* listener) { 0x001510F1L); listener->EnqueueNotification(kXNotificationLiveLinkStateChanged, 0); } + + if (!has_notified_xmp_startup_ && listener->mask() & kXNotifyXmp) { + has_notified_xmp_startup_ = true; + listener->EnqueueNotification(kXNotificationXmpStateChanged, 0); + listener->EnqueueNotification(kXNotificationXmpPlaybackControllerChanged, + 1); + } } void KernelState::UnregisterNotifyListener(XNotifyListener* listener) { diff --git a/src/xenia/kernel/kernel_state.h b/src/xenia/kernel/kernel_state.h index 32da7ddbe..15ff439e7 100644 --- a/src/xenia/kernel/kernel_state.h +++ b/src/xenia/kernel/kernel_state.h @@ -366,6 +366,7 @@ class KernelState { std::vector> notify_listeners_; bool has_notified_startup_ = false; bool has_notified_live_startup_ = false; + bool has_notified_xmp_startup_ = false; object_ref executable_module_; std::vector> kernel_modules_;