-
Notifications
You must be signed in to change notification settings - Fork 3
Development
Your machine should have the ability to develop WinUI 3 applications. The simplest setup method is using the Visual Studio Installer and selecting Windows application development.
Then, open the Solution file .\FluentDL\FluentDL.sln using Visual Studio. You must actually open the solution file, not just the project folder. It should prompt you to install the correct .NET SDK. If not, install the latest .NET 8 SDK.
An experimental package was installed seperately. If it is not automatically handled by the nuget.config, install the package manually.
To install manually:
- Open the Tools menu, select Options > NuGet Package Manager > Package Sources.
- Select the green plus in the upper-right corner and add
https://pkgs.dev.azure.com/dotnet/CommunityToolkit/_packaging/CommunityToolkit-Labs/nuget/v3/index.jsonas a source. - Now install the Nuget package as you normally would. Use the GUI to install MarqueeText
0.1.250103-build.1988(ensure pre-release checkbox is selected). Alternatively, enterInstall-Package CommunityToolkit.Labs.WinUI.MarqueeText -version 0.1.250103-build.1988in the VS Package Manager Console. Read more about the package and installation instructions here.
To run the application, hit the FluentDL (Package) play button. To deploy the application, follow Project > Publish > Create App Packages and sign it with a certificate.
Cloning the repo may take a while because it is bundled with FFmpeg and Spek. The pre-built FFmpeg executable is found at ./FluentDL/Assets/ffmpeg/bin and contains many additional codecs, such as libopus and libvorbis.
For Spotify, you may bundle developer API keys by creating the file Assets/keys.txt. The text file should contain an encrypted string. The decrypted string in keys.txt must follow this format:
{
"spot_id": [ "id1", "id2"],
"spot_secret": [ "secret1", "secret2"]
}
You may add any number of id/secret pairs into the lists, but the indices must match (first id corresponds to first secret). To create the encrypted string, feed the above JSON text into the AesHelper encrypter class included. Do not store important API keys using this method, as the AesHelper secrets could be reverse engineered.
TODO