Skip to content

Fluent UI metadata searcher and editor, command line runner, music downloader

License

Notifications You must be signed in to change notification settings

DerekYang2/FluentDL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FluentDL

AboutSetupRunningCertificate SetupAuthentication

Sample Webp

About

A Fluent UI desktop application that helps you manage your local music files, perform audio format conversions, download songs, match songs between different online sources, and more. This project was made with WinUI 3 and TemplateStudio. Under the hood, the app uses FFmpeg and APIs from Deezer, Qobuz, Spotify, and Youtube.

FluentDL is organized into three sections: Search, Local Explorer, and Queue.

Search
  • Lookup songs from any of the four online sources
  • Search using natural language or strict search by title/artist/album
  • Parse all tracks from an online link, with track/album/playlist links supported
  • Open songs in preview sidebar that can view large cover art, preview audio, show full metadata

Search Webp

Local Explorer
  • Upload files from your computer or scan all audio files in a folder
  • View file metadata and technical audio specs in-depth
  • Edit file metadata live, including option to change cover art!
  • Convert between any of these formats: flac, mp3, aac, alac, vorbis, opus

Local Webp

Queue
  • Add files from Search or Local Explorer into the queue
  • Run custom terminal tools on tracks (with wildcards)
  • Match between any of the online sources (e.g., convert Spotify and YouTube to Deezer equivalents)
  • Download tracks from online sources

Queue Webp

Setup

In order to run these project in Visual Studio, you must have WinUI 3 setup (Template Studio is not required).

WinUI 3 can be automatically configured using the Visual Studio Installer or manual installation. See the official documentation for full details.

All dependencies should be automatically handled by Visual Studio and can be found on NuGet. There is one package MarqueeText that has to be installed manually.

A pre-built FFmpeg executable can be found in ./Assets/ffmpeg/bin and contains many additional codecs, such as libopus and libvorbis. You may use your own FFmpeg binaries, but note that libopus is required for proper Youtube downloading.

Running

This project is deployed using MSIX, which installs the application on Windows. To install this application, download the folder from Releases and open the FluentDL_{VERSION}_x64_MSIX.msix file. This will open a prompt that installs the application and all its dependencies (including the FFmpeg executable).

The installation process currently requires an extra step because the certificate is self-signed. It must be trusted by the user before running the MSIX installer.

How do I trust the certificate?

In order to trust the certificate, click and open the FluentDL_Certificate.cer certificate file in the folder.

You will see a security warning prompt ("Do you want to open this file?") and press open.

Next, the certificate pop-up will explain how to add the certificate to "Trusted Root Certification Authorities". In order to this, follow these steps:

  • Press Install Certificate..., which should open "Certificate Import Wizard"
  • Choose Local Machine then select Next
  • Choose Place all certificates in the following store then press Browse..., which should open a new dialog
  • In the new "Select Certificate Store" dialog, select the second option Trusted Root Certification Authorities and press OK
  • Select Next and then Finish. You should see a dialog that says: The import was successful.

After adding the certificate to this storage, FluentDL_Certificate.cer should be trusted and the MSIX install button should not be greyed out anymore.

Authentication

Before using the application, head over to the settings page through the sidebar.

For the sources Deezer, Qobuz, and Youtube, no authentication is required for searches (each have public APIs).

Spotify will require API tokens (a client ID and client secret) which can be entered in the settings page. For more details on obtaining these tokens, visit the official documentation.