This commit updates the Brewfile to include additional optional dependencies such as Vulkan headers, RapidJSON, and various libraries for enhanced functionality. It also modifies CMake files to make the handling of optional components more user-friendly, allowing missing dependencies to disable features without causing build failures on macOS. Additionally, it refines the search paths for the Sparkle framework and adjusts the linking of the discord-rpc library based on the availability of RapidJSON.
🍓 Strawberry Music Player 
Strawberry is a music player and music collection organizer, originally forked from Clementine in 2018. It’s written in C++ using the Qt framework, designed for audiophiles and music collectors.
🌐 Resources
- Website: https://www.strawberrymusicplayer.org
- Wiki: https://wiki.strawberrymusicplayer.org
- Forum: https://forum.strawberrymusicplayer.org
- GitHub: https://github.com/strawberrymusicplayer/strawberry
- Latest builds: https://builds.strawberrymusicplayer.org
- openSUSE Build Service:
- Ubuntu PPAs:
- Translations: https://crowdin.com/project/strawberrymusicplayer
⚠️ Opening an Issue
Before creating a new GitHub issue:
- Read the FAQ.
- Search existing issues to avoid duplicates. If one already exists, comment there with any additional information.
- Use the forum for technical problems, discussions or feature suggestions — it’s better suited for back-and-forth conversation.
- Feature requests are not accepted on GitHub. Issues created for feature requests will be closed. You can still discuss ideas on the forum.
- Flatpak users: We do not maintain the Flatpak package. Report Flatpak-specific issues via Flatpak support.
💰 Sponsoring
Strawberry is free software released under the GPL. If you enjoy using it, please consider supporting development through sponsorship or donation.
Sponsorship options:
Supporting open-source developers helps ensure continued maintenance and improvements.
✅ Features
- Play and organize your music collection
- Supports formats: WAV, FLAC, WavPack, Ogg Vorbis, Opus, MPC, TrueAudio, AIFF, MP4, MP3, ASF, and Monkey’s Audio
- Audio CD playback
- Bit-perfect playback on Linux
- Native desktop notifications
- Advanced playlist management
- Smart and dynamic playlists
- Loudness analysis and EBU R128 normalization
- Editing tags and fetching missing tags via MusicBrainz
- Album art from: Last.fm, MusicBrainz, Discogs, Musixmatch, Deezer, Tidal, Qobuz, Spotify
- Lyrics from: Genius, Musixmatch, ChartLyrics, lyrics.ovh, lololyrics, songlyrics, azlyrics, elyrics, letras, LyricFind and lrclib.net
- Audio analyzer and equalizer
- Transfer music to USB, MTP and iPod devices
- Scrobbling to Last.fm and ListenBrainz
- Streaming from Subsonic-compatible servers
- Unofficial integrations: Tidal, Spotify, and Qobuz
- Discord Rich Presence
✅ Tested on Linux, OpenBSD, FreeBSD, macOS, and Windows.
Note: macOS and Windows releases are currently available to sponsors only. A monthly sponsorship via Patreon grants direct access to new releases.
⚙️ Requirements
To build Strawberry from source, you’ll need:
Dependencies:
- CMake ≥= 3.13
- C/C++ compiler (GCC, Clang, or MSVC)
- pkg-config or pkgconf
- Boost
- GLib
- Qt ≥= 6.4 (Core, Concurrent, Gui, Widgets, Network, SQL, D-Bus)
- SQLite ≥= 3.9
- ALSA (Linux only)
- GStreamer
- TagLib ≥= 1.12
- ICU
- KDSingleApplication ≥= 1.1.0
Dependencies for optional features:
- Fingerprinting & tagging: Chromaprint
- Moodbar: FFTW3
- PulseAudio integration: PulseAudio
- Audio CD support: libcdio
- MTP devices: libmtp
- iPod Classic: libgpod
- EBU R128 normalization: libebur128
- Discord presence: RapidJSON
Also install GStreamer plugins base, good, and optionally bad, ugly and libav for full codec support.
🔧 Build from Source
Get the code:
git clone --recursive https://github.com/strawberrymusicplayer/strawberry
Build and install:
cd strawberry
cmake -S . -B build
cmake --build build --parallel $(nproc)
sudo cmake --install build
For building on Windows with Visual Studio 2022, see: 👉 https://github.com/strawberrymusicplayer/strawberry-msvc
