elk-audio / elkcpp

C++ library to control the Elk Audio OS DAW via gRPC.

Home Page:http://elk.audio

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sushi - gRPC controller wrapper

A simple wrapper for controlling sushi over gRPC via c++.

Installation

Clone the repository and generate the build directory by using:

$ git submodule update --init --recursive
$ ./third-party/vcpkg/bootstrap-vcpkg.sh
$ mkdir build && cd build
$ cmake -DCMAKE_TOOLCHAIN_FILE=../third-party/vcpkg/scripts/buildsystems/vcpkg.cmake ..

Build the library by using:

$ make

Finally install with:

$ make install

Printing errors to std::cout can be enabled by setting the PRINT_ERRORS_TO_CONSOLE option.

Include in CMake-base Projects

First, build and then install elkcpp. The installations includes a CMake package that other projects can use to find the library.

In your CMake project, add these lines:

find_package(gRPC REQUIRED)
find_package(elkcpp CONFIG REQUIRED)
target_link_libraries($YOUR_TARGET elkcpp::elkcpp)

If you don't have gRPC available in your system, you can make it available through vcpkg:

  • Copy the file vcpkg.json of this project to your project folder (or, if you already have vcpkg, add the grpc dependency listed there)
  • Add vcpkg as a submodule:
$ git submodule add https://github.com/Microsoft/vcpkg.git third-party/vcpkg
  • Bootstrap vcpkg in your project directory:
$ ./third-party/vcpkg/bootstrap-vcpkg.sh
  • Pass the option -DCMAKE_TOOLCHAIN_FILE=../third-party/vcpkg/scripts/buildsystems/vcpkg.cmake when configuring your project

Usage

Include the library to your source file using:

#include "sushi_client.h"

To create a controller instance use:

std::shared_ptr<sushi_controller::ControlInterface> controller = sushi_controller::CreateSushiController();

A more in depth example can be found here.

License

elkcpp is licensed under the GNU General Public License v3 (“GPLv3”). Commercial licenses are available on request at tech@elk.audio.

Copyright 2017-2022 Modern Ancient Instruments Networked AB, dba Elk, Stockholm, Sweden.

About

C++ library to control the Elk Audio OS DAW via gRPC.

http://elk.audio

License:GNU General Public License v3.0


Languages

Language:C++ 98.5%Language:CMake 1.5%