<p align="center">
<img src="https://github.com/ludouzi/fooyin/assets/45490980/a6c6923a-5de3-4d29-a6e9-f73ebd5181ac" width="40%" alt="fooyin logo">
</p>

<hr />

<p align="center" style="font-size: 18px;">
<a href="https://github.com/fooyin/fooyin/actions/workflows/build.yml"><img src="https://github.com/fooyin/fooyin/actions/workflows/build.yml/badge.svg" alt="Build status"></a>
<a href="https://app.codacy.com/gh/fooyin/fooyin/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img src="https://app.codacy.com/project/badge/Grade/ae0c3e9825d849b0b64697e59e4dfea6" alt="Code quality"></a>
<a href="https://hosted.weblate.org/engage/fooyin/"><img src="https://hosted.weblate.org/widget/fooyin/svg-badge.svg" alt="Translation status" /></a>
<a href="https://repology.org/project/fooyin/versions"><img src="https://repology.org/badge/tiny-repos/fooyin.svg" alt="Packaging status"></a>
</p>

<hr />

## A customisable music player

fooyin is a customisable desktop music player. It combines flexible playback, library management, playlists, and scripting tools in an interface that can be rearranged from a blank canvas or adapted from preset layouts.

The player is built around extensibility. fooyin supports plugins for widgets, decoders, tag readers, DSPs, and integrations, and includes FooScript for advanced display formatting, queries, autoplaylists, and widget behaviour.

| ![Simple layout](https://fooyin.org/assets/images/simple.webp)     | ![Directory browser layout](https://fooyin.org/assets/images/browser.webp) |
|--------------------------------------------------------------------|----------------------------------------------------------------------------|
| ![Obsidian layout](https://fooyin.org/assets/images/obsidian.webp) | ![Viewer layout](https://fooyin.org/assets/images/viewer.webp)             |
| ![Radio layout](https://fooyin.org/assets/images/radio.webp)       | ![Custom layout](https://fooyin.org/assets/images/custom.webp)             |

## Features

### Playback

- Support for major formats including FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, MKA, Musepack, and Monkey's Audio
- Native support for VGM and tracker/module formats through optional plugins
- Playback of files directly from archives
- Internet radio discovery and remote audio stream playback
- Gapless and bit-perfect playback
- ReplayGain support (including calculation)
- Configurable fade and crossfade behaviour for pause, stop, seek, manual track changes, and automatic transitions
- DSP chains with built-in and plugin-provided DSPs
- Waveform seekbar, spectrum, and VU meter visualisations
- Audio output and device configuration

### Library, playlists, and metadata

- Advanced filtering and search on library and playlist data
- Standard playlists plus autoplaylists
- Playback queue
- M3U/M3U8 import and export
- Library tree and directory browser views
- Built-in tag editor and metadata management tools
- Artwork embedding, downloading, viewing, exporting, and extracting

### Widgets, scripting, and customisation

- Fully customisable interface from a blank canvas or preset layouts
- Lyrics search, editing, syncing, and display
- FooScript for advanced formatting, display logic, queries, and autoplaylists
- Rich text and script formatting support across most widgets and views

### Integrations

- MPRIS support for desktop and media key integration
- Scrobbling support for Last.fm, Libre.fm, ListenBrainz, and custom services
- Discord Rich Presence

## Platform support

fooyin is developed primarily on Linux, with build support for Linux, macOS, Windows, and FreeBSD. 

Official support for Windows and macOS is coming soon.

## Donate

If you would like to support fooyin development, see the [donate page](https://fooyin.org/donate).

## Roadmap

See [ROADMAP.md](ROADMAP.md) for upcoming releases and long-term plans.

## Building from source

See [BUILD.md](BUILD.md) for dependency lists, build steps, and installation.

## Translations

Translations are managed on [Hosted Weblate](https://hosted.weblate.org/projects/fooyin/). Contributions are very welcome.

To test your translation in the application, follow the steps outlined in [issue #679](https://github.com/fooyin/fooyin/issues/679).
