/MusicPlayer

Music player submodule for LyricsX

Primary LanguageObjective-CMozilla Public License 2.0MPL-2.0

MusicPlayer

release codebeat badge

Music player submodule for LyricsX.

Unified API for music players.

Supported Players

macOS

  • Apple Music (iTunes)
  • Spotify
  • Vox
  • Audirvana
  • Swinsian

iOS

  • Music
  • Spotify (see #5)

Linux

Universal

  • SystemMedia: System-wide Now Playing
    • macOS
    • iOS (jailbroken device only) (test needed)
    • Linux (is this possible?)
  • Spotify (Web API)

Helper:

  • Agent: Delegate events to another player.
  • Now Playing: Automatically choose a playing player from given players.
  • Virtual: A virtual player that allows you to manipulate its state.
  • Remote: Sync player state from other devices.

Usage

Quick Start

let player = MusicPlayers.Scriptable(name: .appleMusic)!
let track = player.currentTrack.title
if player.playbackState.isPlaying {
    player.skipToNextItem()
}

License

MusicPlayer is part of LyricsX and licensed under MPL 2.0. See the LICENSE file.