Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Founntain/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
https://github.com/Founntain/osuplayer

avalonia csharp music music-player osu player

Last synced: 23 days ago
JSON representation

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

Awesome Lists containing this project

README

        



# osu!player
[![CodeFactor](https://www.codefactor.io/repository/github/Founntain/osuplayer/badge)](https://www.codefactor.io/repository/github/Founntain/osuplayer)
[![GitHub release](https://img.shields.io/github/release-pre/Founntain/osuplayer.svg)](https://github.com/founntain/osuplayer/releases/latest)
![](https://img.shields.io/github/languages/code-size/Founntain/osuplayer)
![](https://img.shields.io/github/repo-size/Founntain/osuplayer)
![](https://img.shields.io/tokei/lines/github/Founntain/osuplayer)
![](https://img.shields.io/github/issues/Founntain/osuplayer?color=red)
![](https://img.shields.io/github/contributors/Founntain/osuplayer?color=blueviolet)
[![CI](https://github.com/Founntain/osuplayer/actions/workflows/dotnet.yml/badge.svg?branch=master)](https://github.com/Founntain/osuplayer/actions/workflows/dotnet.yml)
[![.NET Publish](https://github.com/Founntain/osuplayer/actions/workflows/dotnet-publish.yml/badge.svg)](https://github.com/Founntain/osuplayer/actions/workflows/dotnet-publish.yml)

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](https://github.com/Founntain), with the help of [@Cesan](https://github.com/Cesan).

If you want to contribute, feel free to fork this repository, read the [contributing information](https://github.com/osu-player/osuplayer#-contributing-to-the-project) and head to the [official osu!player discord](https://discord.gg/RJQSc5B) (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](https://github.com/Founntain/osuplayer/releases) 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
- .NET 8 SDK
- [Avalonia .NET Templates](https://github.com/AvaloniaUI/avalonia-dotnet-templates)
- [Check out the Avalonia getting started](https://github.com/AvaloniaUI/Avalonia#-getting-started)
- *Have a **decent understanding of the internal osu!** structure and know osu! (the game) as well.*

#### 🚀 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](https://github.com/AvaloniaUI/Avalonia) | The UI-Framework |
| [FluentAvalonia](https://github.com/amwx/FluentAvalonia) | UI-Framework Extensions |
| [ManagedBass](https://github.com/ManagedBass/ManagedBass) | The Audio-Engine |
| [discord-rpc-sharp](https://github.com/Lachee/discord-rpc-csharp) | 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
- [x] Audio-Equalizer
- [x] Miniplayer to save some space
- [x] 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
- [✉️ [email protected]](mailto:[email protected])
- 📣 [Discord](https://discord.gg/RJQSc5B)

## ❤️ Supported by
JetBrains Logo (Main) logo.

## ⭐ Star History

[![Star History Chart](https://api.star-history.com/svg?repos=founntain/osuplayer&type=Date)](https://star-history.com/#founntain/osuplayer&Date)

## 🖼️ Screenshots

![](https://gud.founntain.dev/f/p5nrMbq5M0.jpg)
![](https://gud.founntain.dev/f/KDEJNVggeU.jpg)
### Miniplayer
![](https://gud.founntain.dev/f/TTc7bws1xU.png)