This commit removes sponsorship-related UI elements and functionality from the application, including the donation links and associated logic in the main window and radio services. Additionally, the .gitignore file is updated to exclude various macOS-specific files and directories, ensuring a cleaner build environment while retaining necessary build tooling scripts.
5.3 KiB
Strawberry (macOS-focused fork)
This repository is a macOS-focused fork of the upstream Strawberry Music Player project originally created and maintained by Jonas Kvinge (itself originally forked from Clementine).
The goal of this fork is to make Strawberry build cleanly and repeatably on macOS, with:
- Homebrew dependency installation via
Brewfile - local Homebrew formulas (tap) for missing dependencies
- build / deploy / signing / notarization helper scripts under
build_tools/ - Sparkle feed configuration knobs so you can publish your own updates
Upstream vs this fork (macOS distribution)
Upstream Strawberry is free/open-source, but upstream’s macOS binaries may be distributed via a paid-access channel depending on the release period and policy.
This fork is intended for people who want to:
- build from source on macOS without guesswork
- produce signed + notarized binaries themselves (and optionally distribute them)
General safety note: whether you use upstream builds, your own builds, or someone else’s, only install software from sources you trust and prefer signed + notarized releases.
Quick start (macOS)
Install Homebrew dependencies:
./build_tools/macos/install_brew_deps.sh
Build:
./build_tools/macos/build_app.sh --release --clean
open ./cmake-build-macos-release/strawberry.app
Build + deploy + sign + notarize (+ DMG):
./build_tools/macos/build_sign_notarize.sh --run --release --clean --deploy --dmg \
--identity "Developer ID Application: Your Name (TEAMID)" \
--notary-profile "<profile-name>"
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.
⚙️ 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