No description
- C 98.2%
- Makefile 0.9%
- Meson 0.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| data | ||
| src | ||
| tests | ||
| .gitignore | ||
| Makefile | ||
| meson.build | ||
| README.md | ||
Silky
Silky is a lightweight, responsive Libadwaita / GTK4 music player written in C.
Features
- Multi-backend support:
- Local Library: Fast scanning with TagLib metadata extraction (
.mp3,.flac,.ogg,.m4a,.wav,.opus). - Navidrome / Subsonic: MD5 salt authentication, server search, cover art and streaming.
- Deezer: REST search API with high-quality preview streaming.
- SoundCloud: API v2 search and progressive stream resolving.
- YouTube / Invidious: Audio stream extraction.
- Spotify (NTify approach): Spotify metadata mapping with lossless stream resolution.
- Local Library: Fast scanning with TagLib metadata extraction (
- Audio Engine: GStreamer pipeline with shuffle, repeat modes (Off/All/One), continuous playback progression, and seek support.
- Playlists & M3U: SQLite database store with M3U import and export.
- Desktop Integration: Full MPRIS D-Bus support (
org.mpris.MediaPlayer2.Silky) for system media controls and lock screen widgets. - Adaptive UI: Responsive Libadwaita layout scaling down to mobile viewports (
AdwBreakpoint,AdwViewSwitcherBar,AdwClamp).
Releases & Downloads
Pre-built binaries for Alpine Linux (x86_64 and aarch64 / arm64):
- Downloads Hub: https://tilde.horse/~john/silky/
- v1.0.0 Packages:
Run on Alpine
apk add libadwaita gtk4.0 gstreamer gst-plugins-base \
gst-plugins-good gst-plugins-bad gst-plugins-ugly \
gst-libav libsoup3 json-glib sqlite-libs taglib
tar -xvf silky-alpine-x86_64.tar.gz
./silky
Building from Source
Requirements
clang/gccmeson&ninjaormakelibadwaita-1gtk4gstreamer-1.0&gstreamer-audio-1.0libsoup-3.0json-glib-1.0sqlite3taglib_c
Compile with Make
make CC=clang
./silky
Compile with Meson
CC=clang meson setup build
ninja -C build
./build/silky
Run Tests
make test CC=clang