pineapple-music/README.md
Gary Wang 120d7c1d25
feat: initial fft spectrum visualization support
The final goal is actually still clone ShadowPlayer's spectrum
visualization, tho.
2024-10-20 00:12:09 +08:00

2.7 KiB

Read Before Use

Since I just need a simple player which just works right now, so I did many things in a dirty way. Don't feel so weird if you saw something I did in this project is using a bad approach.

Features

We have the following features:

  • Sidecar lyrics file (.lrc) support with an optional desktop lyrics bar widget
  • Auto-load all audio files in the same folder of the file that you attempted to play, into a playlist

But these features are not available, some of them are TBD and others are not planned:

  • File format support will be limited by the FFmpeg version that Qt 6 uses.
    • ...which if you use Qt's official binary, only contains the LGPLv2.1+ part. (already good enough, tho)
  • No music library management support and there won't be one!
    • It'll auto-load music files in the same folder of the file that you attempted to play, so organize your music files on a folder-basis.
  • Limited system integration:
    • No SMTC support under Windows for now
    • No MPRIS support under Linux desktop for now
    • No "playback progress on taskbar icon" and "taskbar thumbnail buttons" support whatever on Windows or Linux desktop for now
  • Limited lyrics (.lrc) loading support:
    • Currently no .tlrc (for translated lyrics) or .rlrc (for romanized lyrics) support.
    • Multi-line lyrics and duplicated timestamps are not supported
    • Extensions (Walaoke and A2 extension) are not supported

Build

Current state, we need:

  • cmake as the build system.
  • qt6 with qt6-multimedia since we use it for playback.
  • taglib to get the audio file properties.
  • kissfft for FFT support (will be downloaded at configure-time by cmake).

Then we can build it with any proper c++ compiler like g++ or msvc.

Building it just requires normal cmake building steps:

$ cmake -Bbuild
$ cmake --build build

Help Translation!

Translate this project on Codeberg's Weblate!

About License

Pineapple Music as a whole is licensed under MIT license. Individual files may have a different, but compatible license.

All png images inside icons folder are originally created by @ShadowPower for ShadowPlayer. These images are licensed under CC0 license, grant by the original author.