Skip to content

audiobird/simple-jack-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Simple Header Only C++ Jack Client

An extremely quick and easy way to get audio in or out of your c++ program

Example:

#include "simple-jack-client/jack_audio.hh"
#include <iostream>

constexpr auto num_inputs = 2;
constexpr auto num_outputs = 2;
using Audio = Jack<num_inputs, num_outputs>;

int main() {
  // simply copy inputs to outputs
  auto audio_callback = [](Audio::Context ctx) {
    for (auto i = 0u; i < ctx.get_block_size(); ++i) {
      ctx.out[0][i] = ctx.in[0][i];
      ctx.out[1][i] = ctx.in[1][i];
    }
  };

  // register jack client and callback
  Audio audio{"client name", audio_callback};

  // start processing audio
  if (!audio.start()) {
    std::cout << "failed to start audio" << std::endl;
    return 1;
  }

  while (true) {
  }

  if (!audio.stop()) {
    std::cout << "failed to stop audio" << std::endl;
    return 1;
  }
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages