 //    data.BeaconBearing = 30
 //    data.RunwayHeading = data.Heading
 
+    HandleBeaconSounds()
+    
     drawCompass()
     drawNeedleNDB()
     drawCourseNeedle()

//  y - 75 + 64/3
  
  }
}
    if beacon != data.LastBeacon.marker {
      // We have had a beacon change!
      newData.LastBeacon = (beacon, drawing.time.total, 0)
    } else {
      newData.LastBeacon = (beacon, data.LastBeacon.time, drawing.time.total - data.LastBeacon.time)
    }
    // Update our 'status of marker' struct if it is set
    if let mStat = markerIndicator {
      markerIndicator = (mStat.marker, mStat.time, drawing.time.total-mStat.time)
    }
    // Assign the new data structure
    data = newData
  }
  
  private func HandleBeaconSounds()
  {
    if let indicator = markerIndicator {
      // Is it time to stop this?
      if data.LastBeacon.marker != indicator.marker
        && IsInSound(indicator.marker, time: indicator.elapsed){
        innerMarkerAudio?.stop()
        middleMarkerAudio?.stop()
        outerMarkerAudio?.stop()
        markerIndicator = nil
      }
    } else {
      // Should we be playing a sound then?
      if data.LastBeacon.marker != .None {
        PlayBeaconMarkerSound(data.LastBeacon.marker)
        markerIndicator = (data.LastBeacon.marker, CACurrentMediaTime(), 0)
      }
    }
  }
  
  private func PlayBeaconMarkerSound(beacon : BeaconMarker) {
