Skip to content

hypengw/Qcm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6085d0c Â· Feb 20, 2025
Feb 20, 2025
Nov 19, 2024
Nov 14, 2024
Nov 19, 2024
Jul 21, 2024
Nov 17, 2024
Aug 17, 2024
Sep 20, 2024
Apr 4, 2023
Nov 16, 2024
Oct 18, 2024
Nov 16, 2024
Nov 13, 2024
Nov 18, 2024
Oct 18, 2024
Nov 16, 2024
Nov 19, 2024
Nov 17, 2024
Nov 16, 2024
Nov 17, 2024
Nov 16, 2024
Mar 16, 2023
Oct 28, 2023
Oct 8, 2024
Nov 4, 2024
Nov 16, 2024
Nov 16, 2024
Oct 19, 2024
Mar 16, 2023
Feb 2, 2025
Oct 18, 2024
Oct 19, 2024

Repository files navigation

Qcm

Material You cloud music player.

Music Service:

  • Jellyfin(wip)
  • Netease Cloud Music

Installation

Flathub

Download on Flathub

Arch Linux

AUR

[yay/paru] -S qcm

archlinuxcn repository

sudo pacman -S qcm

Dependencies

  • Qt 6.8 (quick, dbus, sql)
  • C++ 23
  • Openssl 3
  • FFmpeg 7
  • Curl

Build

git clone https://github.com/hypengw/Qcm.git  
git submodule update --init

cmake -S . -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

  • How to debug in flatpak

    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 <id> -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
  • sql fts
  • private radio
  • sql api model
  • user session switch
  • feedback
  • upload
  • fade in/out
  • sidebar popup
  • search page
  • lyric
  • audio cache using http proxy(AndroidVideoCache)
  • cache limit
  • sql cache
  • mpris
  • api
  • json
  • http lib(libcurl)

Credits

Libraries Used