Copyright (C) 2017-2023, Emilien Vallot, Christophe Calmejane and other contributors
Hive is a pro audio Avdecc (IEEE Std 1722.1) controller. Hive allows you to inspect, configure and connect AVB Entities on your network, specifically targeting AVnu Milan compatible devices (but not only).
Precompiled binaries for macOS and Windows can be found here.
- CMake 3.22
- Qt 6.5.2 (although Qt 5.15.2 was supported in the past, it's no longer guaranteed to compile correctly)
- Visual Studio 2022 17.4 (using platform toolset v143), Xcode 14, g++ 11.0
- [Optional, for cross-compilation] Docker / Docker Compose
- Check and install la_avdecc compilation requirements for your system
- Clone this repository
- Copy
.hive_config.sample
to.hive_config
, then edit it for installer customization - Run the
setup_fresh_env.sh
script that should properly setup your working copy - Run the
gen_cmake.sh
script with whatever optional parameters required (run gen_cmake.sh -h to display the help)- [Linux only] For Ubuntu users, install the
qtbase5-dev
package and make sure the major and minor version matches what Hive requires. You can alternatively use the-qtvers
and-qtdir
options when invokinggen_cmake.sh
if you want to use a different Qt version.
- [Linux only] For Ubuntu users, install the
- Go into the generated output folder
- Compile everything
- [macOS/Windows] Open the generated solution and compile from the IDE
- [Linux] Run
cmake --build . --config Release
- Requires
docker
anddocker-compose
to be installed - Go to the
Docker
folder - Build the docker builder image: docker-compose build
- Generate the build solution: docker-compose run --rm gen_cmake -debug -c Ninja -qtvers 6.5.2 -qtdir /usr/local/Qt-6.5.2/lib/cmake -- -DBUILD_HIVE_TESTS=FALSE
- You may change parameters to your convenience
- Build the solution: docker-compose run --rm build --target install
- If you want to run the application, you must authorize X connections to your display: xhost local:root
- You can then run the application from the docker container: APP=Hive-d docker-compose run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --rm run
- Windows users need to have a running X Server:
- Install VcXsrv
- Start it with access control disabled
- Find the IP address of your WSL network interface using ipconfig
- Set a DISPLAY environment variable with value WSL_Interface_IP:0
- Run the
gen_install.sh
script on either Windows or macOS (not supported on Linux yet)
If you want to generate a proper installer that can be distributed (outside the AppStore), you need to notarize the installer. The gen_install.sh
script can do this for you if you define notarization_profile
in the config file.
You need to create a notarization profile that will be saved in your keychain (just once). For that you'll need your Apple team identifier, Apple account ID, and to generate an application-password (you cannot use your Apple ID account password for security reasons). To generate an application-password, do the following:
- Sign in to your Apple ID account page (https://appleid.apple.com/account/home)
- In the Security section, click Generate Password below App-Specific Passwords
- Follow the steps on your screen
To save a profile in your keychain, do the following:
xcrun notarytool store-credentials YourProfileName --apple-id YourAccountEmailAdrs --password YourAppSpecificPwd --team-id YourTeamID
Before running Hive on a macOS system, you must install Install ChmodBPF.pkg
which can be found in /Applications/Hive <Version>/
. If you have previously installed Wireshark or LANetworkManager, then you don't need this step.
Before running Hive on a linux system, you must give the program access to RAW SOCKETS creation. The easiest way to do it is to run the following command (replace /path/to/Hive
with the actual path to the binary):
sudo setcap cap_net_raw+ep /path/to/Hive
We use SemVer for versioning.
See the COPYING and COPYING.LESSER files for details.
Hive uses the following 3rd party resources:
- L-Acoustics (open source) Avdecc libraries
- Qt
- Material Icons
- Discount Markdown
- BugTrap
- Sparkle and WinSparkle
- ChmodBPF macOS script from Wireshark