Commit graph

860 commits

Author SHA1 Message Date
Jackson Harper
37beb3f9c9 Add a little padding between title/author 2022-09-16 16:29:50 +08:00
Jackson Harper
899cd406e8
Merge pull request #1204 from omnivore-app/fix/ios16-lookup-menu
Update to handle iOS16 menus
2022-09-16 16:15:46 +08:00
Jackson Harper
d3099e8611 Update to handle iOS16 menus
On iOS16 the way context menus are built is slightly changed, this
was causing "Look up" to be removed from our menu.
2022-09-16 16:10:40 +08:00
Jackson Harper
da7ec3f5d4 Remove label top padding as these are spaced now 2022-09-15 17:23:28 +08:00
Jackson Harper
1a338e8854 Reset the scrub state after seeking 2022-09-15 15:54:39 +08:00
Jackson Harper
fd2df9f926 Dont scroll the miniplayer when the user is scrubbing audio 2022-09-15 15:54:21 +08:00
Jackson Harper
e1f28ec189 Remove extra top padding on feedcards, this is applied by the HStack spacing 2022-09-15 15:46:20 +08:00
Jackson Harper
9c3b9f0523 Dont update the scrub state from the timer
This prevents the slider from jumping back during a seek operation.
2022-09-15 15:18:50 +08:00
Jackson Harper
fa9780722f Only update nowPlaying data if the timeElapsed is accurately calculated 2022-09-15 14:08:15 +08:00
Jackson Harper
de73c81345 Pause player before seeking into another player item. fireTimer if seeking within 2022-09-15 14:07:37 +08:00
Jackson Harper
fcd52cf149 Remove debug 2022-09-15 14:05:32 +08:00
Jackson Harper
460ba07e30 Update UI after seeking, dont try to detect end of stream using currentTime
This helps with two issues:
- after seeking sometimes you will see the loading spinner even
after audio has resumed.

- sometimes if we are still pulling data we might detect that
we are at the end of the stream.
2022-09-15 13:42:48 +08:00
Jackson Harper
bc0f2f1b97 Clean up memory handling in the audio controller
Ideally this wouldn't need a ref to the synthesizer either.
2022-09-14 22:10:12 +08:00
Jackson Harper
01eb7bc451 Make sure we access currentViewer on the main thread 2022-09-14 17:45:29 +08:00
Satindar Dhillon
eab6911bcb mask bottom of mini player safe area so list view doesn't peek through there 2022-09-13 08:39:23 -07:00
Satindar Dhillon
28826970fc dismiss current reader view when tapping view article from audio sheet 2022-09-13 08:10:04 -07:00
Jackson Harper
56441b5958 Download audio artwork 2022-09-13 17:06:38 +08:00
Jackson Harper
e73072e224 Updates after rebasing, implement download for offline audio 2022-09-13 16:03:34 +08:00
Satindar Dhillon
9b1ce21f6f remove explicit try call for decoding SpeechDocument 2022-09-13 15:27:48 +08:00
Satindar Dhillon
c4152a05a0 create a LinkedItemAudioProperties struct that can be passed to AudioController (instead of passing LinkedItem) 2022-09-13 15:27:48 +08:00
Jackson Harper
bc9b0b0752 Increase timer interval, better handling of seeking near the bounds of audio 2022-09-13 15:27:48 +08:00
Jackson Harper
e39888158d Better handling of end of stream detection 2022-09-13 15:27:48 +08:00
Jackson Harper
ab7d34337f Improve voice changing during playback 2022-09-13 15:27:48 +08:00
Jackson Harper
73841bc2da Implement voice switching during playback
This assumes voices are approx the same duration, which is
more accurate than rebuilding durations off of the estimates.
2022-09-13 15:27:48 +08:00
Jackson Harper
f5c5cd76ec When seeking into a new player item make sure we seek to the correct offset 2022-09-13 15:27:48 +08:00
Jackson Harper
1950e3626c Add 1.1 as a playback rate option 2022-09-13 15:27:48 +08:00
Jackson Harper
6c2333fd65 Update durations when playback rate changes. Fire timer to update UI 2022-09-13 15:27:48 +08:00
Jackson Harper
8c4c88a51a Recalculate durations when speed is changed 2022-09-13 15:27:48 +08:00
Jackson Harper
65c77a9bdf Sort voices alphabetically, add Singapore voice 2022-09-13 15:27:48 +08:00
Jackson Harper
6c0c8e8d26 Send rate as a string 2022-09-13 15:27:48 +08:00
Jackson Harper
be2d0e03dd Remove audio info alert 2022-09-13 15:27:45 +08:00
Jackson Harper
9796646742 Start preloading audio speechfiles, use new domains 2022-09-13 15:26:51 +08:00
Jackson Harper
5af9ff0e89 Remove unused CachingPlayerItem 2022-09-13 15:26:51 +08:00
Jackson Harper
8883975979 Use AppStorage for voice and playback rate 2022-09-13 15:26:51 +08:00
Jackson Harper
8db3b397d7 UI for changing playback rate 2022-09-13 15:26:51 +08:00
Jackson Harper
c4bbf4f618 Continue naming refactor. Session -> Controller 2022-09-13 15:26:48 +08:00
Jackson Harper
77e9dc7094 Remove extra spacing at top of fullscreen player 2022-09-13 15:22:09 +08:00
Jackson Harper
ae5c8269ff Fix typo in string setting secondary voice 2022-09-13 15:22:09 +08:00
Jackson Harper
1d0b19f909 Full row width tappable area 2022-09-13 15:22:09 +08:00
Jackson Harper
213cf781a0 Allow voice changing 2022-09-13 15:22:09 +08:00
Jackson Harper
f7de80f87d Comment out the notification to highlight being spoken items 2022-09-13 15:22:09 +08:00
Jackson Harper
339745a93b Rename AudioSession to Controller, we should create a smaller class that handles the state of a individual playback session 2022-09-13 15:22:09 +08:00
Jackson Harper
79ea2c06ee Rename AudioSession to Controller, we should create a smaller class that handles the state of a individual playback session 2022-09-13 15:22:09 +08:00
Jackson Harper
8a9c1f4100 Fix duration estimation based on word count 2022-09-13 15:22:09 +08:00
Jackson Harper
66ea008f05 WIP: fetch speech files, show some follow along 2022-09-13 15:22:09 +08:00
Jackson Harper
a6313f60e0 Updates to streaming audio using new utterances API 2022-09-13 15:22:09 +08:00
Jackson Harper
2f15a31851 Update to use URLRequest so we can post data 2022-09-13 15:22:09 +08:00
Jackson Harper
46cb17efb7 messing around with authed URL 2022-09-13 15:22:09 +08:00
Jackson Harper
0a5e02ec6b WIP: add CachingPlayerItem and switch to AVPlayer for streaming audio 2022-09-13 15:22:09 +08:00
Satindar Dhillon
ff6698c12d set linkIsActive on audio session article open 2022-09-12 22:37:03 -07:00