Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/derekyang2/fluentdl
Fluent UI metadata searcher and editor, command line runner, music downloader
https://github.com/derekyang2/fluentdl
audio-converter command-line-runner deezer-api ffmpeg fluent fluent-design music-download music-information-retrieval music-library music-metadata qobuz-api spotify-api windows11 winui youtube-api
Last synced: 2 months ago
JSON representation
Fluent UI metadata searcher and editor, command line runner, music downloader
- Host: GitHub
- URL: https://github.com/derekyang2/fluentdl
- Owner: DerekYang2
- License: mit
- Created: 2024-07-08T17:07:36.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-10-05T17:34:49.000Z (3 months ago)
- Last Synced: 2024-10-11T14:23:50.618Z (2 months ago)
- Topics: audio-converter, command-line-runner, deezer-api, ffmpeg, fluent, fluent-design, music-download, music-information-retrieval, music-library, music-metadata, qobuz-api, spotify-api, windows11, winui, youtube-api
- Language: C#
- Homepage:
- Size: 75.5 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
FluentDL
About •
Setup •
Running •
Certificate Setup •
Authentication
## 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](https://github.com/microsoft/microsoft-ui-xaml) and [TemplateStudio](https://github.com/microsoft/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
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
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
## 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](https://learn.microsoft.com/en-us/windows/apps/winui/winui3/create-your-first-winui3-app) for full details.
All dependencies should be automatically handled by Visual Studio and can be found on NuGet. There is one package [MarqueeText](https://dev.azure.com/dotnet/CommunityToolkit/_artifacts/feed/CommunityToolkit-Labs/NuGet/CommunityToolkit.Labs.WinUI.MarqueeText) that has to be installed manually.
A pre-built FFmpeg executable can be found in [./Assets/ffmpeg/bin](https://github.com/DerekYang2/FluentDL/tree/master/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](https://github.com/DerekYang2/FluentDL/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](https://developer.spotify.com/documentation/web-api/tutorials/getting-started).