diff options
-rw-r--r-- | osdep/macos/remote_command_center.swift | 5 | ||||
-rw-r--r-- | osdep/macos/swift_compat.swift | 17 | ||||
-rw-r--r-- | osdep/macosx_application.m | 4 | ||||
-rw-r--r-- | osdep/macosx_compat.h | 63 | ||||
-rw-r--r-- | osdep/macosx_events.m | 4 | ||||
-rw-r--r-- | osdep/macosx_menubar.m | 8 | ||||
-rw-r--r-- | osdep/macosx_versions.h | 33 | ||||
-rw-r--r-- | video/out/cocoa/events_view.m | 1 | ||||
-rw-r--r-- | video/out/cocoa/video_view.m | 1 | ||||
-rw-r--r-- | video/out/cocoa/window.m | 1 | ||||
-rw-r--r-- | video/out/cocoa_cb_common.swift | 4 | ||||
-rw-r--r-- | video/out/cocoa_common.m | 1 | ||||
-rw-r--r-- | video/out/mac/common.swift | 19 | ||||
-rw-r--r-- | video/out/mac/gl_layer.swift | 2 | ||||
-rw-r--r-- | video/out/mac/title_bar.swift | 87 | ||||
-rw-r--r-- | video/out/mac/view.swift | 6 | ||||
-rw-r--r-- | video/out/mac_common.swift | 5 |
17 files changed, 47 insertions, 214 deletions
diff --git a/osdep/macos/remote_command_center.swift b/osdep/macos/remote_command_center.swift index d97cb3328c..6fb2229f3a 100644 --- a/osdep/macos/remote_command_center.swift +++ b/osdep/macos/remote_command_center.swift @@ -17,7 +17,6 @@ import MediaPlayer -@available(macOS 10.12.2, *) class RemoteCommandCenter: NSObject { enum KeyType { case normal @@ -105,9 +104,7 @@ class RemoteCommandCenter: NSObject { } } - if let app = NSApp as? Application, let icon = app.getMPVIcon(), - #available(macOS 10.13.2, *) - { + if let app = NSApp as? Application, let icon = app.getMPVIcon() { let albumArt = MPMediaItemArtwork(boundsSize: icon.size) { _ in return icon } diff --git a/osdep/macos/swift_compat.swift b/osdep/macos/swift_compat.swift index 1c8f28f810..83059dae5c 100644 --- a/osdep/macos/swift_compat.swift +++ b/osdep/macos/swift_compat.swift @@ -15,23 +15,6 @@ * License along with mpv. If not, see <http://www.gnu.org/licenses/>. */ -extension NSPasteboard.PasteboardType { - static let fileURLCompat: NSPasteboard.PasteboardType = { - if #available(OSX 10.13, *) { - return .fileURL - } else { - return NSPasteboard.PasteboardType(kUTTypeURL as String) - } - } () - - static let URLCompat: NSPasteboard.PasteboardType = { - if #available(OSX 10.13, *) { - return .URL - } else { - return NSPasteboard.PasteboardType(kUTTypeFileURL as String) - } - } () -} #if !swift(>=5.0) extension Data { diff --git a/osdep/macosx_application.m b/osdep/macosx_application.m index 6b526d295c..ff8fac6cbb 100644 --- a/osdep/macosx_application.m +++ b/osdep/macosx_application.m @@ -26,7 +26,6 @@ #include "options/options.h" #import "osdep/macosx_application_objc.h" -#include "osdep/macosx_compat.h" #import "osdep/macosx_events_objc.h" #include "osdep/threads.h" #include "osdep/main-fn.h" @@ -177,8 +176,7 @@ static const char macosx_icon[] = - (void)processEvent:(struct mpv_event *)event { #if HAVE_MACOS_TOUCHBAR - if ([self respondsToSelector:@selector(touchBar)]) - [(TouchBar *)self.touchBar processEvent:event]; + [(TouchBar *)self.touchBar processEvent:event]; #endif if (_cocoa_cb) { [_cocoa_cb processEvent:event]; diff --git a/osdep/macosx_compat.h b/osdep/macosx_compat.h deleted file mode 100644 index d5f8dab571..0000000000 --- a/osdep/macosx_compat.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Application Event Handling - * - * This file is part of mpv. - * - * mpv is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv. If not, see <http://www.gnu.org/licenses/>. - */ - - -#ifndef MPV_MACOSX_COMPAT -#define MPV_MACOSX_COMPAT - -#import <Cocoa/Cocoa.h> -#include "osdep/macosx_versions.h" - -#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12) - -@interface NSWindow (macOS10_12_SDK) -+ (void)setAllowsAutomaticWindowTabbing:(BOOL)allow; -@end - -typedef NSUInteger NSWindowStyleMask; -static const NSWindowStyleMask NSWindowStyleMaskClosable = NSClosableWindowMask; -static const NSWindowStyleMask NSWindowStyleMaskTitled = NSTitledWindowMask; -static const NSWindowStyleMask NSWindowStyleMaskMiniaturizable = NSMiniaturizableWindowMask; -static const NSWindowStyleMask NSWindowStyleMaskResizable = NSResizableWindowMask; -static const NSWindowStyleMask NSWindowStyleMaskBorderless = NSBorderlessWindowMask; -static const NSWindowStyleMask NSWindowStyleMaskFullScreen = NSFullScreenWindowMask; - -static const NSEventType NSEventTypeSystemDefined = NSSystemDefined; -static const NSEventType NSEventTypeKeyDown = NSKeyDown; -static const NSEventType NSEventTypeKeyUp = NSKeyUp; - -static const NSEventMask NSEventMaskLeftMouseUp = NSLeftMouseUpMask; - -#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_10) -typedef NSUInteger NSEventModifierFlags; -#endif - -static const NSEventModifierFlags NSEventModifierFlagShift = NSShiftKeyMask; -static const NSEventModifierFlags NSEventModifierFlagControl = NSControlKeyMask; -static const NSEventModifierFlags NSEventModifierFlagCommand = NSCommandKeyMask; -static const NSEventModifierFlags NSEventModifierFlagOption = NSAlternateKeyMask; - -#if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_9) -typedef NSUInteger NSModalResponse; -static const NSModalResponse NSModalResponseOK = NSFileHandlingPanelOKButton; -#endif - -#endif - -#endif /* MPV_MACOSX_COMPAT */ diff --git a/osdep/macosx_events.m b/osdep/macosx_events.m index 2a82b3d034..627077aac1 100644 --- a/osdep/macosx_events.m +++ b/osdep/macosx_events.m @@ -33,7 +33,6 @@ // doesn't make much sense, but needed to access keymap functionality #include "video/out/vo.h" -#include "osdep/macosx_compat.h" #import "osdep/macosx_events_objc.h" #import "osdep/macosx_application_objc.h" @@ -299,8 +298,7 @@ void cocoa_set_mpv_handle(struct mpv_handle *ctx) - (void)startMediaKeys { #if HAVE_MACOS_MEDIA_PLAYER - // 10.12.2 runtime availability check - if (_remoteCommandCenter == nil && [NSApp respondsToSelector:@selector(touchBar)]) { + if (_remoteCommandCenter == nil) { _remoteCommandCenter = [[RemoteCommandCenter alloc] init]; } #endif diff --git a/osdep/macosx_menubar.m b/osdep/macosx_menubar.m index c8255dd037..d9ee159d8a 100644 --- a/osdep/macosx_menubar.m +++ b/osdep/macosx_menubar.m @@ -20,7 +20,6 @@ #import "macosx_menubar_objc.h" #import "osdep/macosx_application_objc.h" -#include "osdep/macosx_compat.h" @implementation MenuBar { @@ -34,9 +33,7 @@ [userDefaults setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"]; [userDefaults setBool:YES forKey:@"NSDisabledDictationMenuItem"]; [userDefaults setBool:YES forKey:@"NSDisabledCharacterPaletteMenuItem"]; - - if ([NSWindow respondsToSelector:@selector(setAllowsAutomaticWindowTabbing:)]) - [NSWindow setAllowsAutomaticWindowTabbing: NO]; + [NSWindow setAllowsAutomaticWindowTabbing: NO]; menuTree = @[ @{ @@ -640,8 +637,7 @@ #if HAVE_MACOS_TOUCHBAR if ([action isEqual:@"toggleTouchBarCustomizationPalette:"]) { - if (![NSApp respondsToSelector:@selector(touchBar)]) - continue; + continue; } #endif diff --git a/osdep/macosx_versions.h b/osdep/macosx_versions.h deleted file mode 100644 index 29ab01eb5a..0000000000 --- a/osdep/macosx_versions.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * This file is part of mpv. - * - * mpv is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef MPV_MACOSX_VERSIONS -#define MPV_MACOSX_VERSIONS - -#if !defined(MAC_OS_X_VERSION_10_9) -# define MAC_OS_X_VERSION_10_9 1090 -#endif - -#if !defined(MAC_OS_X_VERSION_10_10) -# define MAC_OS_X_VERSION_10_10 101000 -#endif - -#if !defined(MAC_OS_X_VERSION_10_12) -# define MAC_OS_X_VERSION_10_12 101200 -#endif - -#endif /* MPV_MACOSX_VERSIONS */ diff --git a/video/out/cocoa/events_view.m b/video/out/cocoa/events_view.m index 2cfe3f2fda..d297a2ea74 100644 --- a/video/out/cocoa/events_view.m +++ b/video/out/cocoa/events_view.m @@ -18,7 +18,6 @@ #include "input/input.h" #include "input/keycodes.h" -#include "osdep/macosx_compat.h" #include "video/out/cocoa_common.h" #include "events_view.h" diff --git a/video/out/cocoa/video_view.m b/video/out/cocoa/video_view.m index c0457d2a95..18ad69fcb4 100644 --- a/video/out/cocoa/video_view.m +++ b/video/out/cocoa/video_view.m @@ -15,7 +15,6 @@ * License along with mpv. If not, see <http://www.gnu.org/licenses/>. */ -#include "osdep/macosx_compat.h" #include "video/out/cocoa_common.h" #include "video_view.h" diff --git a/video/out/cocoa/window.m b/video/out/cocoa/window.m index 011d8e4227..e95578975f 100644 --- a/video/out/cocoa/window.m +++ b/video/out/cocoa/window.m @@ -20,7 +20,6 @@ #include "input/keycodes.h" #include "osdep/macosx_events.h" -#include "osdep/macosx_compat.h" #include "video/out/cocoa_common.h" #include "window.h" diff --git a/video/out/cocoa_cb_common.swift b/video/out/cocoa_cb_common.swift index 03b263cf99..9c0054a9d7 100644 --- a/video/out/cocoa_cb_common.swift +++ b/video/out/cocoa_cb_common.swift @@ -121,9 +121,7 @@ class CocoaCB: Common { } libmpv.setRenderICCProfile(colorSpace) - if #available(macOS 10.11, *) { - layer?.colorspace = colorSpace.cgColorSpace - } + layer?.colorspace = colorSpace.cgColorSpace } override func windowDidEndAnimation() { diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 256671ef19..1a264986be 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -32,7 +32,6 @@ #import "video/out/cocoa/mpvadapter.h" #include "osdep/threads.h" -#include "osdep/macosx_compat.h" #include "osdep/macosx_events_objc.h" #include "osdep/timer.h" diff --git a/video/out/mac/common.swift b/video/out/mac/common.swift index feb354261c..6da99ca20b 100644 --- a/video/out/mac/common.swift +++ b/video/out/mac/common.swift @@ -164,17 +164,6 @@ class Common: NSObject { view?.removeFromSuperview() } - let linkCallback: CVDisplayLinkOutputCallback = { - (displayLink: CVDisplayLink, - inNow: UnsafePointer<CVTimeStamp>, - inOutputTime: UnsafePointer<CVTimeStamp>, - flagsIn: CVOptionFlags, - flagsOut: UnsafeMutablePointer<CVOptionFlags>, - displayLinkContext: UnsafeMutableRawPointer?) -> CVReturn in - let com = unsafeBitCast(displayLinkContext, to: Common.self) - return com.displayLinkCallback(displayLink, inNow, inOutputTime, flagsIn, flagsOut) - } - func displayLinkCallback(_ displayLink: CVDisplayLink, _ inNow: UnsafePointer<CVTimeStamp>, _ inOutputTime: UnsafePointer<CVTimeStamp>, @@ -195,12 +184,8 @@ class Common: NSObject { } CVDisplayLinkSetCurrentCGDisplay(link, screen.displayID) - if #available(macOS 10.12, *) { - CVDisplayLinkSetOutputHandler(link) { link, now, out, inFlags, outFlags -> CVReturn in - return self.displayLinkCallback(link, now, out, inFlags, outFlags) - } - } else { - CVDisplayLinkSetOutputCallback(link, linkCallback, MPVHelper.bridge(obj: self)) + CVDisplayLinkSetOutputHandler(link) { link, now, out, inFlags, outFlags -> CVReturn in + return self.displayLinkCallback(link, now, out, inFlags, outFlags) } CVDisplayLinkStart(link) } diff --git a/video/out/mac/gl_layer.swift b/video/out/mac/gl_layer.swift index 79df1e9c80..dd96af7265 100644 --- a/video/out/mac/gl_layer.swift +++ b/video/out/mac/gl_layer.swift @@ -109,7 +109,7 @@ class GLLayer: CAOpenGLLayer { autoresizingMask = [.layerWidthSizable, .layerHeightSizable] backgroundColor = NSColor.black.cgColor - if #available(macOS 10.12, *), bufferDepth > 8 { + if bufferDepth > 8 { contentsFormat = .RGBA16Float } diff --git a/video/out/mac/title_bar.swift b/video/out/mac/title_bar.swift index 945c8f371b..d1fd0491c7 100644 --- a/video/out/mac/title_bar.swift +++ b/video/out/mac/title_bar.swift @@ -36,10 +36,8 @@ class TitleBar: NSVisualEffectView { set { super.material = newValue // fix for broken deprecated materials - if material == .light || material == .dark { - state = .active - } else if #available(macOS 10.11, *), - material == .mediumLight || material == .ultraDark + if material == .light || material == .dark || material == .mediumLight || + material == .ultraDark { state = .active } else { @@ -179,30 +177,25 @@ class TitleBar: NSVisualEffectView { switch string { case "1", "aqua": return NSAppearance(named: .aqua) + case "2", "darkAqua": + return NSAppearance(named: .darkAqua) case "3", "vibrantLight": return NSAppearance(named: .vibrantLight) case "4", "vibrantDark": return NSAppearance(named: .vibrantDark) - default: break + case "5", "aquaHighContrast": + return NSAppearance(named: .accessibilityHighContrastAqua) + case "6", "darkAquaHighContrast": + return NSAppearance(named: .accessibilityHighContrastDarkAqua) + case "7", "vibrantLightHighContrast": + return NSAppearance(named: .accessibilityHighContrastVibrantLight) + case "8", "vibrantDarkHighContrast": + return NSAppearance(named: .accessibilityHighContrastVibrantDark) + case "0", "auto": fallthrough + default: + return nil } - if #available(macOS 10.14, *) { - switch string { - case "2", "darkAqua": - return NSAppearance(named: .darkAqua) - case "5", "aquaHighContrast": - return NSAppearance(named: .accessibilityHighContrastAqua) - case "6", "darkAquaHighContrast": - return NSAppearance(named: .accessibilityHighContrastDarkAqua) - case "7", "vibrantLightHighContrast": - return NSAppearance(named: .accessibilityHighContrastVibrantLight) - case "8", "vibrantDarkHighContrast": - return NSAppearance(named: .accessibilityHighContrastVibrantDark) - case "0", "auto": fallthrough - default: - return nil - } - } let style = UserDefaults.standard.string(forKey: "AppleInterfaceStyle") return appearanceFrom(string: style == nil ? "aqua" : "vibrantDark") @@ -210,37 +203,25 @@ class TitleBar: NSVisualEffectView { func materialFrom(string: String) -> NSVisualEffectView.Material { switch string { - case "1", "selection": return .selection - case "0", "titlebar": return .titlebar - case "14", "dark": return .dark - case "15", "light": return .light - default: break - } - - if #available(macOS 10.11, *) { - switch string { - case "2,", "menu": return .menu - case "3", "popover": return .popover - case "4", "sidebar": return .sidebar - case "16", "mediumLight": return .mediumLight - case "17", "ultraDark": return .ultraDark - default: break - } - } - - if #available(macOS 10.14, *) { - switch string { - case "5,", "headerView": return .headerView - case "6", "sheet": return .sheet - case "7", "windowBackground": return .windowBackground - case "8", "hudWindow": return .hudWindow - case "9", "fullScreen": return .fullScreenUI - case "10", "toolTip": return .toolTip - case "11", "contentBackground": return .contentBackground - case "12", "underWindowBackground": return .underWindowBackground - case "13", "underPageBackground": return .underPageBackground - default: break - } + case "0", "titlebar": return .titlebar + case "1", "selection": return .selection + case "2,", "menu": return .menu + case "3", "popover": return .popover + case "4", "sidebar": return .sidebar + case "5,", "headerView": return .headerView + case "6", "sheet": return .sheet + case "7", "windowBackground": return .windowBackground + case "8", "hudWindow": return .hudWindow + case "9", "fullScreen": return .fullScreenUI + case "10", "toolTip": return .toolTip + case "11", "contentBackground": return .contentBackground + case "12", "underWindowBackground": return .underWindowBackground + case "13", "underPageBackground": return .underPageBackground + case "14", "dark": return .dark + case "15", "light": return .light + case "16", "mediumLight": return .mediumLight + case "17", "ultraDark": return .ultraDark + default: break } return .titlebar diff --git a/video/out/mac/view.swift b/video/out/mac/view.swift index b860c1686d..db5fc4aec2 100644 --- a/video/out/mac/view.swift +++ b/video/out/mac/view.swift @@ -33,7 +33,7 @@ class View: NSView { super.init(frame: frame) autoresizingMask = [.width, .height] wantsBestResolutionOpenGLSurface = true - registerForDraggedTypes([ .fileURLCompat, .URLCompat, .string ]) + registerForDraggedTypes([ .fileURL, .URL, .string ]) } required init?(coder: NSCoder) { @@ -58,7 +58,7 @@ class View: NSView { override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation { guard let types = sender.draggingPasteboard.types else { return [] } - if types.contains(.fileURLCompat) || types.contains(.URLCompat) || types.contains(.string) { + if types.contains(.fileURL) || types.contains(.URL) || types.contains(.string) { return .copy } return [] @@ -78,7 +78,7 @@ class View: NSView { let pb = sender.draggingPasteboard guard let types = pb.types else { return false } - if types.contains(.fileURLCompat) || types.contains(.URLCompat) { + if types.contains(.fileURL) || types.contains(.URL) { if let urls = pb.readObjects(forClasses: [NSURL.self]) as? [URL] { let files = urls.map { $0.absoluteString } EventsResponder.sharedInstance().handleFilesArray(files) diff --git a/video/out/mac_common.swift b/video/out/mac_common.swift index 12d2870add..f462b19034 100644 --- a/video/out/mac_common.swift +++ b/video/out/mac_common.swift @@ -150,10 +150,7 @@ class MacCommon: Common { return } - if #available(macOS 10.11, *) { - layer?.colorspace = colorSpace.cgColorSpace - } - + layer?.colorspace = colorSpace.cgColorSpace flagEvents(VO_EVENT_ICC_PROFILE_CHANGED) } |