Skip to content

Cutting-edge technology for state-of-the-art music orchestration

Notifications You must be signed in to change notification settings

alexpaniman/spotivar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spotivar :: WIP music library/player/storage

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!

WIP Visuals

Desired design, but yet not implemented:

Prerequisites

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

Build

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!

About

Cutting-edge technology for state-of-the-art music orchestration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published