-
Notifications
You must be signed in to change notification settings - Fork 593
feat(downloads): add format picker and custom download path support #3122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
alltechdev
wants to merge
25
commits into
MetrolistGroup:main
Choose a base branch
from
alltechdev:feat/downloads_path-format
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
bc8417a
feat(downloads): add format picker and custom download path support
alltechdev 505cb22
fix(downloads): resolve format mismatch errors and improve playback
alltechdev 8fa747b
fix(build): disable LTO for coverart to fix CI linker issues
alltechdev 60a343e
fix(strings): move download strings to metrolist_strings.xml
alltechdev 07098ff
refactor: Extract coverart library to separate repository
mostafaalagamy 548faea
feat(metadata): Add album artist, track number, and multi-artist support
alltechdev d6fb074
feat(ui): Redesign download format dialog with Material 3 expressive …
alltechdev 47cbaa7
feat(download): Add format picker to YouTube song menu and fix releas…
alltechdev 684c12a
fix(release): Add ProGuard keep rules for metadata embedding classes
alltechdev f0f5f30
feat(download): Add format picker and swap download to album menu
alltechdev 6fa4267
fix(playback): Add fallback for legacy downloads without downloadUri
alltechdev 06025b5
fix(export): Use .ogg extension for WebM audio exports
alltechdev 0366551
fix(settings): Show full download path instead of just folder name
alltechdev 2fdd105
fix(rebase): fix PoToken API and schema after rebase
alltechdev 6cf48fe
fix(download): improve metadata embedding and format selection
alltechdev a337804
refactor: use prebuilt coverart library from separate repo
alltechdev 91e9c1a
feat(download): organize downloads by Artist/Album/Title structure
alltechdev 3df82a4
feat(download): cleanup empty Album/Artist folders after file deletion
alltechdev e947523
fix: pass customPathUri to enable empty folder cleanup on deletion
alltechdev 1f38ded
fix: update PoTokenGenerator API usage in getAllAvailableAudioFormats
alltechdev 4044c1e
fix: remove unnecessary null assertions and dead code
alltechdev 9d6107e
fix: restore schemas 33 and 34 to match main
alltechdev 9f4cf39
fix: update schema 36 with downloadUri field
alltechdev 9c3fc7b
fix(download): ensure metadata embedding works for home page downloads
alltechdev 0c3855d
fix(download): use 'Singles' folder for songs without album
alltechdev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: Setup Coverart Native Library | ||
| description: Download prebuilt coverart native library from workflow artifacts | ||
|
|
||
| runs: | ||
| using: composite | ||
| steps: | ||
| - name: Download coverart library | ||
| run: | | ||
| echo "Downloading coverart library..." | ||
|
|
||
| # Use nightly.link to get public URL for the artifact | ||
| DOWNLOAD_URL="https://nightly.link/MetrolistGroup/metrolist-coverart-lib/workflows/build-release/main/libcoverart-jniLibs.zip" | ||
|
|
||
| curl -L -o /tmp/libcoverart-jniLibs.zip "$DOWNLOAD_URL" | ||
|
|
||
| # Extract to app/src/main/jniLibs | ||
| mkdir -p app/src/main/jniLibs | ||
| unzip -o /tmp/libcoverart-jniLibs.zip -d app/src/main/jniLibs | ||
|
|
||
| # Cleanup | ||
| rm /tmp/libcoverart-jniLibs.zip | ||
|
|
||
| echo "Coverart library installed:" | ||
| find app/src/main/jniLibs -name "*.so" -exec ls -la {} \; | ||
| shell: bash | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| #!/bin/bash | ||
| # Downloads the prebuilt coverart native library for local development | ||
|
|
||
| DOWNLOAD_URL="https://nightly.link/MetrolistGroup/metrolist-coverart-lib/workflows/build-release/main/libcoverart-jniLibs.zip" | ||
|
|
||
| echo "Downloading coverart library from latest build..." | ||
|
|
||
| # Download the zip file | ||
| curl -L -o /tmp/libcoverart-jniLibs.zip "$DOWNLOAD_URL" | ||
|
|
||
| if [ $? -ne 0 ]; then | ||
| echo "Failed to download from ${DOWNLOAD_URL}" | ||
| echo "The workflow may not have run yet. Please check:" | ||
| echo "https://github.com/MetrolistGroup/metrolist-coverart-lib/actions" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Create jniLibs directory | ||
| mkdir -p src/main/jniLibs | ||
|
|
||
| # Extract | ||
| unzip -o /tmp/libcoverart-jniLibs.zip -d src/main/jniLibs | ||
|
|
||
| # Cleanup | ||
| rm /tmp/libcoverart-jniLibs.zip | ||
|
|
||
| echo "Coverart library installed successfully:" | ||
| find src/main/jniLibs -name "*.so" -exec ls -la {} \; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add error handling for the curl download.
Unlike the companion script
app/setup_coverart.shwhich checks curl's exit code, this action proceeds even if the download fails (e.g., 404, network error). This can cause confusing unzip errors later.🛠️ Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents