Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master: Fixed incorrect notification glitch #63

Merged
merged 33 commits into from
Jan 6, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
2ae6b59
plugin work whoo whoo
citelao Jan 29, 2015
0427a88
merge dev
citelao Jan 30, 2015
446eee1
timeout nonblocking
citelao Feb 20, 2015
5ed62b4
more work
citelao May 13, 2015
149a8be
fixed output glitch
citelao May 13, 2015
57e4dd7
Merge pull request #62 from citelao/hotfix-output
citelao May 13, 2015
5956652
sublime project
citelao May 14, 2015
1d2790e
Merge branch 'dev' into feature-plugin
citelao May 14, 2015
5d46aa5
I think I have API working
citelao May 15, 2015
a7d72e4
popup again and disabled checkbox
citelao May 15, 2015
aa153e9
settings menu
citelao May 15, 2015
c9b430b
returning
citelao May 15, 2015
da9a672
versions
citelao May 15, 2015
043d196
Merge pull request #64 from citelao/feature-plugin
citelao May 15, 2015
4c0d9f0
opt-out should work
citelao May 15, 2015
14b7760
Merge pull request #66 from citelao/feature-plugin
citelao May 15, 2015
76449c1
massive speed boost
citelao May 31, 2015
8c8b14a
massive speed boost
citelao May 31, 2015
673f6b5
fixed bug in new plists
citelao May 31, 2015
71dba32
some cleanups
citelao Jun 2, 2015
fc90505
removed sublime workspace
citelao Jun 10, 2015
98d7fb4
Fixing docs
citelao Jul 5, 2015
2efa95b
Added built version
citelao Jul 5, 2015
4cabf37
Fixing JSON errors
citelao Aug 17, 2015
f76070e
purge the workspace
citelao Aug 17, 2015
fd6a294
Travis CI
citelao Aug 17, 2015
ccc2bce
valid YML
citelao Aug 17, 2015
3faa725
valid travis YML
citelao Aug 17, 2015
b26be9c
skip testing for now
citelao Aug 17, 2015
6e63ec4
github deployment
citelao Aug 17, 2015
639dfb3
Added a playpause control panel action
citelao Jan 6, 2016
d81caa4
Fixed looping bugs
citelao Jan 6, 2016
bb4bad2
Merge pull request #69 from citelao/feature/cleanup
citelao Jan 6, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fixing docs
  • Loading branch information
citelao committed Jul 5, 2015
commit 98d7fb4953de99acfa093617fd131156bbe72bc3
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.PHONY = all clean build
.PHONY = all init clean build

all: clean build

Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ Spotifious uses Packal to make sure you always have the latest version. It gives

Latest version: [v0.13](https://github.com/citelao/Spotify-for-Alfred/archive/master.zip) | Latest dev build: [v0.13](https://github.com/citelao/Spotify-for-Alfred/archive/dev.zip)

An in-depth [installation guide](http:https://ben.stolovitz.com/Spotify-for-Alfred/download/) is available on the Spotifious website.

1. [Download](https://github.com/citelao/Spotify-for-Alfred/archive/master.zip)
this repository.
2. Open `Spotifious.alfredworkflow` by double-clicking it or dragging it into
Expand All @@ -43,11 +45,10 @@ Alfred.
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 settings menu.
9. You'll be asked to type in your country.
- Type it in, if you'd like. This option is recommmended.
- Choose `I'd rather not give a country!`. The country is stored locally and only sent to Spotify to narrow results, with no other identifying information, but Spotifious can avoid that if you'd prefer. Choosing this option will noticeably degrade your search results.
- You can always change your settings by typing `s` at the main menu.
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.
10. Continue on with your merry day— but now with Spotifious.

![A visual install guide](include/screenshots/install.png)
Expand Down Expand Up @@ -124,4 +125,4 @@ See `CHANGELOG.md` for more detailed information.
- v0.5: Added a menu system
- v0.1: Inital search system

This code is MIT Licensed.
This code is licensed as written in the LICENSE.md file.
48 changes: 44 additions & 4 deletions doc/spec.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# How Spotifious should work #

There are three specific types of output:
There are four specific types of output:

1. Main Menu — first activation
4. Generic Menu — list of options, used for settings menu.
2. Search Menu — user typing
3. Detail Menu — autocompleted text with Spotify URL

## Main Menu ##

`^⌘⏎` should show the main menu.

It should check for updates every so often and display an update bar occasionally.

1. ► Crooked Teeth ⏎ `playpause`
- ???
2. Plans ⏎ album detail
Expand All @@ -19,9 +22,33 @@ There are three specific types of output:
4. Search for music...
- Begin typing to search

## Generic Menu ##

We use this for the settings & setup menus.

### Setup menu ###

These are the options required for initial operation.

- Country Code
- should trigger a list of countries.
- Create a Spotify application
- should trigger the application-creation web server.
- Link Spotify application
- should open the Spotify login page for the new app.

### Settings Menu ###

These are all the original setup options, plus some additional ones.

- Track Notifications
- toggle notifications of next playing tracks

## Search Menu ##

After activation, any typing at all should show the search menu, unless the query requires a detail menu (see below). The results should be weighted so artists>albums>songs— but only if the query is completely contained by the result. `Lady Danv` should return Lady Danville, then Lady Danville EP, then songs. Otherwise sort by popularity; use a unique id for each query so popular searches follow Alfred's smart order.
After activation, any typing (3+ chars should work) should show the search menu, unless the query requires a detail menu (see below). The results should be weighted so artists>albums>songs— but only if the query is completely contained by the result. `Lady Danv` should return Lady Danville, then Lady Danville EP, then songs. Otherwise sort by popularity; use a unique id for each query so popular searches follow Alfred's smart order.

If the query starts with a `c`, include control items, like play, pause, shuffle, etc.

1. Lady Danville ⏎ artist detail
- ★★★★☆ Artist
Expand All @@ -32,9 +59,22 @@ After activation, any typing at all should show the search menu, unless the quer

## Detail Menu ##

I want to maintain easily navigable menus, but need to provide the Spotify URL in order to perform an artist or album lookup. To that end, the detail menu uses the syntax `spotify URL ► inital search request ►`. The script should use its smartness to detect a backspace (ie if the final triangle is missing) and provide a search menu with the initial search request. That way, a user can easily back up a level.
I want to maintain easily navigable menus & submenus, but need to provide the Spotify URL in order to perform an artist or album lookup. To that end, the detail menu uses a smart syntax, separated by some unicode glyphs (`►` & `⟩` maybe).

The query should have all URLs in hierarchical order, than all the queries in hierarchical order, followed by a closing separator:

`a menu url⟩a submenu url⟩another submenu url►query used in menu⟩query used in submenu⟩query used in final submenu⟩`

The different separator should be a sign that the query is parsable. If it isn't present, ignore the query.

This syntax will not be compatible with the old syntax.

### Playlist Detail ###

**Note**: Transferring from an artist detail menu to an album detail menu should add an additional spotify URL and an extra `►`; ie `artist URL ► album URL ► initial search request ►►`.
1. Liked from Radio ⏎ view in Spotify
- View playlist in Spotify
2. Sticking it to Myself ⏎ `open location <song>`
- Jonathan Coulton - Artificial Heart 2:20 ★★★☆☆

### Artist Detail ###

Expand Down
2 changes: 1 addition & 1 deletion info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ Thank you everyone! Y’all made Spotifious as awesome as it is.

Also thank you for using Spotifious and reading the README; I hope you enjoy it.

This code is MIT Licensed.</string>
This code’s license can be found in LICENSE.md</string>
<key>uidata</key>
<dict>
<key>18496AC4-EA42-444C-A906-642E38259C96</key>
Expand Down