Commit graph

266 commits

Author SHA1 Message Date
ronaldheft
85382d2bb4 Fix incorrect logic for checking if progress object exists 2022-08-21 11:34:23 -04:00
ronaldheft
872931f507 Guard against player actions before player is initialized 2022-08-21 11:05:16 -04:00
ronaldheft
f335d8735f Fix progress sync not updating playback object 2022-08-21 10:59:43 -04:00
ronaldheft
fca0fd7bbb Remove dead code 2022-08-20 10:28:39 -04:00
ronaldheft
a461ed43de Finish cleaning up some refactors 2022-08-20 10:15:45 -04:00
ronaldheft
972fbd42ee Refactor and clean up sync logic 2022-08-19 23:00:40 -04:00
ronaldheft
062a217946 Fix more edge cases on player initialization 2022-08-19 22:15:06 -04:00
ronaldheft
a59f3bb957 Fix player reporting currentTime=0 2022-08-19 21:20:53 -04:00
ronaldheft
93cb27d324 Fix player session restoration events 2022-08-19 16:36:56 -04:00
ronaldheft
bf46c46fc0 Fix race conditions on first launch 2022-08-18 19:31:32 -04:00
ronaldheft
af835f2c43 Persist playback settings 2022-08-18 19:01:10 -04:00
ronaldheft
e9226671c9 Fix updatedAt not updating 2022-08-18 17:38:01 -04:00
ronaldheft
5fd3f3c080 Sync player session with server media progress 2022-08-18 17:08:41 -04:00
ronaldheft
519969eee0 Restore playback session on startup 2022-08-18 16:20:28 -04:00
ronaldheft
2912d442b5 Clean up progress syncing in PlayerHandler 2022-08-18 15:56:25 -04:00
ronaldheft
a82474cf45 Fix server media progress JSON decoding 2022-08-18 15:55:50 -04:00
ronaldheft
add64249cd Times in milliseconds 2022-08-17 20:42:53 -04:00
ronaldheft
d3172ece9b Fix missing metadata 2022-08-17 20:42:45 -04:00
ronaldheft
f655f89c49 Fix missing fields in PlaybackSession 2022-08-17 19:43:11 -04:00
ronaldheft
911e46c4f0 Fix crash when offline 2022-08-16 21:57:34 -04:00
ronaldheft
ec4647e2bc Handle server success 2022-08-16 21:36:09 -04:00
ronaldheft
10f2da9e90 Fix progress syncing 2022-08-16 21:14:33 -04:00
ronaldheft
6aa0f2253b Sync offline playback progress 2022-08-16 20:45:29 -04:00
ronaldheft
7c5ee940d3 Merge branch 'master' into ios-downloads 2022-08-16 16:56:47 -04:00
ronaldheft
d83e04c47b Refactor storage model to work with native Realm 2022-08-16 16:53:47 -04:00
ronaldheft
b0905d0270 Fix crashes related to Realm threading 2022-08-16 12:32:22 -04:00
ronaldheft
ac2a1ce079 Provide DAO methods for Realm objects 2022-08-15 17:00:22 -04:00
ronaldheft
5d31499fd6 Fix the downloader for using Realm native 2022-08-14 22:20:24 -04:00
ronaldheft
4c8217edf6 Fix merge conflict errors 2022-08-14 18:22:50 -04:00
ronaldheft
934a07a5ad Merge branch 'ios-downloads' into ios-downloads-realm-native 2022-08-14 17:48:31 -04:00
ronaldheft
7aae1edf3c Fix incorrect downloadUrl 2022-08-14 16:11:22 -04:00
ronaldheft
1f8a8d1ce5 Make timer easier to start for the future 2022-08-13 12:56:02 -04:00
ronaldheft
e0e2f02e0b Fix all kinds of syncing errors 2022-08-13 12:41:20 -04:00
ronaldheft
c029e519e9 Sync local progress to front-end 2022-08-13 10:28:28 -04:00
ronaldheft
ef661bba37 Sync local progress with server progress 2022-08-12 23:11:09 -04:00
ronaldheft
8d38f3358e API functions to sync local progress 2022-08-12 21:58:54 -04:00
ronaldheft
f4e39ec7ca Functions to update local progress 2022-08-11 20:38:51 -04:00
advplyr
03a47b06ee Fix:iOS sleep timer chapter end #291 2022-08-11 18:49:04 -05:00
ronaldheft
c32c77b963 Fix player display on local media 2022-08-11 18:34:59 -04:00
ronaldheft
9477860bca Working local file playback 2022-08-11 18:29:55 -04:00
ronaldheft
64707b0928 Support local media progress 2022-08-11 16:26:32 -04:00
ronaldheft
a107a25e43 Fix downloading in progress books 2022-08-11 16:11:53 -04:00
ronaldheft
0a989e7811 Handle deleting podcast episodes 2022-08-11 15:36:25 -04:00
ronaldheft
60cb5f398c Handle deleting library items 2022-08-11 14:12:45 -04:00
ronaldheft
8edeefc1cd Prevent iCloud backups of downloads 2022-08-11 13:46:30 -04:00
ronaldheft
999d434fe9 Fix download item not clearing for podcasts 2022-08-11 12:58:47 -04:00
ronaldheft
2b07c81e54 Use book/podcast helper 2022-08-11 12:32:58 -04:00
ronaldheft
5f4ff38035 Support downloading new podcast episodes 2022-08-11 12:30:45 -04:00
ronaldheft
599a8e23cb Fix podcast episode downloading 2022-08-11 11:20:17 -04:00
ronaldheft
7d730dcafb Fix optionals 2022-08-10 22:56:42 -04:00
ronaldheft
446e54cb91 Fix data model issues 2022-08-10 22:17:12 -04:00
ronaldheft
a9d7fbc083 Convert objects to realm-native 2022-08-10 17:09:49 -04:00
ronaldheft
a3e458fcc4 Make server config thread-safe 2022-08-10 17:08:19 -04:00
ronaldheft
e9961f64a9 Handle a documents directory that can change
Thanks iOS
2022-08-08 19:25:59 -04:00
ronaldheft
948cd3068a Fix more race conditions with progress reporting 2022-08-08 13:47:37 -04:00
ronaldheft
b1b10e846d Somewhat working progress under heavy load 2022-08-07 21:02:25 -04:00
ronaldheft
ad802c16ea Remove blocking realmQueue 2022-08-07 17:46:13 -04:00
ronaldheft
5b7fcca800 Support downloading covers and podcast episodes 2022-08-07 11:23:50 -04:00
ronaldheft
b549528e23 Handle download complete lifecycle 2022-08-07 10:27:08 -04:00
ronaldheft
5495bcb945 Starting logic for handling completed downloads 2022-08-06 21:32:04 -04:00
ronaldheft
7fded5e105 Cleanup progress handling 2022-08-06 21:12:21 -04:00
ronaldheft
dc8bc2fccd Clean up progress logic 2022-08-06 18:31:59 -04:00
ronaldheft
af2c609405 Report download progress to the UI 2022-08-06 18:21:11 -04:00
ronaldheft
d5d65e244b Rewrite downloader to use delegate and download item 2022-08-06 10:11:46 -04:00
ronaldheft
33041608f8 Switch to async logic 2022-08-04 18:25:27 -04:00
ronaldheft
e02edb9f9e Fix field collision 2022-08-02 21:05:28 -04:00
ronaldheft
37fa931672 Don't save in database until download is complete 2022-08-02 17:32:40 -04:00
ronaldheft
a7424cc428 Fix persisting active config 2022-08-02 17:10:45 -04:00
ronaldheft
f6c43e479d Rewrite of object model to use Unrealm
This addresses issues with JSON serialization
2022-08-01 09:40:28 -04:00
ronaldheft
0b46a9c9b1 Begin handling playback of local media 2022-07-31 13:33:36 -04:00
ronaldheft
76de92fe1f Fix id typos 2022-07-30 18:40:30 -04:00
ronaldheft
32550a75ec Return local items on DB lookup 2022-07-30 18:25:20 -04:00
ronaldheft
9eca03cfd7 Configure more local file data 2022-07-30 17:21:50 -04:00
ronaldheft
fec1ec554b feat: Populate LocalFile with real info 2022-07-30 16:22:41 -04:00
ronaldheft
db7a8cef77 Merge branch 'master' into ios-downloads 2022-07-30 15:16:58 -04:00
advplyr
073110376a Fix:iOS sending multiple sync requests at the same time, Update:iOS sync every 5s 2022-07-28 19:30:18 -05:00
Sam Bloomingdale
d52c326123 add 'Alternative Bookshelf View' setting 2022-07-27 12:58:06 -05:00
ronaldheft
2ab9dbc72d Set encoder and init methods 2022-07-17 21:50:19 -04:00
ronaldheft
52d0890032 Refactor to use extensions for objects 2022-07-16 21:46:49 -04:00
ronaldheft
b7725c455b Prototype response to app 2022-07-16 20:25:04 -04:00
ronaldheft
175e642081 First pass at attempting to save library items 2022-07-09 18:37:32 -04:00
ronaldheft
e620f53705 Get something saving in the database 2022-07-09 17:35:59 -04:00
ronaldheft
f40da562a6 Fix missing braces 2022-07-09 15:18:45 -04:00
ronaldheft
affcdea09b Fix class name collisions 2022-07-09 15:18:34 -04:00
ronaldheft
16ca7460f4 Convert back to Swift objects 2022-07-09 15:18:15 -04:00
benonymity
2ca9ce797d feat: iOS download groundwork 2022-07-06 10:09:17 -04:00
advplyr
b5c6acc2bc Add:iOS device settings for jump forward/backward 2022-07-02 18:29:41 -05:00
advplyr
f4be9b3e26 Update:Pass device info with play request 2022-06-04 16:36:49 -05:00
advplyr
d626686614 Add start of downloading library item on iOS 2022-05-14 11:50:53 -05:00
advplyr
736e57fafd Add:Fallback to transcode when direct play fails, and send playback failed event to client 2022-05-06 18:17:45 -05:00
Rasmus Krämer
0708133779
Fixed crash 2022-05-03 15:01:30 +02:00
Rasmus Krämer
ac71d39265
Merge branch 'master' of https://github.com/advplyr/audiobookshelf-app into advplyr-master 2022-05-03 14:41:46 +02:00
Rasmus Krämer
4203654ec8
Added sleep timer 2022-05-03 14:32:46 +02:00
Rasmus Krämer
9701c767b2
Small improvements 2022-05-03 12:55:13 +02:00
advplyr
a3aac4da75 Update: iOS AudioPlayer direct play with multi-track using AVQueuePlayer 2022-05-01 12:19:31 -05:00
Rasmus Krämer
394363c8cb
Send report when playback ends 2022-04-30 10:58:08 +02:00
advplyr
e03f878865 iOS fix: Logging out when player is open crashing because server config is nil, added nil check in Api requests 2022-04-28 18:05:33 -05:00
benonymity
81ca757c77 Book-Podcast combination, optional fixes 2022-04-25 00:15:44 -04:00
Ben
7189588c2b
Merge branch 'advplyr:master' into DataClasses 2022-04-24 22:47:48 -04:00
advplyr
729e959506 iOS fix crash when playing item if player is already open, persist playback rate between playbacks, version bump 0.9.42 2022-04-23 15:40:18 -05:00
benonymity
4d0d1eb88f New Data Classes 2022-04-22 20:31:45 -04:00
Rasmus Krämer
2f8e30accb
Fixed closePlayback 2022-04-18 12:11:29 +02:00
advplyr
3f2b3f2e9c iOS fix infinite loop in AVPlayer observer 2022-04-16 10:35:48 -05:00
Rasmus Krämer
03c3f37e1e
added removeServerConnectionConfig method 2022-04-15 13:01:58 +02:00
Rasmus Krämer
363bfd206c
Sync playback position (online only) 2022-04-15 12:21:46 +02:00
Rasmus Krämer
29fd29728a
support multiple servers 2022-04-15 10:16:11 +02:00
Rasmus Krämer
7a9f6ff2ca
Added basic player methods 2022-04-14 14:39:09 +02:00
Rasmus Krämer
6c65c8a33e
Fixed metatdata 2022-04-14 12:24:27 +02:00
Rasmus Krämer
736af85855
Improved realm thread and added http client 2022-04-14 11:54:53 +02:00
Rasmus Krämer
239938e069
Added PlaybackSession 2022-04-12 14:28:47 +02:00
Rasmus Krämer
782f11ff28
Implemented missing methods 2022-04-11 18:50:25 +02:00
Rasmus Krämer
6de4626239
Login is now working 2022-04-11 18:31:14 +02:00
Rasmus Krämer
a0ee82bb31
added thread warning 2022-04-11 16:30:13 +02:00
Rasmus Krämer
c0ac3b7bb5
Added realm 2022-04-11 16:29:19 +02:00
Rasmus Krämer
bf3a97523d Added scheme 2022-04-11 11:27:31 +02:00
Rasmus Krämer
f98aea71cb - Changes icon
- Improved state sync
- Moved player to shared
2022-03-28 22:09:43 +02:00