3rdparty | ||
cmake | ||
data | ||
dist | ||
ext | ||
src | ||
.gitignore | ||
.travis.yml | ||
Changelog | ||
cmake_uninstall.cmake.in | ||
CMakeLists.txt | ||
COPYING | ||
Dockerfile | ||
README.md |
🍓 Strawberry Music Player
Strawberry is a audio player and music collection organizer. It is a fork of Clementine releaed in 2018 aimed at music collectors, audio enthusiasts and audiophiles. The name is inspired by the band Strawbs. It's based on a heaviliy modified version of Clementine created in 2012-2013. It's written in C++ and Qt 5.
- Website: http://www.strawbs.org/
- Github: https://github.com/jonaski/strawberry
- Buildbot: http://buildbot.strawbs.net/
- Latest builds: http://builds.strawbs.org/
✔️ Features:
- Play and organize music
- Supports WAV, FLAC, WavPack, DSF, DSDIFF, Ogg Vorbis, Speex, MPC, TrueAudio, AIFF, MP4, MP3 and ASF
- Audio CD playback
- Native desktop notifications
- Playlists in multiple formats
- Advanced audio output and device configration for bit-perfect playback on Linux
- Edit tags on music files
- Fetch tags from MusicBrainz
- Album cover art from Last.fm, Musicbrainz and Discogs
- Song lyrics from AudD and API Seeds
- Support for multiple backends
- Audio analyzer
- Equalizer
- Transfer music to iPod, iPhone, MTP or mass-storage USB player
- Integrated Tidal and Deezer support
It has so far been tested to work on Linux, OpenBSD, MacOs and Windows.
❗ Requirements
To build Strawberry from source you need the following installed on your system with the additional development packages/headers:
- GLib, GIO and GObject
- POSIX thread (pthread) libraries
- CMake and Make tools
- GCC or clang compiler
- Protobuf library and compiler
- Boost development headers
- Qt 5 with components Core, Gui, Widgets, Concurrent, Network, Sql and Xml
- Qt 5 components X11Extras and DBus for Linux/BSD, MacExtras for MacOs and WinExtras for Windows
- SQLite3
- TagLib 1.11.1 or higher
- Chromaprint library
- ALSA library (linux)
- DBus (linux)
- PulseAudio (linux optional)
Either GStreamer, Xine, VLC, Deezer or Phonon engine is required, but only GStreamer is fully implemented so far. You should also install the gstreamer plugins base and good, and optionally bad and ugly.
Deezer streams with full songs are encrypted and only urls for preview streams (MP3) are exposed by the API. Full length songs requires the use of deezers own engine (Deezer SDK) or the dzmedia library (I dont have it). Deezer SDK can be found here: https://build-repo.deezer.com/native_sdk/deezer-native-sdk-v1.2.10.zip
Optional:
- The Qt 5 LastFM library is required for fetching album covers from LastFM.
- libcdio - To enable Audio CD support
- libmtp - MTP support.
- libgpod - iPod Classic support.
🔧 Compiling from source
Get the code:
git clone https://github.com/jonaski/strawberry
Compile and install:
mkdir strawberry-build
cd strawberry-build
cmake ../strawberry
make -j8
sudo make install
(dont change to the source directory, if you created the build directory inside the source directory type: cmake .. instead).