         return super.validateMenuItem(menuItem)
     }
 
+    // MARK: Status Bar Button
+
+    private func makeStatusButtonItem() -> NSStatusItem {
+        let statusBar = NSStatusBar.system()
+
+        let item = statusBar.statusItem(withLength: NSSquareStatusItemLength)
+
+        item.image = #imageLiteral(resourceName: "StatusBarButton")
+        item.action = #selector(toggleStatus(_:))
+        item.target = self
+
+        return item
+    }
+
+    private func setStatusButtonTooltip(_ title: String) {
+        statusItem.toolTip = title
+    }
+
+    private func clearStatusButtonTooltip() {
+        setStatusButtonTooltip("")
+    }
+
+    private func highlightStatusButton() {
+        statusItem.button!.appearsDisabled = false
+    }
+
+    private func unhighlightStatusButton() {
+        statusItem.button!.appearsDisabled = true
+    }
+
 }


        togglePlaybackMenuItemTitle = menuTitlePlay()
        togglePlaybackMenuItemIsEnabled = false
    }

    func audioControllerDidBecomeAvailable(_ audioController: AudioController) {

    @IBOutlet weak var clickGestureRecognizer: NSClickGestureRecognizer!
    @IBOutlet weak var togglePlaybackMenuItem: NSMenuItem!

    var statusItem: NSStatusItem!

    private var audioController: AudioController!

    private var isPlaying: Bool = false
