一坨屎。 功能基本不可用,写着玩的。 等一个特技狼的 ShadowPlayer2
Go to file
2024-10-13 21:07:45 +08:00
.github/workflows chore(CI): bump msvc build to use Qt 6.8.0 2024-10-12 20:48:08 +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
.editorconfig yyc12345 2024-10-13 21:07:45 +08:00
.gitignore refactor: reuse playlistmanager from my other project 2024-09-06 00:17:39 +08:00
appveyor.yml chore: switch to use KCodecs 2024-09-28 16:59:05 +08:00
CMakeLists.txt yyc12345 2024-10-13 21:07:45 +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 refactor: option to use QTextCodec from Qt5compat 2024-09-29 00:13:42 +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 yyc12345 2024-10-13 21:07:45 +08:00
mainwindow.h yyc12345 2024-10-13 21:07:45 +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.