Index: NotificationAreaIconPlugin.cs
===================================================================
--- NotificationAreaIconPlugin.cs	(revision 2283)
+++ NotificationAreaIconPlugin.cs	(working copy)
@@ -112,9 +112,24 @@
                     Catalog.GetString("_Show Notifications"), null,
                     Catalog.GetString("Show notifications when song changes"), ToggleNotifications, ShowNotifications)
             });
+            
+            actions.Add(new ActionEntry [] {
+            	new ActionEntry("RateSongAction", null, 
+            		Catalog.GetString("_Rate Song"), null,
+            		Catalog.GetString("Rate Song"), null)
+            });            
+            
+            //Loop to Create our Rating Menu
+            for(int s=1; s<=5; s++) {
+            	actions.Add(new ActionEntry [] {
+       			new ActionEntry("RateSong" + s + "StarAction", null, 
+       			Catalog.GetString("_" + s + " Star"), null,
+       			Catalog.GetString(s + " Star"), RateSongStarAction)
+       			});
+            }
 
             Globals.ActionManager.UI.InsertActionGroup(actions, 0);
-            ui_manager_id = Globals.ActionManager.UI.AddUiFromResource("NotificationAreaIconMenu.xml");      
+            ui_manager_id = Globals.ActionManager.UI.AddUiFromResource("NotificationAreaIconMenu.xml");
             
             menu = (Menu) Globals.ActionManager.UI.GetWidget("/NotificationAreaIconMenu");
             menu.ShowAll();
@@ -220,6 +235,69 @@
 
             ShowHideMainWindow();
         }
+        
+        private void RateSongStarAction(object o, EventArgs args)
+        {
+        	if( current_track == null )
+        		return;
+        	
+        	Action a = null;
+        	uint rating_to_set = 0;
+        	
+        	try {
+        		a = (Action)o;
+        	}
+        	catch {
+        		Console.WriteLine("Error casting object to Action");
+        	}
+        	
+        	switch( a.Label.ToLower().Substring(1, 1)) {
+       			case "1":
+       				rating_to_set = 1;
+       				break;
+       			case "2":
+       				rating_to_set = 2;
+       				break;
+       			case "3":
+       				rating_to_set = 3;
+       				break;
+       			case "4":
+       				rating_to_set = 4;
+       				break;
+       			case "5":
+       				rating_to_set = 5;
+       				break;
+       			default:
+       				break;
+        	}
+        	
+        	try {
+        		if( current_track.Rating != rating_to_set ){
+        		
+	        		Console.WriteLine("Setting rating on ({0}) by ({1}) from the album ({2}) to ({3})",
+	        			current_track.Title, current_track.Artist, current_track.Album, rating_to_set);
+        		
+	        		current_track.Rating = rating_to_set;
+    		
+    	    		Console.WriteLine("Rating set on ({0}) by ({1}) from the album ({2}) to ({3})",
+	        			current_track.Title, current_track.Artist, current_track.Album, rating_to_set);
+        		}
+        	} 
+        	catch {
+        		Console.WriteLine("Problem setting the rating.");
+        	}
+        	
+        	try {
+        		if( current_track.Rating != rating_to_set ){
+        			current_track.Save();
+        			Console.WriteLine("Saved rating to ({0}) by ({1}) from the album ({2})",
+        				current_track.Title, current_track.Artist, current_track.Album);
+        		}
+        	}
+        	catch {
+        		Console.WriteLine("Problem saving rating to track.");
+        	}
+        }
 
         private void ToggleNotifications(object o, EventArgs args)
         {

Index: NotificationAreaIconMenu.xml
===================================================================
--- NotificationAreaIconMenu.xml	(revision 2283)
+++ NotificationAreaIconMenu.xml	(working copy)
@@ -12,6 +12,14 @@
         <separator />
         <menuitem name="ToggleNotifications" action="ToggleNotificationsAction" />
         <separator />
+        <menu name="Rate Song" action="RateSongAction" >
+        	<menuitem name="1 Star" action="RateSong1StarAction" />
+        	<menuitem name="2 Stars" action="RateSong2StarAction" />
+        	<menuitem name="3 Stars" action="RateSong3StarAction" />
+        	<menuitem name="4 Stars" action="RateSong4StarAction" />
+        	<menuitem name="5 Stars" action="RateSong5StarAction" />
+        </menu>
+        <separator />
         <menuitem name="Quit" action="QuitAction" />
     </popup>
     <menubar name="MainMenu">
