         self.layer.addSublayer(playShapeLayer)
         
         // helper
-        func d2R(_ degrees: CGFloat) -> CGFloat {
+        func d2R(degrees: CGFloat) -> CGFloat {
             return degrees * 0.0174532925 // 1 degree ~ 0.0174532925 radians
         }
         

            CATransaction.commit()
        }
    }
    
    open var willPlay: (() -> ())?
    
    open var willPause: (() -> ())?
    
    required public init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        }
    }
    
    private func presentForPlaying() {
        playShapeLayer.isHidden = true
        pauseShapeLayerLeft.isHidden = false
        pauseShapeLayerRight.isHidden = false
        self.animate()
    }
    
    private func presentForPaused() {
        playShapeLayer.isHidden = false
        pauseShapeLayerLeft.isHidden = true
        pauseShapeLayerRight.isHidden = true
        self.animate()
    }

    private func animate() {
        let t1 = CGAffineTransform(scaleX: 0.8, y: 0.8)
        self.transform = t1
        UIView.animate(withDuration: 0.75, delay: 0, usingSpringWithDamping: 0.225, initialSpringVelocity: 0.7, options: .beginFromCurrentState, animations: { () -> Void in
