Skip to content

BoomboxRapsody/YouTubePlayerEX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

172 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YouTube Player EX Logo

YouTube Player EX

Build status GitHub release Licence CodeFactor

The enhanced YouTube video player written in custom osu-framework.

Latest release:

Windows 7+ (x64) Linux (x64)

If your platform is unsupported or not listed above, there is still a chance you can run the release or manually build it by following the instructions below.

Developing YouTube Player EX

Prerequisites

Please make sure you have the following prerequisites:

When working with the codebase, we recommend using an IDE with intelligent code completion and syntax highlighting, such as the latest version of Visual Studio, Visual Studio Code with the EditorConfig and C# Dev Kit plugin installed.

Downloading the source code

Clone the repository:

git clone --recurse-submodules https://github.com/BoomboxRapsody/YouTubePlayerEX
cd YouTubePlayerEX

To update the source code to the latest commit, run the following command inside the YouTubePlayerEX directory:

git pull --recurse-submodules

Building

From an IDE

You should load the solution via one of the platform-specific .slnf files, rather than the main .sln. This will reduce dependencies and hide platforms that you don't care about. Valid .slnf files are:

  • YouTubePlayerEX.Desktop.slnf (most common)

Run configurations for the recommended IDEs (listed above) are included. You should use the provided Build/Run functionality of your IDE to get things going. When testing or building new components, it's highly encouraged you use the YouTube Player EX (Tests) project/configuration. More information on this is provided below.

To build for mobile platforms, you will likely need to run sudo dotnet workload restore if you haven't done so previously.

From CLI

You can also build and run YouTube Player EX from the command-line with a single command:

dotnet run --project YouTubePlayerEX.Desktop

When running locally to do any kind of performance testing, make sure to add -c Release to the build command, as the overhead of running with the default Debug configuration can be large (especially when testing with local framework modifications as below).

If the build fails, try to restore NuGet packages with dotnet restore.

Code analysis

Before committing your code, please run a code formatter. This can be achieved by running dotnet format in the command line, or using the Format code command in your IDE.

We have adopted some cross-platform, compiler integrated analyzers. They can provide warnings when you are editing, building inside IDE or from command line, as-if they are provided by the compiler itself.

JetBrains ReSharper InspectCode is also used for wider rule sets. You can run it from PowerShell with .\InspectCode.ps1. Alternatively, you can install ReSharper or use Rider to get inline support in your IDE of choice.

Contributing

When it comes to contributing to the project, the two main things you can do to help out are reporting issues and submitting pull requests. Please refer to the contributing guidelines to understand how to help in the most effective way possible.

If you wish to help with localisation efforts, head over to tolgee.

Licence

YouTube Player EX's code and framework are licensed under the MIT licence. Please see the licence file for more information. tl;dr you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

Note: FFmpeg binaries are distributed under their original licenses (GPL/LGPL) from the source. Please refer to FFmpeg License for details.

Please also note that app resources are covered by a separate licence. Please see the BoomboxRapsody/YouTubePlayerEX-resources repository for clarifications.

Star History

Star History Chart

About

YouTube Player EX - The enhanced YouTube video player

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages