New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Display transcript text and follow along the audio #7103
base: transcript
Are you sure you want to change the base?
Conversation
Nice. A suggestion after looking at the screenshot. I think text should be justified to make it easier to read. |
@Matth7878 Full justified text is only acceptable when hyphenation is applied correctly. Otherwise you get 'rivers' (vertical lanes of white space) which aren't great, especially for folks with dyslexia. I don't know if good hyphenation (which of course is langue-dependant) is doable in Android Some resources on this: |
@tonytamsf Nice! I think I'd put it in a full window, though, instead of a modal. Gives just that little extra space, and with a top bar we get a logical place to add a search icon (in future). |
@keunes Thoughts about dialog vs full fragment view @ByteHamster ? |
Hi @tonytamsf
Not in any different way from a dialog, I would say. (I believe we did discuss having player controls but potentially in future.) Maybe a full screen dialog would be easier to implement than a dedicated fragment? |
2a1fc25
to
57b4e39
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! It's nice seeing the transcript run by on by own phone. It already works great.
I added a bunch of comments below. The CI server also left a comment about a SpotBugs violation (that's new with the rebase :) )
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/ItemTranscriptRvAdapter.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/ItemTranscriptRvAdapter.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/ItemTranscriptRvAdapter.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/ItemTranscriptRvAdapter.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
ui/chapters/src/main/java/de/danoeh/antennapod/ui/chapters/PodcastIndexTranscriptUtils.java
Outdated
Show resolved
Hide resolved
ui/chapters/src/main/java/de/danoeh/antennapod/ui/chapters/PodcastIndexTranscriptUtils.java
Outdated
Show resolved
Hide resolved
ui/chapters/src/main/java/de/danoeh/antennapod/ui/chapters/PodcastIndexTranscriptUtils.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
address most comments, still have a few more to go
parser/transcript/src/main/java/de/danoeh/antennapod/parser/transcript/TranscriptParser.java
Outdated
Show resolved
Hide resolved
parser/transcript/src/main/java/de/danoeh/antennapod/parser/transcript/TranscriptParser.java
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/ItemTranscriptRvAdapter.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
ui/chapters/src/main/java/de/danoeh/antennapod/ui/chapters/PodcastIndexTranscriptUtils.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
ui/chapters/src/main/java/de/danoeh/antennapod/ui/chapters/PodcastIndexTranscriptUtils.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
I just pushed a change to use a simple array with binary search. Seems to work fine and reduces the number of different data structures significantly. I think something broke recently (between my previous commit and [before] the current one). The transcripts are concatenated for much longer sequences than just 5 seconds. To be exact, it seems that all text of one speaker is in one single segment |
...er/transcript/src/main/java/de/danoeh/antennapod/parser/transcript/JsonTranscriptParser.java
Outdated
Show resolved
Hide resolved
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptAdapter.java
Show resolved
Hide resolved
...er/transcript/src/main/java/de/danoeh/antennapod/parser/transcript/JsonTranscriptParser.java
Outdated
Show resolved
Hide resolved
I've added support for follow audio, which will only show up when a user manually scrolls pass 5 positions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@keunes and @ByteHamster - please play with this version and give feedback, I'm reasonable happy with this version
app/src/main/java/de/danoeh/antennapod/ui/screen/playback/TranscriptFragment.java
Outdated
Show resolved
Hide resolved
Thanks for adding the "follow audio" checkbox, that's nice to have! I think there are some small quirks left. Would be great if you could have a look.
Showcasing the scrolling below the screen and the cut-off first episode: https://drive.google.com/file/d/1-ik8dUhYOB_3rEmiMwNnhLB6YZ40BAOY/view?usp=sharing |
GitHub switched their MacOS runners to ARM, which makes the Android emulator fail to start. Since we introduced the CI workflow, GitHub upgraded the Ubuntu runners as well, now supporting hardware acceleration. This means we no longer need MacOS. The Ubuntu runner is also about 2 times faster.
Very cool! Some UI comments:
Side issue: the automatic transcripts of Podcasting 2.0 are… not great ^^ Hope the speech recognition tech will improve further (or people edit manually before releasing). |
@ByteHamster and @keunes Thanks for testing and the feedback, I'll work on changes to fix. One thing I'm struggling with is the checkbox and the Recylerview doesn't seem to work well together inside a layout inside of the dialog. The RecyclerView seems to overlap with the checkbox even thought I'm using a LinearLayout. If you have any ideas, please let me know. The other feedback, I'll track down and fix probably in about 1 week. |
@keunes and @ByteHamster - could you test this for transcript again. I think I have addressed all your comments. |
fix #4935
Description
Display contents of podcast:transcript tag as a full dialog view using RecylerView.
Yet to do
Future
Image & Video
Version 0.9
Follow audio checkbox
audio.follow.mp4
Version 0.1
transcript-window-480.mov