About • Setup • Installation and Running • Manual Installation • Authentication
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
|
|
Local Explorer
|
|
Queue
|
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.
This project is deployed using MSIX, which installs the application on Windows. To install this application, download the first zip from Releases.
The application may be installed directly using a powershell script located in the zip folder. In the root folder inside of the zip, you should see an Install.ps1
file and other files such as FluentDL_{VERSION}_x64_MSIX.msix
. Open Powershell or CMD into this directory and run the command:
powershell.exe -executionpolicy unrestricted .\Install.ps1
The application is now installed, and you should be able to find "FluentDL" with Search or in your Apps list.
Running powershell scripts must be enabled by the user, but -executionpolicy unrestricted
overrides these rules just for the single command.
Running the FluentDL_{VERSION}_x64_MSIX.msix
file will open the Microsoft Store installer prompt that handles the installation and all dependencies (including the FFmpeg executable). This installation process requires an extra step because the certificate is currently self-signed. It must be trusted by the user before running the MSIX installer, otherwise the install button is greyed-out.
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 selectNext
- Choose
Place all certificates in the following store
then pressBrowse...
, which should open a new dialog - In the new "Select Certificate Store" dialog, select the second option
Trusted Root Certification Authorities
and pressOK
- Select
Next
and thenFinish
. 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 you may now run FluentDL_{VERSION}_x64_MSIX.msix
.
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.
Deezer and Qobuz are authenticated through ARLs and Tokens respectively. Support for username/email and password logins for Qobuz may be supported in the future. You do not have to login each time, but may need to occasionally re-enter new tokens after expiry or web-player changes.
In order to obtain your Deezer ARL, log into https://www.deezer.com/. Then open Developer Tools, and head to the Application
tab. In the sidebar, open the dropdown list for Cookies
and there should be an subitem https://www.deezer.com/
. Click on the subitem and to find the the arl
value, which should be 192 characters long. Note that you should open the dropdown for the Cookies
section, not click on it.
Similarly, to obtain a Qobuz id and token, log into https://play.qobuz.com/ and open Developer Tools. Head over the Application
tab, open the dropdown list for Local Storage
and click on the subitem https://play.qobuz.com
. You should then click on the localuser
JSON object in the viewing window, where you can find the fields id
(7 digits) and token
(86 characters).