Harborz is a lightweight music player written in Rust, designed with a focus on supporting handheld devices such as Pinephone. It utilizes the following libraries to provide a seamless music playback experience:
- libadwaita: A library that enhances GTK 4 applications to better adhere to GNOME's Human Interface Guidelines (HIG).
- gtk4-rs: Rust bindings for GTK 4, providing a powerful toolkit for building graphical user interfaces.
- gstreamer: An open-source multimedia framework for creating streaming media applications.
To quickly get started with Harborz, you can download the latest release from the GitHub release page. Simply choose the appropriate package for your operating system and follow the installation instructions provided.
If you prefer to build Harborz from source, follow these steps:
- Ensure that you have the necessary dependencies installed:
- gstreamer: Refer to the official gstreamer documentation for installation instructions. Note that gstreamer may already be installed on your system.
- gtk4-rs: Follow the installation guide provided by gtk4-rs to set up the necessary dependencies.
- libadwaita: Refer to the libadwaita documentation for installation instructions specific to your platform.
- Clone the Harborz repository to your local machine.
- Navigate to the project directory and build Harborz using Cargo:
cargo build --release
- Once the build process is complete, you will find the Harborz executable at
target/release/harborz
.
The process is very slow and the resulting binary is around 10MB larger, but it works.
- make sure you have docker and docker-compose installed.
- run
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
every once in a while to enable qemu aarch64 emulation. - run
docker-compose up
, you will find Harborz executable attarget/aarch64/release/harborz
.
To add a desktop icon for Harborz, follow these steps:
- Copy the
Harborz.desktop
file to the appropriate directory for your distribution. For example:sudo cp Harborz.desktop /usr/share/applications/
- Open the copied
Harborz.desktop
file in a text editor. - Replace
<harborz git directory>
with the actual directory path where you cloned the Harborz repository. - Save the file.
Harborz utilizes an SQLite database file named harborz.sqlite
. The executable will create and use this file for
storing music-related information.
For any questions, feedback, or support, feel free to join our Harborz Telegram channel.
We appreciate your interest in Harborz and hope you enjoy using it for your music playback needs!