/osuplayer

Official osu!player repository. osu!player is a music player for the game osu! made by Dean 'peppy' Herbert. Written in the cross-platform framework AvaloniaUI

Primary LanguageC#MIT LicenseMIT

osu!player

CodeFactor GitHub release
CI .NET Publish

osu!player is a music player for osu! with the focus of playing your osu! songs without having to start osu!. This is the official osu!player repository and is mainly developed by @Founntain, with the help of @Cesan.

If you want to contribute, feel free to fork this repository, read the contributing information and head to the official osu!player discord (not mandatory, but helpful). There you can add all valuable ideas and discuss other stuff regarding development.

☝️ Requirements

osu!player requirements

✔️ A working computer
✔️ .NET 8 or later installed
✔️ osu! installed with an osu!.db file or osu!lazer client.realm (Beatmaps imported in osu!)
✔️ An internet connection if you want to use your osu!player plus profile

Download osu!player

To download the osu!player head to our release section to download the latest release.
You can also build the project for yourself; see the section below!

⚒️Building the project

  • Clone / Download the source
  • Open it with Visual Studio, Visual Studio Code, Rider or an IDE of your choice that supports C# and .NET
  • Run dotnet restore (or IDE tools) to restore all packages and dependencies
  • Build/Run the project

👋 Contributing to the project

☝️Requirements

🚀 How to contribute

  • Make a fork of this repository
  • Implement your ideas and features
  • Make a pull request (PR) on this repository
  • Pray that I accept your PR 😂 (I'm joking)
  • Profit 📈

Warning

You should implement features that are asked for and not ones you like or think will be good additions. A rule of thumb is: If you want a new feature, discuss it with us to see if it makes sense implement, if it does the feature may be added. So don't be afraid to ask! We appreciate your ideas and feedback!

📦 Dependencies

Dependency Description
AvaloniaUI The UI-Framework
FluentAvalonia UI-Framework Extensions
ManagedBass The Audio-Engine
discord-rpc-sharp Used to display Discord RPC

✨ Special thanks

  • SourRaindrop: for creating a lot of custom images and assets like our logo
  • You, the user: for using this project and helping us improving it and simply enjoying your osu! music

🪛 Features that are missing to have the full osu!player plus a feature set

🔧 Features with lower priority

  • Audio-Equalizer
  • Miniplayer to save some space
  • Export songs to directory
  • Localization
  • Hotkey support
  • Synced play via osu!player API

🎱 Stop asking for it

❌ Steering wheel support

🎵 We are the creators of the osu!player (about us)

🦊 Founntain

Hey, there my name is Founntain! A bit about myself: I'm currently `currentYear - 1999` years old and from Germany. Currently, I am working for a medium-sized software development company as Software Consultant.

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

🌸 Cesan

Hi, I'm Cesan. You can also call me Caro if you want ^^

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.

📫 Contact

❤️ Supported by

JetBrains Logo (Main) logo.

⭐ Star History

Star History Chart

🖼️ Screenshots

Miniplayer