maxrave-dev / maxrave-dev/SimpMusic

Feature Request: Add an option to export downloaded songs as local audio files

Open
#2,353 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Kotlin
Stars
11.4k
Forks
599
Avg merge
3d 18h
Merged PRs (30d)
7

Description

Problem Description

Currently, downloaded songs are available for offline playback inside the app, but they are stored as app-managed downloads/cache and cannot be accessed as normal audio files through the device's file manager.
This makes it difficult for users who want to:
Move downloaded music to an SD card or another storage location.
Back up their downloaded music.
Play downloaded songs using other music players.
Transfer music to another device.
Manage their music library independently of the app.
An Export option would make the downloaded music more flexible and useful while still allowing the existing offline-download system to work as it does now.

Proposed Solution

Add an "Export" option to the song/album/playlist menu.
For example:
Song → ⋮ → Export
The app could:
Take the downloaded/cached audio file.
Convert it to or copy it as a standard supported audio format.
Save it to a user-selected folder using Android's Storage Access Framework.
Preserve metadata such as:
Song title
Artist
Album
Album artwork
Track number
Allow exporting individual songs, albums, or entire playlists.
Show export progress and notify the user when the export is complete.

Alternative Solutions

Instead of directly exporting downloaded files to a fixed folder, the app could provide a "Save to device" or "Save as file" option using Android's Storage Access Framework. This would allow users to choose the destination themselves, including an SD card, while avoiding additional storage permissions and keeping the existing offline-download system unchanged.

Additional Context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named in the issue. Start by locating the existing downloaded or cached audio handling and the song, album, and playlist menus, then review Android's Storage Access Framework integration. Done means users can select a destination, export the requested scope with metadata and artwork, and receive progress and completion feedback.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.