https://github.com/caleb531/play-song

An Alfred workflow for quickly and easily playing music in the Apple Music app

https://github.com/caleb531/play-song

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.8%) to scientific vocabulary

Keywords

alfred alfred-workflow applescript itunes
Last synced: 5 months ago · JSON representation

Repository

An Alfred workflow for quickly and easily playing music in the Apple Music app

Basic Info
  • Host: GitHub
  • Owner: caleb531
  • License: mit
  • Language: AppleScript
  • Default Branch: main
  • Homepage:
  • Size: 3.02 MB
Statistics
  • Stars: 114
  • Watchers: 4
  • Forks: 11
  • Open Issues: 1
  • Releases: 47
Topics
alfred alfred-workflow applescript itunes
Created over 12 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

Play Song

Copyright 2013-2025 Caleb Evans
Released under the MIT license

Play Song is an Alfred workflow designed to make playing music in Music.app extremely quick and convenient.

The workflow will be solely supporting Alfred 5 going forward, but the workflow versions last compatible with the previous versions of Alfred will remain available here for your convenience.

Play Song in action

Special thanks to @Tyilo for his invaluable feedback and code contributions.

Usage

Play Song includes a number of keyword filters which allow you to search for and play songs in your Music.app library. For example:

Playing a song

playsong hey jude

Playing a song in a particular album

playsongin abbey road

Playing a song by a particular artist

playsongby beatles

Playing an album

playalbum pet sounds

Playing an album by a particular artist

playalbumby beach boys

Playing an artist

playartist killers

Playing a genre

playgenre alternative

Playing a playlist

playplaylist favorites

Controlling the Music app's global shuffle setting

shuffleon

shuffleoff

shuffletoggle

Queueing songs

For any of the above filters, choosing a result with the cmd key held down will queue the result (as opposed to playing it immediately). This allows you to queue up multiple songs before playing them.

To play the songs you've queued, use the playqueue keyword. To clear the queue of all songs, use the clearqueue keyword.

Note: At this time, Play Song does not support queueing for Apple Music playlists.

Searching songs on Google

For any of the above filters, choosing a result with the ctrl key held down will search the result on Google.

Clearing the cache

Play Song stores a local cache containing album artwork (from displayed results), as well as the compiled workflow configuration. If you experience any issues with Play Song, you can clear this cache via the clearcache keyword.

A note about play order

Play Song always respects the current shuffle mode within Music.app. For example, if shuffle is enabled, playing an album via Play Song will play the songs of the album in shuffled order. Therefore, if you desire Play Song to respect album order, run the shuffleoff command within Alfred.

Additionally, Play Song will honor the column you are sorting by in Music.app to sort queued songs. This applies to keyword filters like playartist, playalbum, and playgenre. For example, if you are sorting by "Album by Artist" in your library, then Play Song will group artists together and group albums together when using playgenre. However, if you are sorting by "Title" in your library, then Play Song will disregard album groupings and simply play songs in alphabetical order.

The playplaylist filter is the only Play Song filter where play order is guaranteed.

Playing a song directly (the Play Song v1 behavior)

If you are a longtime Play Song user who prefers the v1 behavior for playing songs (where music continues playing after the song finishes), you can do so via the shift modifier. Note that this only works for the playsong filter.

Support

If you have a bug to report or a feature to request, please submit an issue on GitHub. You can also contact me directly via email.

Owner

  • Name: Caleb Evans
  • Login: caleb531
  • Kind: user
  • Location: Carlsbad, CA

Hi, I'm Caleb, a web developer who lives for Christ by building enjoyable apps and useful tools. I hope you are blessed by what I've made!

GitHub Events

Total
  • Create event: 4
  • Issues event: 3
  • Release event: 2
  • Watch event: 5
  • Issue comment event: 11
  • Push event: 12
  • Pull request event: 3
  • Pull request review event: 10
  • Pull request review comment event: 4
  • Fork event: 2
Last Year
  • Create event: 4
  • Issues event: 3
  • Release event: 2
  • Watch event: 5
  • Issue comment event: 11
  • Push event: 12
  • Pull request event: 3
  • Pull request review event: 10
  • Pull request review comment event: 4
  • Fork event: 2

Dependencies

pyproject.toml pypi
uv.lock pypi
  • alfred-workflow-packager 3.2.0
  • attrs 25.3.0
  • jsonschema 4.24.0
  • jsonschema-specifications 2025.4.1
  • play-song 9.4.0
  • referencing 0.36.2
  • rpds-py 0.25.1
  • typing-extensions 4.14.0