Skip to content

Commit

Permalink
Update README with up-to-date info
Browse files Browse the repository at this point in the history
  • Loading branch information
Migwel committed Jan 15, 2024
1 parent 9c60ac1 commit 8d91747
Showing 1 changed file with 43 additions and 14 deletions.
57 changes: 43 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,52 @@
# Save that Song!

This project is about saving songs that are currently playing on specified inputs.
## What is it?

My goal is to initially support the following inputs:
* Sonos
* Radio (Icecast)
This project stems from my experience listening to the radio and wanting to easily be able to save nice songs that I hear.
Often because of laziness and sometimes because of other difficulties (for example, while driving the car), it's not possible
to write down the song you're hearing and would like to keep track of.

And to initially support the following actions:
* Save to Spotify
This is where Save that Song! comes into play. When you want to save a song currently playing on a supported input (see list below),
all you need to do is make an API call to the application and it will automatically figure out what's playing and will persist it
"somewhere" (see list below).

Thus, if a nice song is playing on your Sonos or on your radio, you would be able to make an API call to Save that Song!
and it will automatically add it to your Spotify Liked songs.
## Supported actions

# Status
### From actions

This is the initial commit so not much is done (even though I already have another repo doing basically the same thing).
My goal is to get the API up and running and working with a single user (myself) quite fast. Once it's done, I'll
add user management to allow for this service to be used by multiple users.
At the moment, the only supported "From" input is `RADIO`. Thus, if you're listening to a specific radio and want to save
the song that's playing, send a request containing the stream URL of the radio you're listening to and Save that Song! will
do the rest

Once it's done, I'll invest in a nice (?) UI where configuring inputs and actions should be easier.
I'm planning on supporting `SONOS` as well, for which you'd provide the Sonos system you're currently listening on, this is
being tracked in [issue #22](https://github.com/Migwel/SaveThatSong/issues/22).

Finally, I'll need to think about whether other inputs or actions could be added, all suggestions are welcome (open an issue with your idea)
### To actions

The following To actions are currently supported:

* `DATABASE`: this simply persists the song in the database. This is the most reliable method as it will (almost?) always succeed
* `SPOTIFY`: this adds the song to the **Liked Songs** playlist on Spotify. This may not always work as it can happen that
the song cannot be found on Spotify

At the moment, only one To action can be specific in the save request but [it will probably change in the future](https://github.com/Migwel/SaveThatSong/issues/24)

## Status

The basic functionality is there and works locally. The main next steps are:
* Support Sonos as a From action
* Build better user management (at the moment, user need to be directly added to the db...)
* Build some kind of UI

Next to that, I'll need to think about whether other inputs or actions could be added, all suggestions are welcome (open an issue with your idea)

## How to build and run

To build, execute
```
mvn verify
```
Once this succeeded, you can run the application by executing
```
java -jar target/SaveThatSong-0.0.1-SNAPSHOT.jar
```

0 comments on commit 8d91747

Please sign in to comment.