We're making something like Spotify but a bit more open, nerd-targeted, and, in some way, more functional. Hope you like it!
It's still very early in its development, so don't expect anything to work, or to use it in such condition, it's nowhere near ready. But you're welcome to help!
Desired design, but yet not implemented:
You need to have CMake
, Ninja
and Clang
installed. You can install them with your distribution's package manager.
For example, on Arch Linux: you can do:
sudo pacman -Sy cmake clang
And for Ubuntu:
sudo apt-get install -y cmake clang ninja-build
Then, you need to install 4 libraries this project heavily depends on: GTKmm3.0
, Boost
, Flac
and Ogg
. You can build all of them from source (it's what I would definitely recommend for the latter two, as their distribution from package manager usually doesn't include files necessary for CMake
to find them). Boost
, at the same time, can be usually installed with a package manager perfectly fine:
For example, on Arch Linux:
sudo pacman -Sy boost boost-libs ninja gtkmm3
On Ubuntu:
sudo apt-get install -y libboost-all-dev libgtkmm-3.0-dev
Building Ogg
and Flac
is from source is also quite simple: select directory where you want to install them and cd
there, this directory can be anywhere on your system, for example, in /opt/
(beware this directory is usually owned by root
, you will need to clone with sudo
and then change owner of the cloned repository to your user with: sudo chown -R <your-user-name>:<your-usuall-group-usually-has-same-name-as-user> <dir>
).
After you did, you can download and build Ogg
(it should be built first, as Flac
depends on it):
git clone https://github.com/xiph/ogg.git && cd ogg
cmake -B build .
cmake --build build
sudo cmake --build build --target install
And then do pretty much the same for Flac
:
git clone https://github.com/xiph/flac.git && cd flac
cmake -B build .
# Manpages don't build for some reason, so I disabled them:
cmake --build build -DINSTALL_MANPAGES=OFF
sudo cmake --build build --target install
You then build it like any other CMake project, from project's root execute:
# Beware, it uses some Clang extensions to C++, so it won't build with GCC!
cmake -B build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
You can now run project's executable: ./build/src/spotivar
!