diff --git a/OSBindings/Mac/Clock Signal/Base.lproj/MainMenu.xib b/OSBindings/Mac/Clock Signal/Base.lproj/MainMenu.xib index e617f15ca..43bcadf11 100644 --- a/OSBindings/Mac/Clock Signal/Base.lproj/MainMenu.xib +++ b/OSBindings/Mac/Clock Signal/Base.lproj/MainMenu.xib @@ -116,6 +116,11 @@ + + + + + diff --git a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift index 1c26fbd5b..9b31a9cee 100644 --- a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift +++ b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift @@ -213,6 +213,7 @@ class MachineDocument: } } + // MARK: Runtime media insertion. final func openGLView(_ view: CSOpenGLView, didReceiveFileAt URL: URL) { let mediaSet = CSMediaSet(fileAt: URL) if let mediaSet = mediaSet { @@ -220,6 +221,20 @@ class MachineDocument: } } + @IBAction final func insertMedia(_ sender: AnyObject!) { + let openPanel = NSOpenPanel() + openPanel.beginSheetModal(for: self.windowControllers[0].window!) { (response) in + if response == .OK { + for url in openPanel.urls { + let mediaSet = CSMediaSet(fileAt: url) + if let mediaSet = mediaSet { + mediaSet.apply(to: self.machine) + } + } + } + } + } + // MARK: NSDocument overrides override func data(ofType typeName: String) throws -> Data { throw NSError(domain: NSOSStatusErrorDomain, code: unimpErr, userInfo: nil)