diff -Nur banshee-1-1.4.3-orig/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs banshee-1-1.4.3/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs
--- banshee-1-1.4.3-orig/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs	2009-04-21 19:18:49.000000000 +0200
+++ banshee-1-1.4.3/src/Core/Banshee.Services/Banshee.MediaEngine/IPlayerEngineService.cs	2009-04-21 19:15:05.000000000 +0200
@@ -55,6 +55,7 @@
     
         ushort Volume { get; set; }
         uint Position { get; set; }
+        int Rating { get; set; }
         bool CanSeek { get; }
         bool CanPause { get; }
         uint Length { get; }
diff -Nur banshee-1-1.4.3-orig/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs banshee-1-1.4.3/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
--- banshee-1-1.4.3-orig/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs	2009-04-21 19:18:49.000000000 +0200
+++ banshee-1-1.4.3/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs	2009-04-21 19:14:54.000000000 +0200
@@ -533,6 +533,16 @@
             set { active_engine.Position = value; }
         }
         
+        public int Rating {
+            get { return CurrentTrack == null ? 0 : CurrentTrack.Rating; }
+            set {
+	            if (CurrentTrack != null) {
+	               CurrentTrack.Rating = value < 0 ? 0 : (value > 5 ? 5 : value);
+	               CurrentTrack.Save();
+	            }
+            }
+        }
+        
         public bool CanSeek {
             get { return active_engine.CanSeek; }
         }
