From a95d968bbe20340edbe2ff1c8f012cf54a8074b9 Mon Sep 17 00:00:00 2001 From: Vincent Neo <23420208+vincentneo@users.noreply.github.com> Date: Tue, 28 Mar 2023 17:37:35 +0800 Subject: [PATCH] remove applescript based detection --- Quality/AppDelegate.swift | 10 ---------- Quality/Defaults.swift | 15 ++------------- Quality/OutputDevices.swift | 22 ++++++---------------- 3 files changed, 8 insertions(+), 39 deletions(-) diff --git a/Quality/AppDelegate.swift b/Quality/AppDelegate.swift index 3cd1f01..64ee547 100644 --- a/Quality/AppDelegate.swift +++ b/Quality/AppDelegate.swift @@ -75,10 +75,6 @@ class AppDelegate: NSObject, NSApplicationDelegate { let showSampleRateItem = NSMenuItem(title: defaults.statusBarItemTitle, action: #selector(toggleSampleRate(item:)), keyEquivalent: "") menu.addItem(showSampleRateItem) - let useAppleScriptItem = NSMenuItem(title: "Detect Local Track Rates", action: #selector(toggleAppleScript(item:)), keyEquivalent: "") - menu.addItem(useAppleScriptItem) - useAppleScriptItem.state = Defaults.shared.userPreferAppleScript ? .on : .off - let selectedDeviceItem = NSMenuItem(title: "Selected Device", action: nil, keyEquivalent: "") self.devicesMenu = NSMenu() selectedDeviceItem.submenu = self.devicesMenu @@ -168,10 +164,4 @@ class AppDelegate: NSObject, NSApplicationDelegate { item.title = defaults.statusBarItemTitle } - @objc func toggleAppleScript(item: NSMenuItem) { - defaults.userPreferAppleScript = !defaults.userPreferAppleScript - outputDevices.enableAppleScript = defaults.userPreferAppleScript - item.state = defaults.userPreferAppleScript ? .on : .off - } - } diff --git a/Quality/Defaults.swift b/Quality/Defaults.swift index ad5162d..9962349 100644 --- a/Quality/Defaults.swift +++ b/Quality/Defaults.swift @@ -10,13 +10,11 @@ import Foundation class Defaults { static let shared = Defaults() private let kUserPreferIconStatusBarItem = "com.vincent-neo.LosslessSwitcher-Key-UserPreferIconStatusBarItem" - private let kUserPreferAppleScript = "com.vincent-neo.LosslessSwitcher-Key-UserPreferAppleScript" private let kSelectedDeviceUID = "com.vincent-neo.LosslessSwitcher-Key-SelectedDeviceUID" private init() { UserDefaults.standard.register(defaults: [ - kUserPreferIconStatusBarItem : true, - kUserPreferAppleScript : true + kUserPreferIconStatusBarItem : true ]) } @@ -29,15 +27,6 @@ class Defaults { } } - var userPreferAppleScript: Bool { - get { - return UserDefaults.standard.bool(forKey: kUserPreferAppleScript) - } - set { - UserDefaults.standard.set(newValue, forKey: kUserPreferAppleScript) - } - } - var selectedDeviceUID: String? { get { return UserDefaults.standard.string(forKey: kSelectedDeviceUID) @@ -46,7 +35,7 @@ class Defaults { UserDefaults.standard.set(newValue, forKey: kSelectedDeviceUID) } } - + var statusBarItemTitle: String { let title = self.userPreferIconStatusBarItem ? "Show Sample Rate" : "Show Icon" return title diff --git a/Quality/OutputDevices.swift b/Quality/OutputDevices.swift index 4cac261..a363ed0 100644 --- a/Quality/OutputDevices.swift +++ b/Quality/OutputDevices.swift @@ -16,8 +16,6 @@ class OutputDevices: ObservableObject { @Published var outputDevices = [AudioDevice]() @Published var currentSampleRate: Float64? - var enableAppleScript = Defaults.shared.userPreferAppleScript - private let coreAudio = SimplyCoreAudio() private var changesCancellable: AnyCancellable? @@ -147,20 +145,12 @@ class OutputDevices: ObservableObject { var allStats = [CMPlayerStats]() do { - if enableAppleScript { - if let appleScriptRate = getSampleRateFromAppleScript() { - print("AppleScript ran") - allStats.append(CMPlayerStats(sampleRate: appleScriptRate, bitDepth: 0, date: .init(), priority: 100)) - } - } - else { - let musicLogs = try Console.getRecentEntries(type: .music) - let coreAudioLogs = try Console.getRecentEntries(type: .coreAudio) - //let coreMediaLogs = try Console.getRecentEntries(type: .coreMedia) - allStats.append(contentsOf: CMPlayerParser.parseMusicConsoleLogs(musicLogs)) - allStats.append(contentsOf: CMPlayerParser.parseCoreAudioConsoleLogs(coreAudioLogs)) - //allStats.append(contentsOf: CMPlayerParser.parseCoreMediaConsoleLogs(coreMediaLogs)) - } + let musicLogs = try Console.getRecentEntries(type: .music) + let coreAudioLogs = try Console.getRecentEntries(type: .coreAudio) + let coreMediaLogs = try Console.getRecentEntries(type: .coreMedia) + allStats.append(contentsOf: CMPlayerParser.parseMusicConsoleLogs(musicLogs)) + //allStats.append(contentsOf: CMPlayerParser.parseCoreAudioConsoleLogs(coreAudioLogs)) + allStats.append(contentsOf: CMPlayerParser.parseCoreMediaConsoleLogs(coreMediaLogs)) allStats.sort(by: {$0.priority > $1.priority}) print("[getAllStats] \(allStats)")