Henrik Friedrichsen
8dbfbf104f
start with queue view initially
2019-03-14 19:43:30 +01:00
KoffeinFlummi
ea08608eec
Refactor DBus server, implement PropertiesChanged
2019-03-12 16:40:21 +01:00
Henrik Friedrichsen
c7ebe39453
add keybinding for previous track
2019-03-11 22:36:31 +01:00
KoffeinFlummi
9db8d0fcb3
Implement MPRIS D-Bus spec
2019-03-11 21:24:25 +01:00
Henrik Friedrichsen
cf31b2204a
trigger redraw every 400ms while playing to keep statusbar in sync
2019-03-11 01:07:21 +01:00
Henrik Friedrichsen
13ef40254e
Merge branch 'wip_event_redraw' into develop
2019-03-10 21:56:35 +01:00
Henrik
57893be64d
Merge pull request #26 from andrewhalle/remove-log-file
...
turn off writing log to file
2019-03-10 21:37:57 +01:00
Henrik Friedrichsen
fa56b03133
attempt to reconstruct search term
2019-03-10 21:29:56 +01:00
Andrew Halle
d4c882768a
turn off writing to file, but leave the file writing stuff for possible command line arguments later
2019-03-09 10:04:07 -08: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
4776375f68
re-order screens
2019-03-08 10:58:25 +01:00
Henrik Friedrichsen
75fd57108e
add 'clear playlist' keybinding
2019-03-08 00:23:03 +01:00
Henrik Friedrichsen
82f10fccde
download playlist once at startup and keep it in memory
2019-03-08 00:13:45 +01:00
Henrik Friedrichsen
502ac36de3
get rid of the panel wrapper for more space
...
the screen title is now displayed by the layout
2019-03-07 22:34: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
0f3cc41115
cargo fmt
2019-03-05 23:26:23 +01:00
KoffeinFlummi
7a24eca809
Add main layout view and status bar
...
Fix #4
2019-03-05 19:18:36 +01:00
Henrik Friedrichsen
92811a2ce3
use scrollview in linearlayout for playlist items
...
this approach is more flexible for future additions, e.g. further callbacks such
as playlist deletion.
2019-03-04 19:13:39 +01:00
Felipe Sere
7d948707fe
Load playlists only when opening the playlist screen
2019-03-04 17:31:04 +00:00
Felipe Sere
99674a5ac0
Implement basic playlist that simply queues songs
2019-03-04 16:41: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
Ben Kimock
c23956bcbd
don't panic on missing/invalid config file, try to be helpful instead
2019-03-03 13:14:15 -05:00
Henrik Friedrichsen
b8d60917b4
hardcore client id
2019-03-03 15:46:15 +01:00
Henrik Friedrichsen
a562f0b7a7
implement custom track button view ( closes #2 )
2019-03-03 00:16:17 +01:00
Henrik Friedrichsen
0667b9ab65
remove unused status bar bits
2019-03-02 19:50:29 +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
Henrik Friedrichsen
f21e3b0bca
wrap logview in ScrollView
2019-02-27 22:50:06 +01:00
Henrik Friedrichsen
862f835164
remove crossbeam-channel
2019-02-26 23:32:09 +01:00
Henrik Friedrichsen
212132c2c3
take control of cursive event loop, may be useful later
2019-02-26 23:31:47 +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
6da617cf42
consume next queue entry after finishing current track
2019-02-10 21:13:43 +01:00
Henrik Friedrichsen
f75c6fbbb8
wrap queue in arc<mutex<>> as it needs to mutable across threads
2019-02-10 21:00:12 +01:00
Henrik Friedrichsen
0b26c5411c
initial track queue implementation
2019-02-09 16:05:33 +01:00
Henrik Friedrichsen
4ae9e80acc
implement initial screen logic
2019-01-06 16:07:35 +01:00
Henrik Friedrichsen
f1ec67db0c
cleanups + make search results scrollable
2018-12-23 20:23:10 +01:00
Henrik Friedrichsen
278bb7844f
implement track search and playback
2018-12-23 12:44:40 +01:00
Henrik Friedrichsen
ae1cb96385
implement thread-safe logging to a vector of strings
...
this can later be used for a "log window"
2018-11-20 23:15:51 +01:00
Henrik Friedrichsen
a94a949d9e
add web api facilities
2018-11-11 15:17:22 +01:00
Henrik Friedrichsen
8ddf4498ba
initial commit
2018-11-11 00:01:00 +01:00