public void ShowSongStartToast(bool force = false)
        {
            // don't run without song info
            if (_config.State.Playback == null)
            {
                return;
            }

            // force invocation or something is tracked
            if (!(
                    force ||
                    (_config.ExternalConfig.ShowOnNewSong && !_config.State.Playback.ShowedOnNewSong) ||
                    _config.State.Foobar2000IsPlayingRP ||
                    _config.State.MusicBeeIsPlayingRP ||
                    _config.IsRpPlayerTrackingChannel()
                    ))
            {
                return;
            }

            Task.Run(() =>
            {
                string toastXmlString = null;
                try
                {
                    string toastVisual =
                        $@"<visual>
                  <binding template='ToastGeneric'>
                    {ToastHelper.CreateTitleText(_config, true)}
                    {ToastHelper.CreateContentText(_config)}
                    {ToastHelper.CreateRatingText(_config)}
                    {ToastHelper.CreateToastFooter(_config)}
                    {ToastHelper.CreateImage(_config, false)}
                  </binding>
                </visual>";

                    // Create toast xml text
                    toastXmlString =
                        $@"<toast launch='{nameof(this.ShowSongStartToast)}'>
                    {toastVisual}
                    {ToastHelper.toastAudio}
                </toast>";
                }
                catch (Exception ex)
                {
                    _log.Error(LogHelper.GetMethodName(this), ex);
                }

                DisplayToast(toastXmlString);
            });

            _config.State.Playback.ShowedOnNewSong = true;
        }
        public void ShowSongDetailToast()
        {
            //Task.Run(() =>
            //{
            string toastXmlString = null;

            try
            {
                string toastVisual =
                    $@"<visual>
                      <binding template='ToastGeneric'>
                        {ToastHelper.CreateTitleText(_config, false)}
                        {ToastHelper.CreateContentText(_config)}
                        {ToastHelper.CreateRatingText(_config)}
                        {ToastHelper.CreateToastFooter(_config)}
                        {ToastHelper.CreateProgressBar(_config)}
                        {ToastHelper.CreateImage(_config, true)}
                      </binding>
                    </visual>";

                string toastActions =
                    $@"<actions>
                      {ToastHelper.RatingInputAction(_config)}
                      {ToastHelper.OpenInBrowserAction(_config)}
                    </actions>";

                // Create toast xml text
                toastXmlString =
                    $@"<toast launch='{nameof(this.ShowSongDetailToast)}'>
                        {toastVisual}
                        {ToastHelper.toastAudio}
                        {toastActions}
                    </toast>";
            }
            catch (Exception ex)
            {
                _log.Error(LogHelper.GetMethodName(this), ex);
            }

            DisplayToast(toastXmlString, HandleToastActivatedEvent);
            //});
        }