Получить текущую информацию о приложении из App.sdef

Я пытаюсь получить доступ к информации о текущем состоянии приложения для Mac, как если бы я использовал dbus на Linux.

Приложение, с которым я пытаюсь это сделать, это Spotify. Я просмотрел содержимое пакета и обнаружил, что в каталоге /Resources находится файл Spotify.sdef. Я провел некоторое исследование этих "Определений сценариев" и думаю, что есть способ получить доступ к данным, описанным в файле Spotify.sdef (т. Е. Название и информация об исполнителе). Я могу быть совершенно не прав, поскольку у меня нет опыта в разработке Какао.

Я был бы очень признателен, если бы кто-то указал мне правильное направление доступа к данным, которые, по моему мнению, доступны из файла "Определение сценария" в содержимом пакета приложения. Моя конечная цель - увидеть, какая песня в данный момент воспроизводится в Spotify, с помощью простой команды терминала.

1 ответ

Решение

Вы видели документы Spotify для AppleScript? Эта небольшая модификация примера должна сделать то, что вы ищете:

#!/usr/bin/env osascript

set currentlyPlayingTrack to getCurrentlyPlayingTrack()
log currentlyPlayingTrack

on getCurrentlyPlayingTrack()
    tell application "Spotify"
        set currentArtist to artist of current track as string
        set currentTrack to name of current track as string
        return currentArtist & " - " & currentTrack
    end tell
end getCurrentlyPlayingTrack
Другие вопросы по тегам