59 lines
3.4 KiB
Markdown
59 lines
3.4 KiB
Markdown
# Whats up in Jellyplist 0.1.6?
|
||
### Major overhaul
|
||
I´ve been working the past week to make this project work again, after [Spotify announced to deprecate](https://developer.spotify.com/blog/2024-11-27-changes-to-the-web-api) the playlist discover API´s , which were a crucial part of this project.
|
||
I also took this opportunity at the same time to do a major overhaul, on how Jellyplist gathers data from a music provider. Music provider API implementations must now implement defined abstract classes to work with Jellyplist, think of it like _plugins_. Jellyplist now, in theory, can gather data from any music provider - just the _plugins_ must be written. It also doesn´t matter, if it have 1,2 or 10 Music Providers to playlists. So stay tuned for more to come.
|
||
The next ones will be Deezer and YTM
|
||
|
||
After the providers will be implemented, I will at some point do the same with the media backend - so Jellyplist will be able to support other media backends like Navidrome, Plex, Emby and so on...
|
||
|
||
### 🆕New API Implementation for Spotify
|
||
As mentioned above, I needed a new way to get playlists.
|
||
Now, to get them , you don´t need an API Key to authenticate, you even don´t need to be authenticated at all. If you like to have Playlists recommended or created for you, you can use authentication via a cookie.
|
||
To do this, add a env var to you `.env` file:
|
||
```bash
|
||
SPOTIFY_COOKIE_FILE = '/jellyplist/spotify-cookie.txt'
|
||
```
|
||
And map the cookie from your local filesystem to the container path you´ve set in the `.env`file
|
||
```yaml
|
||
...
|
||
...
|
||
volumes:
|
||
- /your/local/path/open.spotify.com_cookies.txt:${SPOTIFY_COOKIE_FILE}
|
||
...
|
||
...
|
||
```
|
||
|
||
### 🆕Lidarr integration is here
|
||
To enable the Lidarr integration add these to your `.env` file
|
||
```bash
|
||
LIDARR_API_KEY = aabbccddeeffgghh11223344 # self explaining
|
||
LIDARR_URL = http://<your_lidarr_ip>:8686 # too
|
||
LIDARR_MONITOR_ARTISTS = false # If false, only the corresponding
|
||
# album will be set to monitored in lidarr, if true the whole artist
|
||
# will be set as monitored. Be careful in the beginning as you might
|
||
# hammer your lidarr instance and you indexers. Defaults to false
|
||
```
|
||
After you enabled Lidarr integration, make sure to go to _"Admin -> Lidarr"_ and set the default quality profile and music root folder.
|
||
|
||
With the Lidarr integration you get a nice workflow:
|
||
1. Add Playlist
|
||
2. Playlist gets downloaded via SpotDL and is available after some time
|
||
3. At some point (every hour on x:50) the requests to Lidarr are made.
|
||
4. Lidarr gets all files.
|
||
5. Once a day Jellyplist is doing a full update on all tracks, and searches for the same track but with a better quality profile.
|
||
|
||
### ⚠️ New required env var
|
||
Ensure to add `MUSIC_STORAGE_BASE_PATH` to your `.env` file.
|
||
```bash
|
||
MUSIC_STORAGE_BASE_PATH = '/storage/media/music' # The base path where
|
||
# your music library is located.
|
||
# Must be the same value as your music library in jellyfin
|
||
```
|
||
|
||
### Other changes, improvements and fixes
|
||
- UI/UX: The index page now has content. From there you can directly drop a playlist link
|
||
- UI/UX: The Search bar now works with the new API implementation
|
||
- UI/UX: A new `Browse All` (per Music Provider) Page from where you can discover playlists
|
||
- UI/UX: Check technical details on a track. Just doubleclick a row in the details view of a playlist.
|
||
- UI/UX: Allow to link a track even it´s not marked as downloaded.
|
||
- UI/UX: Reworked celery task management and the /admin/tasks UI |