An osu!player fork. This is a music player for playing the songs you've downloaded in the game, osu!
This fork is solely focused on core music player features. Accounts / online features are absent.
✨ Added
- A new "Artists" page, making it easier to play songs from a specific artist.
- Cover images are added to the song list.
- The song sort dropdown from settings was also added to the "Songs" view.
- Added support for media keys on Linux.
- The song list highlights the currently playing song.
- Song control icon buttons now have tooltips.
- Clicking on the cover image now shows a full-size song cover image.
🔥 Removed
- Online accounts / profiles - Users page, Party page, Stats page, Beatmaps page
🏗️ Tweaked
- The repeat button was simplified to only focus on whether songs repeat. Previously it would enable/disable playlists, which could be confusing. How playlists work is still a WIP.
- Song cover image now always shows to the left of the song title (regardless of app background).
- Playback speed snaps to 0.1x increments and shows the actual playback speed.
🐞 Fixed
- Last.FM Scrobble: instead of scrobbling instantly, it waits until you've listen to at least 50% of the song.
- Previous song button when shuffling would go to a random song rather than the last played song.
You can either go to the "Releases" GitHub page to download a build, or build it yourself following the instructions below. Of course this music player depends on you already having osu! installed with songs downloaded.
Supported platforms: Windows, Linux, Mac OS
- .NET 10 SDK
- An Avalonia account is recommended for some dev tools, but not required.
- Clone project.
- Open in an IDE like Visual Studio, VS Code, or JetBrains Rider.
- Run
dotnet restoreto restore all packages and dependencies. - Build the project with
dotnet buildand then run it withdotnet run --project OsuPlayer
| Dependency | Description |
|---|---|
| AvaloniaUI | The UI-Framework |
| FluentAvalonia | UI-Framework Extensions |
| ManagedBass | The Audio-Engine |
| discord-rpc-sharp | Used to display Discord RPC |
SourRaindrop: for creating a lot of custom images and assets like our logo
Languages I use:
- C# (For most of my projects)
- HTML, CSS and Typescript (for web stuff)
- Java (mostly for Minecraft plugin development)
In 2016 I had my first programming contact at my IT-School. There we mostly developed in Java, but all stuff that we programmed in Java I tried to implement in C# while learning it on my own.
In 2017 I started development on the first versions of the osu!player in WPF and .NET-Framework 4.6. It looked bad, it felt bad and badly performed. But let's be honest what do expect from someone who never used WPF at all and did not have much C# experience? On the 1st of November 2017, the first version of the osu!player was released on the osu! forum.
After a while, Cesan joined me and we started working on it together now and I'm grateful for that. Thanks buddy
I'm a self-taught C# dev and currently studying Applied Computer Sciences at University. I also work as an embedded C dev in the meantime.
I mostly use C# for everything I do because I think it's the most versatile and practical language for desktop development. In university, I learned C and Java. However I would never use Java personally.
When I joined the development team of the osu!player, I mostly did design stuff in WPF as I understood it best, but now we both do more or less the same stuff because we have quite some experience with the osu!player by now, to make the player look and feel like how it is today.
Thanks for reading and have fun with the player, cheers.