Skip to content

Releases: mxggle/ModernABLoopPlayer

v0.9.2

15 Mar 01:46
4786fe2

Choose a tag to compare

What's Changed

Added

  • Persistent player: Media player survives page navigation, preserving playback state across routes
  • Virtualized transcript list for smooth rendering of long transcripts

Changed

  • Transcript controls: Action buttons merged into header; individual export buttons replaced with a dropdown menu
  • Storage cleanup: Transcript records deleted atomically alongside media files using a shared helper; clearAllMediaFiles now clears both stores in one transaction; orphaned transcript records pruned during storage cleanup

Fixed

  • AI provider and model selections now initialize correctly from localStorage on first render
  • Removed obsolete v3 migration block that incorrectly wiped mediaTranscripts on store rehydration

Full Changelog: v0.9.1...v0.9.2

v0.9.1

14 Mar 02:01
bb20405

Choose a tag to compare

What's New

Local AI services (offline mode)

  • Ollama โ€” use a locally running Ollama instance as the AI provider for chat and language explanation, no cloud API key required
  • Local Whisper โ€” connect to a local Whisper server for fully offline audio transcription

Settings overhaul

  • Replaced the settings drawer with a unified /settings page
  • Added A/B loop controls directly to the player control bar
  • Added ?tab=ai deep-link to open the AI settings tab directly

AI explanation UX

  • Inline explanation panel replaces the full-screen drawer
  • Tighter prompts produce shorter, language-learning-focused output

Transcript & playback controls

  • Streamlined transcript action buttons and range-aware transcription entry points
  • Transcript empty-state copy now references the active provider
  • Translation updates across English, Japanese, and Chinese

AI model catalog

  • Refreshed OpenAI, Gemini, and Grok model catalogs with updated pricing metadata
  • Updated default model selections to current provider defaults
  • Migrated legacy model IDs

Playlist removal

  • Removed playlist/queue controls from desktop and mobile UIs
  • Removed queue state and media-end auto-advance from the player store

Bug fixes

  • Fixed TypeScript build errors caused by unused variables in TranscriptPanel

v0.9.0

12 Mar 10:47
a40cb0c

Choose a tag to compare

Added

  • Playback controls:
    • Added a dedicated "play from start" control in the player UI
    • Added safer pending-play handling so media can begin automatically once the element is ready
  • Transcription workflow:
    • Added loop-range transcription so the active A-B selection can be sent directly for transcription
    • Added an explicit full-range transcription action and cancel controls for long-running jobs
  • Waveform processing:
    • Added cached waveform analysis utilities for background generation and progressive loading
    • Added large-file waveform loading feedback with analysis progress states

Changed

  • AI settings overhaul:
    • Rebuilt the AI settings page into clearer defaults, providers, and transcription sections
    • Improved provider selection, model selection, API key handling, and connection testing flows
    • Expanded translations for the new AI and transcription settings UI
  • Shadowing workflow simplification:
    • Simplified shadowing playback and recording to a single-track model
    • Refined recorder state handling, cleanup behavior, and waveform rendering for shadowing sessions
  • Waveform experience:
    • Reworked waveform loading and rendering to better handle very large local audio files
    • Improved waveform caching, zoom behavior, and loading transitions for stored media
  • Player and media state management:
    • Improved playback state synchronization between the media element and the global store
    • Reduced noisy current-time updates and tightened media cleanup during unmounts
  • Transcript actions:
    • Refined transcript action buttons and range-aware transcription entry points

Fixed

  • Playback reliability:
    • Fixed cases where play requests could be dropped before media was ready
    • Fixed store playback state drifting out of sync with the actual media element
  • Waveform stability:
    • Fixed large audio waveform loading regressions and reduced failures during background analysis
    • Improved recovery and status handling when waveform analysis cannot complete normally
  • Shadowing and storage cleanup:
    • Improved cleanup around shadowing recordings and related persisted media state
    • Fixed several edge cases in local media storage and waveform cache updates