https://github.com/hypengw/qcm
Material3 cloud music player
https://github.com/hypengw/qcm
cloudmusic jellyfin material-design netease-music qml
Last synced: 6 months ago
JSON representation
Material3 cloud music player
- Host: GitHub
- URL: https://github.com/hypengw/qcm
- Owner: hypengw
- License: gpl-2.0
- Created: 2023-02-10T11:12:29.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-19T07:25:52.000Z (12 months ago)
- Last Synced: 2024-10-19T11:29:44.334Z (12 months ago)
- Topics: cloudmusic, jellyfin, material-design, netease-music, qml
- Language: C++
- Homepage:
- Size: 2.42 MB
- Stars: 103
- Watchers: 1
- Forks: 5
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Qcm
Material You cloud music player.Music Service:
- Jellyfin(wip)
- Netease Cloud Music
![]()
![]()
![]()
![]()
## Installation
### Flathub
### Arch Linux
#### AUR```shell
[yay/paru] -S qcm
```#### [archlinuxcn](http://github.com/archlinuxcn/repo) repository
```shell
sudo pacman -S qcm
```## Dependencies
- Qt 6.8 (quick, dbus, sql)
- C++ 23
- Openssl 3
- FFmpeg 7
- Curl## Build
```shell
git clone --recursive https://github.com/hypengw/Qcm.gitcmake -S Qcm -B build -GNinja -DCMAKE_BUILD_TYPE=Release
cmake --build build# run without install
export QML_IMPORT_PATH=$PWD/build/qml_modules
./build/app/Qcm# install
cmake --install build
```## FAQ
- Desktop lyrics
> use [waylyrics](https://github.com/waylyrics/waylyrics)- How to debug in flatpak
```bash
flatpak install io.github.hypengw.Qcm.Debug
flatpak run --devel --command=bash io.github.hypengw.Qcm
# 1. run directly
[📦 io.github.hypengw.Qcm ~]$ gdb Qcm
(gdb) run
Enable debuginfod for this session? (y or [n]) n
...
# get the stacktrace
(gdb) bt# 2. or use coredump file
coredumpctl dump -o core.save
flatpak run --devel --filesystem=host --command=bash io.github.hypengw.Qcm
[📦 io.github.hypengw.Qcm ~]$ gdb Qcm core.save
...
```## TODO
- [ ] jellyfin
- [ ] subsonic
- [ ] mac/win
- [ ] offline mode
- [ ] playing page colorpick
- [ ] playing page blur
- [ ] android
- [ ] sql cjk fts
- [x] sql fts
- [x] private radio
- [x] sql api model
- [x] user session switch
- [x] feedback
- [x] upload
- [x] fade in/out
- [x] sidebar popup
- [x] search page
- [x] lyric
- [x] audio cache using http proxy(AndroidVideoCache)
- [x] cache limit
- [x] sql cache
- [x] mpris
- [x] api
- [x] json
- [x] http lib(libcurl)## Credits
### Libraries Used
- [Qt](https://www.qt.io/)
- [ffmpeg](https://www.ffmpeg.org/)
- [curl](https://curl.se/)
- [openssl](https://www.openssl.org/)
- [asio](https://github.com/chriskohlhoff/asio)
- [cubeb](https://github.com/mozilla/cubeb)
- [PEGTL](https://github.com/taocpp/PEGTL)
- [nlohmann/json](https://github.com/nlohmann/json)
- [fmt](https://github.com/fmtlib/fmt)
- [ctre](https://github.com/hanickadot/compile-time-regular-expressions)