Skip to content

Audora 0.1.4: Safer Lyrics, Tougher Writes

Choose a tag to compare

@github-actions github-actions released this 21 May 19:19
· 11 commits to main since this release

Audora 0.1.4

A safety-focused release. Lyrics saving now leaves your audio files untouched, and the remaining in-place writers (tag edits, album art) can no longer leave a zeroed file behind if a write is interrupted.

What changed

  • Lyrics save is sidecar-only now. Saving lyrics writes a .lrc sidecar next to the track — every modern player Audora targets (PowerAmp, Musicolet, Symfonium, VLC, foobar2000, etc.) picks them up there. The optional "embed lyrics into tags" path has been removed entirely; it was silently routing every lyrics save through a destructive in-place rewrite and, in one case, corrupted a 57 MB FLAC for a user whose write got interrupted. Sidecar gives you the same end result with zero risk to source files.
  • Hardened the in-place writer used by tag and album-art edits. Before truncating an audio file to overwrite it, the writer now takes and verifies a non-empty backup copy. If anything throws during the rewrite, it auto-restores from that backup before propagating the error — so a failed tag edit or art write can no longer leave a partially-written or zeroed file. It will also refuse to "edit" a file whose read already yields zero bytes (the file is already corrupted; rewriting it again would only erase the recovery window).
  • Fixed false "file changed on disk" errors on some Android storage providers. MediaProvider-backed files (typically anything under /storage/emulated/...) sometimes refuse to disclose the file's size through the usual metadata channel, which made the pre-write safety check throw StaleFileException on perfectly-fine files. The check now falls back through AssetFileDescriptor.declaredLength → ParcelFileDescriptor fstat → a streamed byte count so it can find a real size on any provider that backs Audora's target use cases.

Maintenance

  • App version bumped to 0.1.4 (versionCode 5).

Build artifacts

  • app-release.apk for direct installation and testing on Android devices.
  • app-release.aab for Android App Bundle distribution workflows.