Skip to content

citelao/Spotify-for-Alfred

Repository files navigation

Spotifious

a natural Spotify controller for Alfred

The magical interface

So, you've heard of Spotifious, eh? A natural Spotify controller for Alfred? Searches Spotify, controls your music, generally rocks?

It's built off a lot of other people's work— PHPFunk and David Ferguson especially— and tries to match the functionality of Alfred's integrated iTunes player. It's not perfect, but it does the job. And I think it's pretty cool.

Features

A quick rundown of its coolness:

A controller, not a workflow

Spotifious just feels fun to use, like a real plugin for Alfred, not a workflow. It can do in-depth, album-scouring searches and gives you useful information even if something goes wrong. Filter by artist or album, search for specific tracks or just plain see what's playing. It's all there.

Not unlike the iTunes Mini Player.

Alfred-like

Spotifious is also especially Alfred-like. Just start typing to scour Spotify's servers for music. Browse through artists and albums like nobody's business and drill down through Queen's huge anthologies with a snappy context-based search and filtering. Your frequent searches rise to the top, and your controls pop up with the letter c.

Smart

Spotifious uses Packal to make sure you always have the latest version. It gives you a heads-up about what's going on with Spotify the moment you start it. And don't worry about errors— we'll handle those. All you have to do is choose how you want to pop it up on screen.

Download & Install

Latest version: v0.13.9 | Latest dev build: v0.13.9

An in-depth installation guide is available on the Spotifious website.

  1. Download this repository.
  2. Open Spotifious.alfredworkflow in the dist folder by double-clicking it or dragging it into Alfred.
  3. Double-click the first thingy marked Hotkey.
  4. Click the textfield labeled Hotkey and press ^⌘⏎.
  5. Click Save to store the binding.
  6. Bind the other hotkeys as you wish. Their actions are visible in the Text field, under Argument.
  7. Pop up Spotifious with the key command you set— I would have ^⌘⏎.
  8. Follow the instructions on the set-up menu.
    1. You'll be asked to choose your country (for better search results— you can opt out).
    2. You'll create a Spotify application (or not, you can opt out).
    3. You'll link the new app to Spotifious.
  9. Continue on with your merry day— but now with Spotifious.

A visual install guide

How to Use

So let's assume you've downloaded and installed the workflow. Now what?

  1. Press ^⌘⏎.

Good! You should briefly see a loading entry, then the main menu:

Loading... Main Menu

You can action the song title (press ) to play or pause the song, action the album or artist to search for that album or artist, or just start typing to search for cool music.

Some cool screenshots

Once you've searched for something, you can continue to browse albums and arists through Spotifious. Actioning an artist will bring up a list of their albums, and actioning an album will bring up the track list.

If you're looking through a really long album or a particularly prodigious artist, you can also narrow your search by typing a little more— Spotifious will search for results within the album or artist.

Note: You can always leave a menu and go back just by pressing .

You can access a small controls menu by typing c at the main menu.

A preview of the controls menu

You can change your settings by typing s at the main menu.

The settings menu

Acknowledgements

A lot of people helped out on this:

  • vdesabou and I trade ideas a ton
  • PHPfunk and his PHP Alfred workflow inspired much of OhAlfred
  • David Ferguson helped with some iffy Alfred glitches
  • jwilsson's Spotify PHP web API.
  • a slightly modified version of Entypo icon font face for icons.
  • and many other people mentioned in the code.

Thanks to everyone who helped, and thanks to everyone who uses my work! Oh, and thanks for reading this whole README. I hope you enjoy Spotifious!

Development

You must install dependencies manually. Install Composer and then run make init. Then you can proceed with development! (if you do not want to do a global install, run php composer.phar install from this directory)

Command line development for Alfred 3 is currently not working, since we depend on several environment variables. Eventually, if you are developing for Alfred version 3 and want to run these files from the command line (php -f main.php -- "args"), you will need to run in debug mode : DEBUG=true php -f main.php -- "args".

Deployment

  1. Bump version here
  2. Update CHANGELOG
  3. Update .alfredworkflow version
  4. Update Alfred forum
  5. Update Packal
  6. Update GitHub Pages site

TODO

  • Allow , ^, and to function as modifiers (Open in Spotify, other things?).
  • More in-depth Spotify control (radio, queuing, playlists)
  • Make main menu links go directly to menus.

Changelog

This project uses pseudo-SemVer. It will use SemVer when we hit v1.0.0.

See CHANGELOG.md.

License

This code is licensed as written in the LICENSE.md file.