diff -r 5c61a13c4241 -r 5fc39c560179 Server/MainForm.cs
--- a/Server/MainForm.cs	Sun Feb 08 20:26:36 2015 +0100
+++ b/Server/MainForm.cs	Mon Feb 09 11:09:33 2015 +0100
@@ -219,6 +219,9 @@
         /// 
         private void trackBarMasterVolume_Scroll(object sender, EventArgs e)
         {
+			//Just like Windows Volume Mixer we unmute if the volume is adjusted
+			iMultiMediaDevice.AudioEndpointVolume.Mute = false;
+			//Set volume level according to our volume slider new position
 			iMultiMediaDevice.AudioEndpointVolume.MasterVolumeLevelScalar = trackBarMasterVolume.Value / 100.0f;
         }
 
@@ -270,7 +273,8 @@
         
 
 		/// 
-		/// 
+		/// Update master volume indicators based our current system states.
+		/// This typically includes volume levels and mute status.
 		/// 
 		private void UpdateMasterVolumeThreadSafe()
 		{
@@ -288,21 +292,26 @@
 			//Update mute checkbox
 			checkBoxMute.Checked = iMultiMediaDevice.AudioEndpointVolume.Mute;
 
-			//TODO: Check our display device too
+			//If our display connection is open we need to update its icons
 			if (iDisplay.IsOpen())
 			{
+				//First take care our our volume level icons
 				int volumeIconCount = iDisplay.IconCount(Display.TMiniDisplayIconType.EMiniDisplayIconVolume);
 				if (volumeIconCount > 0)
 				{					
-					int currentVolume = Convert.ToInt32(volumeLevelScalar * volumeIconCount);
-
-					bool roundedUp = currentVolume > (volumeLevelScalar * volumeIconCount);
+					//Compute current volume level from system level and the number of segments in our display volume bar.
+					//That tells us how many segments in our volume bar needs to be turned on.
+					float currentVolume = volumeLevelScalar * volumeIconCount;
+					int segmentOnCount = Convert.ToInt32(currentVolume);
+					//Check if our segment count was rounded up, this will later be used for half brightness segment
+					bool roundedUp = segmentOnCount > currentVolume;
 
 					for (int i = 0; i < volumeIconCount; i++)
 					{
-						if (i < currentVolume)
+						if (i < segmentOnCount)
 						{
-							if (i == currentVolume - 1 && roundedUp)
+							//If we are dealing with our last segment and our segment count was rounded up then we will use half brightness.
+							if (i == segmentOnCount - 1 && roundedUp)
 							{
 								//Half brightness
 								iDisplay.SetIconStatus(Display.TMiniDisplayIconType.EMiniDisplayIconVolume, i, (iDisplay.IconStatusCount(Display.TMiniDisplayIconType.EMiniDisplayIconVolume) - 1)/2);
@@ -320,22 +329,8 @@
 					}
 				}
 
-				int muteIconCount = iDisplay.IconCount(Display.TMiniDisplayIconType.EMiniDisplayIconMute);
-				if (muteIconCount > 0)
-				{
-					for (int i = 0; i < muteIconCount; i++)
-					{
-						if (iMultiMediaDevice.AudioEndpointVolume.Mute)
-						{
-							iDisplay.SetIconStatus(Display.TMiniDisplayIconType.EMiniDisplayIconMute, i, iDisplay.IconStatusCount(Display.TMiniDisplayIconType.EMiniDisplayIconMute)-1);
-						}
-						else
-						{
-							iDisplay.SetIconStatus(Display.TMiniDisplayIconType.EMiniDisplayIconMute, i, 0);
-						}
-					}
-				}
-
+				//Take care our our mute icon
+				iDisplay.SetIconOnOff(Display.TMiniDisplayIconType.EMiniDisplayIconMute, iMultiMediaDevice.AudioEndpointVolume.Mute);
 			}
 
 		}
@@ -358,6 +353,9 @@
             {                
                 //Get our master volume            
 				iMultiMediaDevice = iMultiMediaDeviceEnumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
+				//Update our label
+				labelDefaultAudioDevice.Text = iMultiMediaDevice.FriendlyName;
+
                 //Show our volume in our track bar
 				UpdateMasterVolumeThreadSafe();