/// <inheritdoc/> public string SetRating(string rating) { var currentTrack = _api.NowPlaying_GetFileUrl(); var decimalSeparator = Convert.ToChar(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator, CultureInfo.CurrentCulture); try { rating = rating.Replace('.', decimalSeparator); if (!float.TryParse(rating, out var fRating)) { fRating = -1; } if ((fRating >= 0 && fRating <= 5) || string.IsNullOrEmpty(rating)) { var value = string.IsNullOrEmpty(rating) ? string.Empty : fRating.ToString(CultureInfo.CurrentCulture); _api.Library_SetFileTag(currentTrack, MetaDataType.Rating, value); _api.Library_CommitTagsToFile(currentTrack); _api.Player_GetShowRatingTrack(); _api.MB_RefreshPanels(); } } catch (Exception) { // Ignored exception? should log } return(_api.Library_GetFileTag(currentTrack, MetaDataType.Rating).Replace(decimalSeparator, '.')); }