List of Changes

Version 1.9

- SDK 33, new Gradle and libraries.
- Due to Google Policy: Play Store version limited to SAF (speed factor 1/90)!
- Ogg Opus support added.
- Wrong error message about non-audio files avoided.
- SAF-only mode for Android 11 and newer.
- Optional media file read access for Android 11 and newer.
- Unused Dff module removed from tagger library.
- 1.9.2: SAF permission denied handled appropriately, SD root path with leading "/".
- 1.9.3: Redraw directory, when in browser mode and base path(s) were changed or reset.
- 1.9.4: Parameter conversion from path to SAF avoided if full file access has been granted.
- 1.9.5: Repaired a crash in JaudioTagger that occurred when ID3v1 tag was written without track number.
- 1.9.5: Handle exceptions in tagger library.
- 1.9.5: Classical Music Scanner is successfully called when files have been changed. Malfunction was introduced with v1.8 due to API 30.

Version 1.8.1

- Malfunction in SAF path evaluation solved.
- Wrong error message avoided when opening files in a folder.
- File name extension ".opus" is not handled as audio file because unsupported by Jaudiotagger.
- Malfunction resolved in SAF mode in case mp3 file had to be expanded.
- Misleading error message avoided in case of editing unsupported file types like ".opus".

Version 1.8

- Localisation pt-rBR added.
- Correct error message in case an unsupported file type has been passed via "Open with ... " or "Share ...".
- API 30 (Android 11)

Version 1.7

- Files can be renamed, also in SAF mode.
- Warning dialogue for missing SAF access permissions.
- Better SAF support (technically: derive tree Uri from document Uri).

Version 1.6

- Vorbis (.ogg or .flac files) movement tags adapted to the "MusicBrainz Picard" tagger behaviour.

Version 1.5

- Built for Android 10 (SDK 29).
- Preference screen beautified.
- Visual indication in case file access was denied.
- "Open With ..." is supported for audio files.
- "Share ..." is supported for audio files, also with multiple.
- "Open Document (SAF) ..." via menu, also with multiple files.
- Support for Google Drive based files (no combined r/w access).
- Support for "non seekable" cloud based files, like from Google SMB client.
- Adaptive application icon (vector graphics and background).

Version 1.4

- Plays audio also from non-seekable (network) files, e.g. using Google's SMB client.
- Malfunctions in File mode solved.
- Force directory reload after tag write operation, to make new ".backup" files visible.
- 1.4.1: crash reason solved.
- 1.4.1: Visual feedback when passed paths are converted to SAF or the conversion failed.
- 1.4.2: Cosmetics in virtual root listing.
- 1.4.2: Avoided crash that happened when Android destroyed the Activity for some reason.
- 1.4.2: Malfunction repaired when an mp3 file was extended and the size of the data to be copied was a multiple of 1024.

Version 1.3

- SAF support (SD card, USB OTG memory, SMB/SFTP shares, ...).
- Accepts paths and URIs, converts paths on SD card to SAF URIs to be able to write them.
- Background file operations with progress circle.
- Basic music player, plays selected items, also via SAF.
- Path list for the music files, i.e. more than one path can be specified.
- Menu entry to reset path list to default value.
- Virtual root directory, showing volumes and SAF shares.
- Better handling of write protected files and directories.

Version 1.2.1

- Crash avoided.
- Help text updated and English help text repaired.

Version 1.2

- Adaption for Android 8: bind to Media Scanner app service, not only start it.
- Adaption for Android 8: set dark background for green Toast text.

Version 1.1.2

- female composer Louise Farrenc added.
- male composer Eugène Ysaÿe added.
- smaller package.
- round app icon (for round displays?).

Version 1.1.1

- avoid some null pointer exceptions

Version 1.1

- Pass list of changed or deleted files to Classical Music Scanner.
- New menu entry for removing files permanently.
- Pass file change messages also in case of reverting or removing files.
- Update method for Android media database improved.
- Updated to SDK 27.

Version 1.0.1

- Female composer Emilie Mayer added.

Version 1.0

- Crash in non-expert-mode with empty title avoided.

Version 0.6

- The path of the file currently being edited is shown below and untruncated. A short touch on it will advance to the next file (without saving), a long touch to the previous one, if any.
- The index of the file currently being edited is shown in the header.

Version 0.5

- Forgotten WRITE_EXTERNAL_STORAGE permission added.
- Simply reset Android media storage via menu.
- Malfunction repaired that occurred when device was rotated during editing.
- Unsupported files (mp4 dash) are detected and treated as write-protected.
- In case of single file editing its name is displayed above.
- Additional title information ("subtitle") added.
- The keyboard will not open automatically but wait for user interaction.
- Error messages improved.

Version 0.4

- Possible ANRs ("application not responding") avoided: read and write tags in background task
- In case of multiple values for a key only the new value will be written, the others deleted.
- With only one file being edited, the "save" Floating Button will proceed to the next file, if any.
- Show hint in editor once. - Possible crash avoided.

Version 0.3

- The base path for music files is read from system and additionally configurable via settings. Choose "/" to access any file on the device.
- mp3: Configure via settings, if redundant id3v1 (or id3v11) tags are either maintained or removed.
- Possible crash avoided.
- Missing localisations added.

Version 0.2

- In mp3 files with Id3v1 tags, but without Id3v2 tags, the old format is read, but changes are written in the new format. The old tags are removed.
- Possible crash avoided. - Female composer added.

Version 0.1

- This is the first release.
- Please refer to the in-app-offline-help, accessible via menu!
- This program is rather complex and might have malfunctions and errors, as it could not be thoroughly tested with any audio file type and any tag. However, data loss is nearly impossible, because any file is copied before the first write access, and the original is conserved as backup, i.e. only the copy is changed.