Skip to content
alexapvlPublic

About

macOS application for downloading music which uses yt-dlp and ffmpeg under the hood. no account, no analytics, no ads, no bullshit

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

meloDL

meloDL is a native macOS app for downloading and converting audio with a clean, settings-first workflow.

meloDL app preview

Platform

  • macOS 15.5+ (SwiftUI desktop app)

What it does

  • Accepts media URLs and downloads audio tracks, including playlists.
  • Supports many websites via yt-dlp, including YouTube (Music), SoundCloud, TikTok, Instagram, and X (Twitter) and many more.
  • Full supported website list: https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
  • Supports configurable output format and quality.
  • Supports playlist downloads with queue/status UI.
  • Prevents obvious re-downloads by checking an indexed local library before downloading.
  • Supports duplicate cleanup workflows backed by full library indexing and byte-level audio hashing.
  • Supports Rekordbox XML import to improve duplicate matching for DJ workflows.
  • Uses staged duplicate-review sessions so changes can be reviewed, adjusted, and confirmed before final cleanup.
  • Includes a short post-action undo window for smart cleanup actions.
  • Optionally embeds metadata and thumbnails (depending on audio format).
  • Supports automatic update checks for bundled download binaries (yt-dlp, ffmpeg, ffprobe).

Architecture overview

Download pipeline

  • meloDL uses bundled command-line tools:
  • The app orchestrates these tools through Process execution in Swift.
  • For playlist URLs, the app can prefetch entries and process multiple items.

Library indexing and duplicate resolution

  • Users can define library paths that are indexed for duplicate-aware download decisions.
  • The index supports deeper duplicate cleanup by hashing raw audio bytes for high-confidence matching.
  • Rekordbox XML exports can be imported to assist duplicate resolution in existing DJ libraries.
  • Duplicate actions are staged for manual review before confirmation, with an undo grace period after smart cleanup.

Binary updates (tool updates)

  • GitHubUpdateService checks GitHub releases for:
    • yt-dlp/yt-dlp
    • eugeneware/ffmpeg-static
  • Updated binaries are downloaded and replaced in Application Support.
  • Version metadata is tracked in Application Support/meloDL/versions.json.

App updates (Sparkle)

  • The macOS app itself updates through Sparkle.
  • Sparkle reads an update feed (appcast.xml) from the URL configured in Info.plist (SUFeedURL).
  • Each app release should publish:
    • A signed (and ideally notarized) release artifact (DMG/ZIP)
    • A corresponding appcast.xml entry generated by Sparkle tooling

Privacy

See PRIVACY.md for the basic privacy and data-handling disclaimer.

License

MIT. See LICENSE.

About

macOS application for downloading music which uses yt-dlp and ffmpeg under the hood. no account, no analytics, no ads, no bullshit

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages