ersel/spotify-cli-mac

Blue Sky Ideas

ersel opened this issue · 13 comments

ersel commented

So we have recently added a recommend feature which was relatively straightforward to implement. We already leverage Spotify API to do search and recommend, what other functionality we can bring to the spotify-cli-mac? Perhaps, we could do more with Genius API access as well. This issue is meant to be a discussion for brainstorming and suggestions for further development. Feel free to share your ideas and suggestions.

Spotify API lib:
https://github.com/thelinmichael/spotify-web-api-node

Integrate a database to save user preferences and credentials would be great

How about getting recommended playlists?

ersel commented

@gabrielsclimaco I think that would be too much hassle. We would need to manage a server and securely store people's credentials etc... I am not interested in building such a solution.

@greenmoon55 We already have a recommend feature which recommends songs, but I would be happy to accept a PR for playlists if you would like to have a go at it.

A command to add a song to the spotify queue instead of immediately playing it?

Also, to add to the Genius API, it might be nice to have some way to display where in the lyrics the song is currently.

I'd really like to see the ability to add a song to a queue. I'd also like to get my currrent playlists and select which one to play.

ersel commented

Thanks for your suggestions @MasonDMitchell and @2hands10fingers .

I think some queue mechanics would be a great addition to the CLI.

I will be writing a short spec on how this could work shortly. I would be happy to accept a PR which addresses that.

ersel commented

It seems like we can do the playlist control, but queue is NOT possible at the time of writing.

See discussions here:
spotify/web-api#462

I'm leaving this as a note, if Spotify ever expands their API offering we could implement something like the below description:

=======
Feature: Add a song to queue instead of playing it immediately.
Acceptance Criteria:
I see this working as an optional flag that can be used to change how the search command behaves.

For instance, user could run:
spotify search artist metallica -- which would start playing metallica as normal.

or they could run:
spotify search artist metallica --queue or simply -q for short.

If queue flag is provided, song should be added to user's play queue.

@ersel Definitely looked into it further and saw Spotify doesn't have that ability. Whatever makes it easier to add a song to a playlist, I suppose. Thanks for listening. :)

ersel commented

My pleasure, thanks for your interest @2hands10fingers

I have opened a new issue where I would be happy to accept PRs -- see #22

Hello @ersel,
I've found your repo while hanging out on GitHub. I was impressed with the idea of controlling terminal with Javascript and I wanted to use and help to improve it immediately.

As @gabrielsclimaco says above, it would be great if the project holds user specifications/played latest music/ques .. etc. As you said, maybe you have difficulty in server management, but it can be handled by keeping in a temporary text file. Thus, both the server and the queue problem can be solved.

ersel commented

Hi @serbayAca , a local file might work actually. What would we use it for though? We can try a minimal feature as a proof of concept.

There is an extension for create/read file, which name 'fs' , a nodejs filesystem lib. In fact @ersel, I will work on this weekend to create a poc and send pr. Thanks!

ersel commented

Thanks @serbayAca , let me know if you need any help.