Commit Graph

24 Commits

Author SHA1 Message Date
Henrik Friedrichsen
98e572169b Implement track preloading
Will preload the next track close to the end of the currently playing
track. Should make playback of queued tracks a little smoother.
2021-04-11 15:54:32 +02:00
Henrik Friedrichsen
8013609d0e recreate librespot session when it's invalid
initial attempt to handle #192
2020-06-13 20:23:28 +02:00
Henrik Friedrichsen
dccb36d8e7 update to rust edition 2018 + bump version 2020-03-15 11:06:24 +01:00
Henrik Friedrichsen
0eea154400 update dependencies 2019-10-09 22:48:17 +02:00
KoffeinFlummi
3f57111b7e Handle keybindings immediately 2019-04-02 08:30:15 +02:00
Henrik Friedrichsen
4f8342da83 refactorial spring cleaning (cargo fmt + clippy) 2019-03-26 20:51:39 +01:00
Henrik Friedrichsen
9842b89457 remove obsolete events and callbacks 2019-03-17 22:14:59 +01:00
Henrik Friedrichsen
a5d00730ea implement playlist caching 2019-03-14 20:34:13 +01:00
Henrik Friedrichsen
13ef40254e Merge branch 'wip_event_redraw' into develop 2019-03-10 21:56:35 +01:00
KoffeinFlummi
fcf28183bc Add a vim-style command line 2019-03-09 15:04:02 +01:00
Henrik Friedrichsen
392e3efb87 turn off autorefresh and redraw only on demand
this should significantly reduce CPU usage but is a little bit more complicated.
while we're at it, remove the different screen redraw events and use a combined
event for all screens.

TODO:
the spotify player still needs to update the statusbar at least every second.
2019-03-09 01:55:55 +01:00
Henrik Friedrichsen
2162a52544 use Cursive::noop 2019-03-09 00:32:48 +01:00
Henrik Friedrichsen
0b14fc5da7 transform simple queue to a preserving, more complex kind
this is a pretty big but necessary change and might not be stable yet.

some key points:
- the queue is now responsible for playback controls and track management, as
this was scattered between the queue and spotify objects.
- because the queue is now retained, it should be easier to save it as a
spotify playlist

closes #12
2019-03-06 23:59:33 +01:00
Henrik Friedrichsen
91e89c2970 introduce track data class 2019-03-06 00:15:28 +01:00
KoffeinFlummi
7a24eca809 Add main layout view and status bar
Fix #4
2019-03-05 19:18:36 +01:00
Felipe Sere
7d948707fe Load playlists only when opening the playlist screen 2019-03-04 17:31:04 +00:00
Henrik Friedrichsen
9507add6a4 more refined queue events + playlist delete binding
- move from listview to linearlayout + scrollview
- doesn't redraw the whole view on queue changes anymore
- uses new cursive functions for linearlayout (needs cursive git)

closes #3
2019-03-04 00:56:34 +01:00
Henrik Friedrichsen
19ae8fcbfc rename player events 2019-03-04 00:29:48 +01:00
Henrik Friedrichsen
c60324af61 cargo fmt 2019-03-02 18:39:58 +01:00
Henrik Friedrichsen
5a1c7dff69 fix some warnings 2019-03-02 18:38:10 +01:00
Henrik Friedrichsen
3d1673a7a4 add global play/pause/stop buttons + necessary state logic 2019-03-02 18:37:56 +01:00
Henrik Friedrichsen
70d68f8854 cargo fmt 2019-02-27 23:12:43 +01:00
Henrik Friedrichsen
d73a3c144e always trigger a cursive event when a queue event is generated 2019-02-27 23:12:09 +01:00
Henrik Friedrichsen
d3c439342a introduce global event sink to trigger updates across threads 2019-02-27 22:50:31 +01:00