You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
closes#520closes#579closes#580
- upgrade dependencies. Main change involves the migration to `librespot v0.5.0`
- migrate authentication workflow to OAuth implemented in (librespot-org/librespot#1309)
## Next step
- handle Spotify Connect with user-provided `client_id`
Co-authored-by: Julia Mertz <info@juliamertz.dev>
Co-authored-by: Thang Pham <phamducthang1234@gmail.com>
Copy file name to clipboardexpand all lines: README.md
-4
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,6 @@
3
3
## Table of Contents
4
4
5
5
-[Introduction](#introduction)
6
-
-[Important Notice](#important-notice)
7
6
-[Examples](#examples)
8
7
-[Installation](#installation)
9
8
-[Features](#features)
@@ -41,9 +40,6 @@
41
40
- Support running the application as [a daemon](#daemon)
42
41
- Offer a wide range of [CLI commands](#cli-commands)
43
42
44
-
## Important Notice
45
-
spotify-player throws error "Login failed with reason: Bad credentials" when authenticating from 7/29/2024 because Spotify removed username & password authentication from API through Mercury/Hermes. Please use [librespot-auth repository](https://github.com/dspearson/librespot-auth). For more details, see [#580](https://github.com/aome510/spotify-player/issues/580)
46
-
47
43
## Examples
48
44
49
45
A demo of `spotify_player``v0.5.0-pre-release` on [youtube](https://www.youtube.com/watch/Jbfe9GLNWbA) or on [asciicast](https://asciinema.org/a/446913):
|`client_id`| the Spotify client's ID |`65b708073fc0480ea92a077233ca87bd`|
28
-
|`client_id_command`| a shell command that prints the Spotify client ID to stdout (overrides `client_id`) |`None`|
28
+
|`client_id_command`| a shell command that prints the Spotify client ID to stdout (overrides `client_id`) |`None`|
29
29
|`client_port`| the port that the application's client is running on to handle CLI commands |`8080`|
30
30
|`tracks_playback_limit`| the limit for the number of tracks played in a **tracks** playback |`50`|
31
-
|`playback_format`| the format of the text in the playback's window |`{status} {track} • {artists}\n{album}\n{metadata}`|
31
+
|`playback_format`| the format of the text in the playback's window |`{status} {track} • {artists}\n{album}\n{metadata}`|
32
32
|`notify_format`| the format of a notification (`notify` feature only) |`{ summary = "{track} • {artists}", body = "{album}" }`|
33
33
|`notify_timeout_in_secs`| the timeout (in seconds) of a notification (`notify` feature only) |`0` (no timeout) |
34
34
|`player_event_hook_command`| the hook command executed when there is a new player event |`None`|
@@ -44,9 +44,9 @@ All configuration files should be placed inside the application's configuration
44
44
|`enable_cover_image_cache`| store album's cover images in the cache folder |`true`|
45
45
|`notify_streaming_only`| only send notification when streaming is enabled (`streaming` and `notify` feature only) |`false`|
46
46
|`default_device`| the default device to connect to on startup if no playing device found |`spotify-player`|
47
-
|`play_icon`| the icon to indicate playing state of a Spotify item |`▶`|
47
+
|`play_icon`| the icon to indicate playing state of a Spotify item |`▶`|
48
48
|`pause_icon`| the icon to indicate pause state of a Spotify item |`▌▌`|
49
-
|`liked_icon`| the icon to indicate the liked state of a song |`♥`|
49
+
|`liked_icon`| the icon to indicate the liked state of a song |`♥`|
50
50
|`border_type`| the type of the application's borders |`Plain`|
51
51
|`progress_bar_type`| the type of the playback progress bar |`Rectangle`|
52
52
|`cover_img_width`| the width of the cover image (`image` feature only) |`5`|
@@ -93,17 +93,17 @@ If specified, `player_event_hook_command` should be an object with two fields `c
93
93
94
94
A player event is represented as a list of arguments with either of the following values:
95
95
96
-
-`"Changed" OLD_TRACK_ID NEW_TRACK_ID`
97
-
-`"Playing" TRACK_ID POSITION_MS DURATION_MS`
98
-
-`"Paused" TRACK_ID POSITION_MS DURATION_MS`
96
+
-`"Changed" NEW_TRACK_ID`
97
+
-`"Playing" TRACK_ID POSITION_MS`
98
+
-`"Paused" TRACK_ID POSITION_MS`
99
99
-`"EndOfTrack" TRACK_ID`
100
100
101
101
**Note**: if `args` is specified, such arguments will be called before the event's arguments.
102
102
103
-
For example, if `player_event_hook_command = { command = "a.sh", args = ["-b", "c", "-d"] }`, upon receiving a `Changed` event with `OLD_TRACK_ID=x`, `NEW_TRACK_ID=y`, the following command will be run
103
+
For example, if `player_event_hook_command = { command = "a.sh", args = ["-b", "c", "-d"] }`, upon receiving a `Changed` event with `NEW_TRACK_ID=id`, the following command will be run
104
104
105
105
```shell
106
-
a.sh -b c -d Changed x y
106
+
a.sh -b c -d Changed id
107
107
```
108
108
109
109
Example script that reads event's data from arguments and prints them to a file:
@@ -114,9 +114,9 @@ Example script that reads event's data from arguments and prints them to a file:
`spotify_player` uses the `theme.toml` config file to look for user-defined themes.
@@ -286,7 +287,7 @@ key_sequence = "q"
286
287
287
288
## Actions
288
289
289
-
Actions are located in the same `keymap.toml` file as keymaps. An action can be triggered by a key sequence that is not bound to any command. Once the mapped key sequence is pressed, the corresponding action will be triggered. By default actions will act upon the currently selected item, you can change this behaviour by setting the `target` field for a keymap to either `PlayingTrack` or `SelectedItem`.
290
+
Actions are located in the same `keymap.toml` file as keymaps. An action can be triggered by a key sequence that is not bound to any command. Once the mapped key sequence is pressed, the corresponding action will be triggered. By default actions will act upon the currently selected item, you can change this behaviour by setting the `target` field for a keymap to either `PlayingTrack` or `SelectedItem`.
290
291
a list of actions can be found [here](../README.md#actions).
0 commit comments