14811ee2d4
Bump version, improve analytics
2024-02-06 11:43:44 +08:00
bf160cdd86
Reset playback errors when restarting, dont allow selecting ultra voices if not in beta
2023-11-14 13:18:37 +08:00
884563d7f1
Stop observers on error
2023-11-09 09:29:27 +08:00
f83701c6cc
Move the voices out of the bundle
2023-11-08 22:51:35 +08:00
8bd9beebc6
Set playback error if speech file does not download
2023-11-08 20:29:08 +08:00
155d71c7bd
Add some voices
2023-11-08 19:36:34 +08:00
76c094b1ba
Force reading position to update on iOS in PDFs
2023-10-24 19:27:09 +08:00
c94227ded9
Improve labels loading for iOS17, bump version
2023-09-19 12:22:38 +08:00
135feeb362
Handle ios out of bounds issue
2023-09-19 07:08:18 +08:00
4c6618ff3f
Fix bug preventing secondary ultra releastic voices from being used
2023-08-22 10:24:06 +08:00
9cd8ecd75b
Use 15s as the default skip interval for text to speech
2023-04-17 10:36:17 +08:00
fe9376488f
update existing code to use wrapper API
2023-02-27 08:17:27 -07:00
ce04baedee
When preloading make sure we dont mutate the current document
2023-02-21 16:33:57 +08:00
073fd66f4f
Make sure the current language is initialized
2023-02-21 15:58:35 +08:00
c9296deac4
Update TTS user interface
2023-02-20 22:49:09 +08:00
3e4f9409df
Dont fully close audio player on error
...
This gives users the ability to change the selected language if
the error was related to language / voice.
2022-12-01 12:50:59 +08:00
d7290044a8
Save listen position independent of read position when listening to articles
...
When you restart an audio session it will start at the previous
listen position.
2022-11-24 13:58:30 +08:00
be941faf39
Handle case where AVQueuePlayer doesnt update the current item for shorter audio segments
2022-11-11 15:55:28 +08:00
6ba5b6165b
Pass in feature auth header for TTS if set
2022-11-11 15:55:28 +08:00
a4419e58bc
WIP: toggle for realistic voices
2022-11-11 15:55:28 +08:00
59271882a5
Use currentAudioIndex, this will give us the option to force it to a differnt value
...
Sometimes the play item isn't updated very quickly, the timeElapsed
can be greater than the duration in those cases. We could probably
force the currentItemIndex to increment in those cases to get
speech cards to update.
2022-11-11 15:55:28 +08:00
878cb51533
Separate out the speechplayeritem class, implement a queued prefetch
2022-11-11 15:55:28 +08:00
5865be5982
Update ultra voice list
2022-11-11 15:55:28 +08:00
48b0ea09bd
Add sample voice files / Stop sample voices when unpausing
2022-11-11 15:55:28 +08:00
b47b1ca49a
Add samples for voices
2022-11-11 15:55:28 +08:00
3d9976e06a
WIP: Adding ultra realistic voice support
2022-11-11 15:55:28 +08:00
bafe1bd338
Ensure the audio index is updated when items are changed
2022-10-13 15:04:57 +08:00
2e9bda7835
Dont instantiate TabView with zero items
...
Seems this prevents the crash when the TabView tries to set
its index to 0/0.
2022-10-13 14:02:17 +08:00
8fcbfbbd2e
fixes after rebasing
2022-10-12 12:58:32 -07:00
c287eb4a59
add os conditionals so the mac app compiles
2022-10-12 10:11:09 -07:00
25055598e3
Update read position while listening to audio
2022-10-11 17:22:40 +08:00
68f9d9d1da
Give the audio controller access to the dataService so it can update read positions
2022-10-11 16:20:04 +08:00
ca725b4908
Improve text to speech follow UX
2022-10-06 12:34:15 +08:00
b983a4336b
Dont try to highlight beyond the last item despite speech marks offset data
2022-10-06 12:34:15 +08:00
f9e2809a10
WIP: follow along text for tts
2022-10-06 12:34:15 +08:00
59d6ae583b
Disable audio preload by default
2022-09-30 13:21:55 +08:00
247fcf0eb3
Dont display loading indicator if audio is not playing when voice is changed
2022-09-26 20:46:28 +08:00
f902f74cd2
Refactor voices code, show an indicator when switching voices
2022-09-26 17:19:24 +08:00
ecdf45e447
Remove Change Language button, add German and Spanish options
2022-09-26 11:34:20 +08:00
09bea6d8c1
Improve byline display, centralize the code a bit
2022-09-24 10:05:04 +08:00
d11091a458
Make tts preload optional, use headphones for tts icon, language ux
2022-09-23 16:38:21 +08:00
461100d359
Better voice selection, handle failures fetching audio, handle seeking when paused better
2022-09-23 14:06:13 +08:00
e249a97bfd
Improve the UI for voice selection
2022-09-22 22:57:54 +08:00
89fd9b9f0c
Add audio session events
2022-09-22 12:05:32 +08:00
a23760a296
A few bug fixes
...
- Only set durations if we have successfully loaded
audio data.
- Use weak self in the completion handler so we clean up
properly.
- Handle cases where there are no utterances in a document
- When a user selects to download audio, force overwrite
the cached data.
2022-09-20 21:57:52 +08:00
8c71c0b384
Make Christopher the default voice, fix linter warnings
2022-09-20 16:07:30 +08:00
d05c030501
Remove the playbackTask. This is now handled by AVPlayer
2022-09-20 16:00:31 +08:00
40adb4c4a8
Generate a queue of player items when speech synthesis starts
...
This should better handle cases where playback catches up to
audio synthesis/download, and will have the player items put
into a wait state.
This does make seeking a little less performant, as AVPlayer
wont aggresively pre-load as we were before.
2022-09-19 17:34:44 +08:00
1a338e8854
Reset the scrub state after seeking
2022-09-15 15:54:39 +08:00
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