diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 4366b09..e466ca5 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -531,8 +531,14 @@ public partial class MainWindow : Window RadioFallbackIcon.Visibility = Visibility.Visible; } + private DateTime _lastMetaUpdate = DateTime.MinValue; + private void OnMediaMetaChanged(object? sender, MediaMetaChangedEventArgs args) { + // Throttle: maximal alle 2s verarbeiten damit der UI-Thread nicht geflutet wird + var now = DateTime.Now; + if ((now - _lastMetaUpdate).TotalSeconds < 2) return; + _lastMetaUpdate = now; if (sender is Media m) Dispatcher.BeginInvoke(() => UpdateEpgFromMedia(m)); } @@ -1084,7 +1090,6 @@ public partial class MainWindow : Window { if (msg == WM_KEYDOWN && (int)wParam == VK_B) { - // GetKeyState(VK_CONTROL) - High-bit gesetzt = Taste gedrueckt var ctrl = (NativeMethods.GetKeyState(0x11) & 0x8000) != 0; if (ctrl) Dispatcher.BeginInvoke(() => BtnSidebarToggle_Click(this, new RoutedEventArgs()));