#+TITLE: SampleHive #+AUTHOR: Apoorv Singh #+DESCRIPTION: A simple, modern audio sample browser/manager for GNU/Linux. #+begin_html
- Light
#+caption: Light Screenshot of SampleHive
#+html:
** Dependencies
:PROPERTIES:
:CUSTOM_ID: dependencies
:END:
On Arch based distributions,
#+begin_src
sudo pacman -S wxgtk3 sqlite taglib yaml-cpp libsndfile spdlog
#+end_src
On Debian, Ubuntu and distributions based the on two,
#+begin_src
sudo apt install libwxbase3.0-dev libwxgtk-media3.0-gtk3-dev libwxgtk3.0-gtk3-dev wx3.0-headers libsqlite3-dev libyaml-cpp-dev libtagc0-dev libtag1-dev libtagc0 libexif-dev libpango1.0-dev libsndfile1-dev libspdlog-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev
#+end_src
You might also need to install =git=, =cmake=, =meson= and =g++= as well, if you don't already have them installed in order to build SampleHive.
*NOTE:* On Debian and Debian based distributions you also have to install =libwxgtk-media3.0-dev=
*Experimental Windows Build*:
If you want to try out =SampleHive= on =Windows=, you can use the [[https://www.msys2.org/][MSYS2]] environment and [[https://osdn.net/projects/mingw/][MinGW]] compiler for =Windows=. After setting up =MSYS2= and =MinGW= install the following dependencies using the package manager =pacman=.
#+begin_src
pacman -S mingw-w64-x86_64-wxmsw3.1 mingw-w64-x86_64-sqlite mingw-w64-x86_64-taglib mingw-w64-x86_64-yaml-cpp mingw-w64-x86_64-libsndfile mingw-w64-x86_64-spdlog mingw-w64-x86_64-meson mingw-w64-x86_64-cmake git
#+end_src
** How to build SampleHive?
:PROPERTIES:
:CUSTOM_ID: how-to-build-samplehive
:END:
Download the source code from this repository or use a git clone:
#+begin_example
git clone https://gitlab.com/samplehive/sample-hive
cd sample-hive
meson build -Dprefix=/tmp/SampleHive
ninja -C build install
#+end_example
This will install SampleHive under =/tmp/SampleHive=.
The configuration file will be placed under =~/.config/SampleHive/config.yaml= and the database file will be placed under =~/.local/share/SampleHive/sample.hive=
/NOTE:/ If you don't provide the =-Dprefix=/tmp/SampleHive= by default it will be installed under =/usr/local=. You can set the prefix to anything you want.
** How to run SampleHive?
:PROPERTIES:
:CUSTOM_ID: how-to-run-samplehive
:END:
To run SampleHive:
If you provided a prefix, you can go the prefix directory then go to the =bin= directory and run the SampleHive binary, for example, assuming the prefix was set to =/tmp/SampleHive=
#+begin_example
cd /tmp/SampleHive/bin
./SampleHive
#+end_example
If you didn't provide a prefix, you can find SampleHive in your menu system or run launcher and run SampleHive as you would run any other program on you system.
** Are there any keybindings for SampleHive?
:PROPERTIES:
:CUSTOM_ID: are-there-any-keybindings-for-samplehive
:END:
// TODO
** Can I configure SampleHive?
:PROPERTIES:
:CUSTOM_ID: can-i-configure-samplehive
:END:
SampleHive comes with a =config.yaml= file, that is placed under =~/.config/SampleHive/config.yaml=, that you can edit to change some settings for it.
** How do I contribute to the SampleHive?
:PROPERTIES:
:CUSTOM_ID: how-do-i-contribute-to-samplehive
:END:
Want to help by contributing to =SampleHive=, please check out [[https://gitlab.com/samplehive/sample-hive/-/blob/testing/CONTRIBUTING.org][CONTRIBUTING.org]] for more details.
** Want to BuyMeACoffee?
:PROPERTIES:
:CUSTOM_ID: want-to-buy-me-a-coffee
:END:
#+begin_html