Bart De Vries
ed2d1ee2c8
Remove old, unused code
2021-04-21 14:53:03 +02:00
Bart De Vries
da456a19f9
Fix switch to next track on removing currently playing track from Queue
2021-04-21 14:53:02 +02:00
Bart De Vries
07afc98978
Consolidate all EntryDelegate actions
...
QueueDelegates and EntryListDelegates are now using the same actions
defined in GenericEntryDelegate.
2021-04-21 14:53:02 +02:00
Bart De Vries
1ceb5532b2
Close EntryPage when Entry is opened from Queue and Entry is removed from Queue
2021-04-21 14:53:02 +02:00
Bart De Vries
952dbdea5e
Refactor Queue and EntryList to use a GenericEntryDelegate
...
Still to be done is putting the actions into the GenericEntryDelegate
itself.
2021-04-21 14:53:02 +02:00
Bart De Vries
0bf3540dbd
Also add DBus as dependency for android
2021-04-21 14:53:02 +02:00
Bart De Vries
5026703bdd
Add contextual actions to EntryPage
2021-04-21 14:53:02 +02:00
Bart De Vries
9364a5b88f
Clean up old code in comments
2021-04-21 14:53:02 +02:00
Bart De Vries
05e03d20e3
Close entrypage when removing that item from queue when in queuepage
2021-04-21 14:53:02 +02:00
Bart De Vries
b2dd9961ed
Rework actions on queue, entrylist and entrypage
2021-04-21 14:53:02 +02:00
Bart De Vries
23b6b68500
Make sure that canGoNext is accurate when changing anything in queue
2021-04-21 14:53:02 +02:00
Bart De Vries
ecceb5c0fe
Make header on info page of PlayerControl slightly smaller
2021-04-21 14:53:02 +02:00
Bart De Vries
5f4a24a11d
Refactor adding/removing to queue
...
All adding and removing should now go through the entry itself, using
queueStatus.
2021-04-21 14:53:02 +02:00
Bart De Vries
f681ef0f4f
Change to inline header for EntryPage
...
This includes a minor update to GenericListHeader
2021-04-21 14:53:02 +02:00
Bart De Vries
7a3cd64c6b
Add "addToQueue" action for entry if relevant
2021-04-21 14:53:02 +02:00
Bart De Vries
f5930c8399
Make sure that queue status of items is correct
2021-04-21 14:53:02 +02:00
Bart De Vries
7113b23530
Add title to entry description on PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
5a3a5f40d1
Use header on EntryPage
2021-04-21 14:53:02 +02:00
Bart De Vries
8abbae4772
Refactor to re-usable header for list and details pages
2021-04-21 14:53:02 +02:00
Bart De Vries
97d8e8290a
Change default visible action on EntryListDelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
28b47f6a4b
Refactor addToQueue and change visible actions on EntryListDelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
015851287d
Only enable one visible action on queuedelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
d17b422547
Also add playProgressBar to EntryListDelegate
2021-04-21 14:53:02 +02:00
Bart De Vries
00a9d75c33
Make sure that duration and position labels are readable on resize
2021-04-21 14:53:02 +02:00
Bart De Vries
2e118d9a7e
Make sure that canGoNext status is still accurate when queue items have been moved around
2021-04-21 14:53:02 +02:00
Bart De Vries
401f12c02d
Adapt spacing of controls on PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
4edacbc5e8
Make drawer handles disappear when PlayerControls are opened
2021-04-21 14:53:02 +02:00
Bart De Vries
6eca639ce4
Add button to close PlayerControls
2021-04-21 14:53:02 +02:00
Bart De Vries
97bed3def8
Add playProgress progressbar to entry items in queue
2021-04-21 14:53:02 +02:00
Bart De Vries
c158222d33
Delete old commented code and minor restructuring
2021-04-21 14:53:02 +02:00
Bart De Vries
5edc0b0f3e
Fix drawer handles getting in the way of the miniplayer
2021-04-21 14:53:02 +02:00
Bart De Vries
364dd52f9a
Implement swipe to open/close miniplayer/full player
2021-04-21 14:53:02 +02:00
Bart De Vries
0d778c2a47
Add missing bit for MPRIS taskbar progress (which still doesn't work)
2021-04-21 14:53:02 +02:00
Bart De Vries
49baa7915b
More elegant solution for setting MPRIS2 audio duration when changing tracks
2021-04-21 14:53:02 +02:00
Bart De Vries
a624040ef3
Make player robust against having no track loaded at end of queue
2021-04-21 14:53:02 +02:00
Bart De Vries
8c1295372a
Fix enclosure status
...
Enclosure wasn't checking if file existed on disk. Hence, if the
enclosure was reporting a file size of 0 (which matches the non-existent
file size, then it would set the status incorrectly to Enclosure::Downloaded.
2021-04-21 14:53:02 +02:00
Bart De Vries
65c5a16dc8
Expose duration from Enclosure
2021-04-21 14:53:02 +02:00
Bart De Vries
f85dbd0572
Remove episodes from queue once they've been fully played
2021-04-21 14:53:02 +02:00
Bart De Vries
b2ba953a33
Mark fully played episodes as read
2021-04-21 14:53:02 +02:00
Bart De Vries
2f389e02aa
Move some buttons around to more logical places
2021-04-21 14:53:02 +02:00
Bart De Vries
32f01b03bd
Enable next button in Player
...
This functionality has safeguards built in, including a canGoNext
property.
This can be extended with streaming playing in the future.
2021-04-21 14:53:02 +02:00
Bart De Vries
3cc8eeffb4
Solve problem with MPRIS2 handles not working
...
This only happened when no track was loaded at startup.
According to the MPRIS2 spec, a special "properties changed" signal
needs to be sent.
2021-04-21 14:53:02 +02:00
Bart De Vries
2afc8803f8
Final(?) step of cleaning up MPRIS2 implementation
2021-04-21 14:53:02 +02:00
Bart De Vries
3e79321c90
Solve a few remaining problems with MPRIS2
...
Now the application doesn't crash anymore if no track is loading on
startup.
Seeking through MPRIS2 also works again.
2021-04-21 14:53:02 +02:00
Bart De Vries
60330608ac
Refactor the MPRIS2 MediaPlayer2.Player implementation
...
Changed most items to refer to the underlying AudioManager methods and
signals.
WIP: Still need to check the ProgressOnTaskBar stuff.
2021-04-21 14:53:02 +02:00
Bart De Vries
7c4658db2d
Change implementation of seekable in AudioManager
...
We cannot simply pass on the value from the underlying QMediaPlayer,
since it is not reliable (see hacks concerning restoring startup player
position). Instead we keep track of it ourselves and send out the
signal in the proper places.
2021-04-21 14:53:02 +02:00
Bart De Vries
21feef8ce0
Refactor to use skipForward and skipBackward
...
This is done to make the distinction between skipping time and changing
track.
2021-04-21 14:53:02 +02:00
Bart De Vries
791c25ad19
Use next() and previous() in PlayerControl
...
Also change to std::min and std::max for the implementation of next and
previous.
2021-04-21 14:53:02 +02:00
Bart De Vries
2aa237342c
Minor tweak to let MPRIS2 load the correct track info on startup
...
It's still crashing without a proper track being loaded on startup.
Still needs to be resolved.
2021-04-21 14:53:02 +02:00
Bart De Vries
c7164b3f6b
Refactor audiomanager to be closer to MPRIS2 interface
2021-04-21 14:53:02 +02:00