Nagi is a music player focused on speed, simplicity, and privacy. Featuring a resizable mini-player, interactive lyrics, and wide format support, Nagi is built with C# and WinUI 3 to offer a clean, native Fluent experience. It's beautiful, efficient, and respects your privacy.
- Fluent & Modern UI: A beautiful and responsive interface built with the latest WinUI 3, featuring customizable backdrops like Mica, Mica Alt, and Acrylic.
- Resizable Mini-Player: A sleek, always-on-top mini-player for easy control while you work. Features playback controls, album art, a draggable interface, and an efficiency mode to reduce resource usage.
- Lyrics Support: View lyrics from embedded tags or external
.lrcfiles. Click any line to seek directly to that part of the song. - Folder-Based Library: Simply add your music folders, and Nagi will automatically scan and organize your collection.
- Dynamic Theming: The color scheme dynamically adapts to the art of the currently playing song.
- Playlist Management: Create, edit, and enjoy your own custom playlists.
- Tray Controls: Control your music from a convenient pop-up in the Windows system tray.
- Last.fm and Discord Integrations: Automatically fetches artist metadata from Last.fm, scrobbles your tracks, and showcases your activity with improved Discord Rich Presence.
- Equalizer Support: Personalize your listening experience with a 10-band equalizer with pregain support
- Wide Codec Support: Nagi plays a vast array of audio formats, including:
.aa,.aax,.aac,.aiff,.ape,.dsf,.flac,.m4a,.m4b,.m4p,.mp3,.mpc,.mpp,.ogg,.oga,.wav,.wma,.wv, and.webm.
Localization support is planned for a future release. Contributions to add new languages are welcome!
- C# & .NET: The core programming language and framework for building robust Windows applications.
- WinUI 3 in Windows App SDK: The native UI platform for crafting modern, fluent interfaces on Windows.
- LibVLCSharp: A cross-platform .NET binding for LibVLC, enabling robust and wide-ranging audio format support.
- Community Toolkit for WinUI: A collection of controls, helpers, and services to simplify app development (e.g., ColorPicker, SettingsControls).
- Community Toolkit MVVM: A modern, fast, and platform-agnostic MVVM library.
- Entity Framework Core (SQLite): A modern object-relational mapper for .NET, used for local database storage.
- TagLib#: A library for reading and writing metadata in audio files.
- MaterialColorUtilities: For generating dynamic color schemes from artwork.
- H.NotifyIcon.WinUI: For creating and managing the Windows tray icon.
- Microsoft Dependency Injection: For implementing a loosely coupled and testable architecture.
Thanks to the creators and maintainers of all the open-source libraries that make Nagi possible.
This project is built using C# and the Windows App SDK.
- Visual Studio 2022 or later
- The ".NET Desktop Development" and "Universal Windows Platform development" workloads installed (includes Windows App SDK).
- .NET 8 SDK (or as specified in the project file)
-
Clone the repository:
git clone https://github.com/Anthonyy232/Nagi.git
-
Navigate to the cloned directory and open
Nagi.slnwith Visual Studio. -
In Visual Studio, set the Solution Platform to
x64(or your target architecture). -
Press
F5or click theโถ Nagi (Package)button to build and run the application.To build msixbundle, two commands must be ran in src/Nagi.WinUI (the first one will fail but create the proper R2R images):
dotnet publish Nagi.WinUI.csproj -c Release -r win-x86 -p:GenerateAppxPackageOnBuild=true msbuild Nagi.WinUI.csproj -p:Configuration=Release -p:Platform=x86 -p:GenerateAppxPackageOnBuild=true
To perform a database migration:
dotnet ef migrations add <name> --project src\Nagi.Core --startup-project src\Nagi.Core --context MusicDbContext --no-buildAll contributions are welcome! Feel free to report issues, suggest features, or create pull requests for bug fixes and new features.
If you enjoy using Nagi and want to support its development, you can do so via GitHub Sponsors. Your support is greatly appreciated!
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.




