Commit Graph

16 Commits

Author SHA1 Message Date
KoffeinFlummi
5a85619105 Add rebindable keys, refactor lists 2019-03-17 04:29:29 +01:00
KoffeinFlummi
9db8d0fcb3 Implement MPRIS D-Bus spec 2019-03-11 21:24:25 +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
75fd57108e add 'clear playlist' keybinding 2019-03-08 00:23:03 +01:00
Henrik Friedrichsen
b075c96134 update current_track when tracks before the current one are removed
also:
don't use events to update the queue UI
this makes the Add/Remove queue events useless, but we'll keep them for now

hopefully fixes #22
2019-03-07 17:33:45 +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
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
a562f0b7a7 implement custom track button view (closes #2) 2019-03-03 00:16:17 +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
Henrik Friedrichsen
bebc6175cc cargo fmt 2019-02-26 23:32:38 +01:00
Henrik Friedrichsen
204cb18410 implement preliminary queue view
this approach needs some (re)work, as the UI is not fully sync'd with the data,
yet. it'd probably be better to have an event system triggered by the queue,
that will cause a UI refresh or similar.
2019-02-26 23:30:16 +01:00
Henrik Friedrichsen
b06b6bc15b rustfmt 2019-02-26 21:34:20 +01:00
Henrik Friedrichsen
0b26c5411c initial track queue implementation 2019-02-09 16:05:33 +01:00