Skip to content

savannstm/revolutionary-audio-player

Repository files navigation

revolutionary-audio-player/renaissance

Description

The Revolutionary Audio Player, abbreviated RAP (which initially was named Rusty Audio Player and developed using gtk4-rs) and codenamed Renaissance is a NEW GENERATION 🔥 minimalistic and FULL FEATURED :trollface: audio player.

Interface

Features

  • mp3, flac, wav, ogg, opus, m4a, mp4, mkv, aac, alac, mov, mka, ac3 audio default support.
  • png, jpeg, bmp, webp, tiff cover image support.
  • Native look and the same capabilities on any platform.
  • Interface, that keeps it simple.
  • Completely portable. Leaves no traces in OS by default!
  • Default tray icon support, close button only hides the window.
    • Volume and progress sliders built right inside the tray icon menu!
  • Built-in ready-to-use 3-, 5-, 10-, 18- and 30-band equalizers with presets.
  • Playlist background images.
  • Flexible playlist system, .xspf and .m3u8 import/export.
  • Playlist searching.
  • Dock window with metadata.
  • Wave visualizer.
  • .cue playing.

Why a new audio player?

There's many audio players already out there, big amount of which is either filled with unnecessary things, or just legacy, like the extremely cool Windows foobar2000 audio player.

This audio player emphasizes clean codebase, little amount of dependencies, simple interface, cross-platform distribution, and being easy overall.

Releases

Linux builds are compiled statically on Alpine Linux with musl - they require NO system libraries.

Windows builds are also compiled statically - no dlls are shipped with them.

You can get those in Releases section.

Build

You need a C++23 compatible compiler: clang, gcc, msvc.

The project uses CMake as build system.

You'll need Qt6, FFmpeg and rapidhash to build the project.

Default builds of the program include FFmpeg built with the following configuration: --enable-asm --enable-optimizations --enable-stripping --disable-debug --enable-static --disable-all --enable-avformat --enable-avcodec --enable-avfilter --enable-swresample --enable-decoder=mp3,flac,opus,aac,alac,vorbis,png,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,jpeg,mjpeg,bmp,webp,ac3,eac3 --enable-demuxer=mp3,flac,ogg,aac,wav,mov,matroska --enable-filter=aformat,firequalizer,aresample,alimiter --enable-protocol=file --enable-zlib

Path to the rapidhash headers can be passed as -DRAPIDHASH_INCLUDE_DIRS.

build.ps1 PowerShell script and build.sh Bash script are used to build the project to build directory.

Script supports -r argument for building in Release mode.

Build artifacts are output to build/target directory.