Commit Graph

433 Commits

Author SHA1 Message Date
Moshe Sherman
fc79889665 play next (#278)
* add play next feature

* fix play_next insertion order

* fix play_next call for playable

* document play_next shortcut + reformat

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-10-04 16:58:55 +02:00
Moshe Sherman
7bf0cac6c0 handle last element removal in queue 2020-10-01 20:48:27 +02:00
Moshe Sherman
4e7ec60b0e disable repeat track if manualy skip song 2020-10-01 20:48:27 +02:00
Moshe Sherman
9872a10bfa adhere to repeat/shuffle settings on previous track 2020-10-01 20:48:27 +02:00
Moshe Sherman
181f5e4918 dont stop track 2020-10-01 20:48:27 +02:00
Moshe Sherman
77e5de562d Display album name for playable objects (#268)
* display album name

* give proper name to the space key

fixes #266

* use 50% for center offset

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-09-28 22:28:10 +02:00
Kemyt
cded15f50c Fix last tab to fill entire width correctly (#271)
Condition to check if the tab is the last one was never met.

Co-authored-by: Kemyt <kemyt4@gmail.com>
2020-09-24 09:13:37 +02:00
eulerfan271
9e970f5799 Added config option for bitrate (#270)
* added config option for bitrate

* updated README.md to include bitrate config options
2020-09-22 17:01:56 +02:00
Moshe Sherman
c4ec1a9122 give proper name to the space key
fixes #266
2020-09-16 08:56:50 +02:00
Henrik Friedrichsen
3893a6f5a0 add feature flag for song notifications
enables users/distributions to ship without dbus dependency
2020-09-07 23:50:45 +02:00
Henrik Friedrichsen
69f11cdcf7 gracefully handle error when showing notification
fixes #265
2020-09-07 23:38:37 +02:00
Henrik Friedrichsen
9be4ca8185 update to 0.2.2 2020-09-01 07:54:45 +02:00
pin
b5e718f5f6 Use libc for setlocale() to fix non-ASCII (#256)
* Use libc for setlocale() to fix non-ASCII

character printing.
https://github.com/hrkfdn/ncspot/issues/221

* move string instantiation outside unsafe block

update libc crate while at it

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-08-29 11:27:47 +02:00
Henrik Friedrichsen
6f7b64c908 cargo clippy 2020-08-23 21:00:29 +02:00
Henrik Friedrichsen
1edf28a165 make contextmenu aware of commands
e.g. to process vim-like keybindings for navigation

fixes #108, fixes #157, fixes #178, fixes #199, fixes #250
2020-08-23 20:44:03 +02:00
Henrik Friedrichsen
d2b9dffb54 fix: do not delete from empty queue
fixes #253
2020-08-21 00:13:54 +02:00
r4v3n6101
dce6b45472 Seek & SetPosition implementation 2020-08-20 18:12:34 +02:00
r4v3n6101
97d3468392 Fix trackid replacing string with d-bus path 2020-08-20 18:12:34 +02:00
Henrik Friedrichsen
e5bc12b1ba use cfg of spotify object
TODO:
- apply this to other single config values that are passed directly, e.g. in the
  statusbar
- use a more appropriate object to hold `cfg`
2020-08-18 23:06:41 +02:00
Ronak Buch
cc2b1ae183 Document existence of "notify" config value 2020-08-18 23:06:41 +02:00
Ronak Buch
097f59eb83 Add notifications 2020-08-18 23:06:38 +02:00
Henrik Friedrichsen
ea1856b312 fix: fetch playpack progress when position is queried
fixes #223 #236
2020-08-18 22:18:09 +02:00
Henrik Friedrichsen
bc8f117e86 update to latest dbus-rs library 2020-08-18 22:16:58 +02:00
Henrik Friedrichsen
aeef051cea update version to 0.2.1 2020-08-13 10:27:21 +02:00
Henrik Friedrichsen
59b1d0ea3e update dependencies 2020-08-12 14:46:44 +02:00
Henrik Friedrichsen
4f71b2489b implement command to reload config (#243)
* implement command to reload themes

* refresh keybindings after config reload
2020-08-12 01:12:08 +02:00
Henrik Friedrichsen
9e5e3f3089 add link to theme generator
closes #235
2020-08-02 11:37:12 +02:00
Henrik Friedrichsen
8d8c79616c cargo fmt 2020-07-31 22:23:03 +02:00
Henrik Friedrichsen
0f0c0e1383 fix save command parsing for parameterless values
fixes #231
2020-07-31 22:16:07 +02:00
Henrik Friedrichsen
90cc4ffb65 update to librespot 0.1.3 2020-07-31 21:47:54 +02:00
Bettehem
413703a310 Podcast support improvements. (#229)
* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.

* Added tags to .gitignore

* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.

* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.

* Changed xesam:url to default to an empty string instead of "0"

* Added possibility to start playing Shows and Episodes via MPRIS.
Added possibility to search for Podcast Episodes.
2020-07-26 11:29:43 +02:00
Henrik Friedrichsen
9adab923d5 update to librespot 0.1.2
- make use of new player events
- remove `--locked` install note as it should not be required anymore (#179, #190, #212)
- `cargo update` dependencies
2020-07-23 01:04:18 +02:00
Henrik Friedrichsen
5c1c84fd08 update from yanked smallvec 1.4.0 to 1.4.1 2020-07-18 00:02:08 +02:00
Henrik Friedrichsen
f0c42afc7d bump to version 0.2.0 2020-07-17 23:49:47 +02:00
Henrik Friedrichsen
628f131085 fix: enable skipping via mouse for podcast episodes 2020-07-17 23:48:33 +02:00
Bettehem
578d2b2f0c fix mpris metadata returing Spotify URI instead of an url in xesam:url field (#222)
* Added OpenUri D-BUS MPRIS support.
Removed "user:" from URIType check because Spotify doesn't always provide it.

* Added tags to .gitignore

* Changed mpris metadata to actually return the track's url instead of the Spotify URI so that it matches the functionality of the official Spotify client.

* Changed mpris:trackid and xesam:url to not use static naming so it can support podcasts.

* Changed xesam:url to default to an empty string instead of "0"
2020-07-14 21:30:14 +02:00
Henrik Friedrichsen
1b1d392ab8 podcast support (#203)
* implement search for shows/podcasts

* create Playable supertype for queue to contain tracks and episodes

* wip: implement playback of episodes

* load spotify id from uri instead of raw id to fix podcast playback

* show duration for podcast episodes

* implement generic status bar for playables (tracks and episodes)

omit saved indicator for now as the library does not yet support podcasts

* instead of only the last 50 fetch all episodes of a show

* refactor: extract Playable code to separate file

* implement playback/queuing of shows + sharing url

* implement podcast library

* migrate mpris code to Playable supertype
2020-07-14 10:38:22 +02:00
Henrik Friedrichsen
8bf06147e2 add libdbus-1-dev to debian dependency list
fixes #205
2020-07-10 21:21:59 +02:00
Henrik Friedrichsen
e3bb179c8b cursive-core to 0.1.1 2020-07-10 21:14:25 +02:00
Henrik Friedrichsen
bb89d189ae migrate to rspotify 0.10.0
in preparation for the future release with podcast API support
2020-07-10 21:10:56 +02:00
Henrik Friedrichsen
6f38c67ee3 fix: show checkmark for saved playlists instead of followed
`is_followed_playlist()` only works within the library context. In the search
view it almost always evaluates to `true` as most playlists are owned by other
users.

fixes #213
2020-07-08 22:27:24 +02:00
Daniel VG
99b495fa3c Fix "workarround" typo for "workaround" (#215)
See https://github.com/hrkfdn/ncspot/pull/214#issuecomment-653776631
2020-07-04 18:06:43 +02:00
Daniel VG
15b39dd8cb Add comment to use --locked (#214)
As described in: https://github.com/hrkfdn/ncspot/issues/212#issuecomment-652055797
2020-07-03 13:31:35 +02:00
Thomas Storey
e5419dae2d add methods and api usage to delete track from playlist (#211)
* wip: add methods and api usage to delete track from playlist

* enh: add ability to remove track from playlist with immediate visual feedback

* minor cosmetic changes

Co-authored-by: Henrik Friedrichsen <henrik@affekt.org>
2020-07-01 20:52:39 +02:00
Henrik Friedrichsen
ca1e8df361 minor dependency updates 2020-06-25 21:26:58 +02:00
Henrik Friedrichsen
a7b2a159a0 fall back to latest librespot release in preparation for release 2020-06-25 21:13:50 +02:00
Henrik Friedrichsen
4e9bfa16a2 Revert "migrate to rspotify 0.9-dev"
This reverts commit acc333460b.
2020-06-25 21:11:50 +02:00
Henrik Friedrichsen
03045ba256 Revert "switch to rspotify's new universal search method"
This reverts commit e55d0ac7ba.
2020-06-25 21:11:45 +02:00
Henry Snopek
0f08a56f90 [feat] add Command::Noop 2020-06-25 15:45:53 +02:00
Henry Snopek
d2eede2777 [feat] add Command::Help to command.parse 2020-06-25 11:09:48 +02:00