From 6db1714d0354d1e1105e330ce84c46a54487c3bb Mon Sep 17 00:00:00 2001 From: Tom Cooks Date: Wed, 30 Sep 2026 08:49:02 -0400 Subject: Main-screen recordings list, player actions, background recording, exports (1.4.0-alpha) - Main screen: recordings list at the bottom (newest first); removed the separate library screen and the top-right link - Player: delete/rename/share/export, no autoplay, embedded-marker fallback - Word-level tap-to-seek from Whisper token timestamps (length fallback) - Export transcripts as .txt + .srt to Downloads - RecordingService: microphone foreground service for background recording - FileProvider for sharing on Android 9 and older - StreamingResampler extracted to its own class + JUnit regression tests - Bump to 1.4.0-alpha (versionCode 6) --- TODO.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index c41f23e..1fa9671 100644 --- a/TODO.md +++ b/TODO.md @@ -21,15 +21,17 @@ columns. - [x] **WAV markers** — done: the **Mark** button embeds `cue `/`adtl` chunks in the WAV and stores a JSON sidecar; the player shows marker chips. +- [x] **Recordings list on the main screen** — done: the top-right *Recordings* + link is replaced by a scrollable list at the bottom of the main screen, + newest first. Tapping a row opens the player. The player has a **Delete** + button and no longer autoplays. -## Backlog (from earlier discussion) +## Backlog -- [ ] Export transcripts as `.txt` / `.srt` and/or embed them in WAV metadata - (`LIST`/`INFO`, `bext`). -- [ ] Foreground service so recording continues when the app is in the +- [x] Export transcripts as `.txt` / `.srt` (saved to Downloads, plus share). +- [x] Foreground service so recording continues when the app is in the background. -- [ ] Library actions: delete, rename, share, "open with". -- [ ] Word-level timestamps and tap-to-seek inside a transcript segment. -- [ ] Read embedded markers back from the WAV when there is no JSON sidecar. -- [ ] Add a JUnit regression test for `StreamingResampler` (it could throw - `IllegalArgumentException: > ` when the trim overshot the buffer). +- [x] Library actions: delete, rename, share, "open with". +- [x] Word-level tap-to-seek inside a transcript segment. +- [x] Read embedded markers back from the WAV when there is no JSON sidecar. +- [x] Add a JUnit regression test for `StreamingResampler`. -- cgit v1.2.3