一坨屎。 功能基本不可用,写着玩的。 等一个特技狼的 ShadowPlayer2
Go to file
2024-09-27 23:21:57 +08:00
.github/workflows chore: bump CI Qt version, update README.md 2024-09-27 23:21:57 +08:00
assets chore: RC file for windows, taglib tweaks 2024-09-08 15:36:28 +08:00
dist chore: RC file for windows, taglib tweaks 2024-09-08 15:36:28 +08:00
icons feat(UI): add skin support 2024-09-10 08:13:03 +08:00
languages feat: basic lyrics support 2024-09-20 20:59:40 +08:00
.gitignore refactor: reuse playlistmanager from my other project 2024-09-06 00:17:39 +08:00
appveyor.yml fix(CI): correct cmake prefix path for appveyor build 2024-09-23 20:45:38 +08:00
CMakeLists.txt chore: add about dialog 2024-09-23 19:48:26 +08:00
lrcbar.cpp feat: basic lyrics support 2024-09-20 20:59:40 +08:00
lrcbar.h feat: basic lyrics support 2024-09-20 20:59:40 +08:00
lyricsmanager.cpp fix: last line of lyrics is incorrect 2024-09-26 00:03:26 +08:00
lyricsmanager.h fix: lyrics encoding and better lrc support 2024-09-22 17:02:40 +08:00
main.cpp chore: license cleanup, other tweaks 2024-09-08 00:34:45 +08:00
mainwindow.cpp chore: add about dialog 2024-09-23 19:48:26 +08:00
mainwindow.h chore: add about dialog 2024-09-23 19:48:26 +08:00
mainwindow.ui chore: add about dialog 2024-09-23 19:48:26 +08:00
playlistmanager.cpp refactor: reuse playlistmanager from my other project 2024-09-06 00:17:39 +08:00
playlistmanager.h refactor: reuse playlistmanager from my other project 2024-09-06 00:17:39 +08:00
README.md chore: bump CI Qt version, update README.md 2024-09-27 23:21:57 +08:00
resources.qrc feat(UI): add skin support 2024-09-10 08:13:03 +08:00
seekableslider.cpp chore: license cleanup, other tweaks 2024-09-08 00:34:45 +08:00
seekableslider.h chore: license cleanup, other tweaks 2024-09-08 00:34:45 +08:00
singleapplicationmanager.cpp chore: license cleanup, other tweaks 2024-09-08 00:34:45 +08:00
singleapplicationmanager.h chore: license cleanup, other tweaks 2024-09-08 00:34:45 +08:00

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.

Feature Notice

  • 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 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.
  • pkg-config to find the installed taglib.

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.