[banshee] Fix bug parsing some Ogg rating vals (bgo#608835)
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee] Fix bug parsing some Ogg rating vals (bgo#608835)
- Date: Thu, 4 Feb 2010 19:41:34 +0000 (UTC)
commit e228bd546f008bc17a626d23c92f98a7a434dbf1
Author: Gabriel Burt <gabriel burt gmail com>
Date: Thu Feb 4 11:39:19 2010 -0800
Fix bug parsing some Ogg rating vals (bgo#608835)
.../Banshee.Streaming/StreamRatingTagger.cs | 39 ++++++++++++--------
1 files changed, 23 insertions(+), 16 deletions(-)
---
diff --git a/src/Core/Banshee.Core/Banshee.Streaming/StreamRatingTagger.cs b/src/Core/Banshee.Core/Banshee.Streaming/StreamRatingTagger.cs
index 0551c28..416f9cc 100644
--- a/src/Core/Banshee.Core/Banshee.Streaming/StreamRatingTagger.cs
+++ b/src/Core/Banshee.Core/Banshee.Streaming/StreamRatingTagger.cs
@@ -26,9 +26,11 @@
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
-using Banshee.Collection;
+using System;
using System.Collections;
+using Banshee.Collection;
+
namespace Banshee.Streaming
{
internal static class ID3v2RatingTagger
@@ -198,21 +200,26 @@ namespace Banshee.Streaming
// Converts Ogg rating to Banshee rating
private static int OggToBanshee (string ogg_rating_str)
{
- double ogg_rating = double.Parse (ogg_rating_str);
- // Quod Libet Ogg ratings are stored as a value
- // between 0.0 and 1.0 inclusive, where unrated = 0.5.
- if (ogg_rating == 0.5)// unrated
- return 0;
- if (ogg_rating > 0.8)// (0.8,1.0]
- return 5;
- if (ogg_rating > 0.6)// (0.6,0.8]
- return 4;
- if (ogg_rating > 0.4)// (0.4,0.5),(0.5,0.6]
- return 3;
- if (ogg_rating > 0.2)// (0.2,0.4]
- return 2;
- else // [0.0,0.2]
- return 1;
+ double ogg_rating;
+ if (Double.TryParse (ogg_rating_str, out ogg_rating)) {
+ // Quod Libet Ogg ratings are stored as a value
+ // between 0.0 and 1.0 inclusive, where unrated = 0.5.
+ if (ogg_rating == 0.5)// unrated
+ return 0;
+ if (ogg_rating > 0.8)// (0.8,1.0]
+ return 5;
+ if (ogg_rating > 0.6)// (0.6,0.8]
+ return 4;
+ if (ogg_rating > 0.4)// (0.4,0.5),(0.5,0.6]
+ return 3;
+ if (ogg_rating > 0.2)// (0.2,0.4]
+ return 2;
+ else // [0.0,0.2]
+ return 1;
+ }
+
+ Hyena.Log.WarningFormat ("Failed to parse ogg rating string: {0}", ogg_rating_str);
+ return 0;
}
// Converts Banshee rating to Ogg rating
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]