JackTrip

Public Member Functions | List of all members
JackAudioInterface Class Reference

Class that provides an interface with the Jack Audio Server. More...

`#include <JackAudioInterface.h>`

Inheritance diagram for JackAudioInterface:
[legend]
Collaboration diagram for JackAudioInterface:
[legend]

## Public Member Functions
| JackAudioInterface (JackTrip *jacktrip, int NumInChans, int NumOutChans, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16, const char *ClientName="JackTrip")
| The class constructor. More...
virtual | ~JackAudioInterface ()
| The class destructor. More...
virtual void | setup ()
| Setup the client. More...
virtual int | startProcess () const
| Tell the JACK server that we are ready to roll. The process-callback will start running. This runs on its own thread. More...
virtual int | stopProcess () const
| Stops the process-callback thread. More...
void | connectDefaultPorts ()
| Connect the default ports, capture to sends, and receives to playback. More...
virtual void | setClientName (const char *ClientName)
| Set Client Name to something different that the default (JackTrip) More...
virtual void | setSampleRate (uint32_t)
virtual void | setBufferSizeInSamples (uint32_t)
virtual uint32_t | getSampleRate () const
| Get the Jack Server Sampling Rate, in samples/second. More...
virtual uint32_t | getBufferSizeInSamples () const
| Get the Jack Server Buffer Size, in samples. More...
virtual uint32_t | getBufferSizeInBytes () const
| Get the Jack Server Buffer Size, in bytes. More...
virtual size_t | getSizeInBytesPerChannel () const
| Get size of each audio per channel, in bytes. More...
Public Member Functions inherited from AudioInterface
| AudioInterface (JackTrip *jacktrip, int NumInChans, int NumOutChans, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16)
| The class constructor. More...
virtual | ~AudioInterface ()
| The class destructor. More...
virtual void | callback (QVarLengthArray< sample_t *> &in_buffer, QVarLengthArray< sample_t *> &out_buffer, unsigned int n_frames)
| Process callback. Subclass should call this callback after obtaining the in_buffer and out_buffer pointers. More...
virtual void | appendProcessPlugin (ProcessPlugin *plugin)
| Append a ProcessPlugin. The order of processing is determined by the order by which appending is done. More...
virtual void | setNumInputChannels (int nchannels)
virtual void | setNumOutputChannels (int nchannels)
virtual int | getNumInputChannels () const
| Get Number of Input Channels. More...
virtual int | getNumOutputChannels () const
| Get Number of Output Channels. More...
virtual samplingRateT | getSampleRateType () const
| Get the Jack Server Sampling Rate Enum Type samplingRateT. More...
virtual int | getAudioBitResolution () const
| Get the Audio Bit Resolution, in bits. More...

## Additional Inherited Members
Public Types inherited from AudioInterface
enum | audioBitResolutionT { BIT8 = 1, BIT16 = 2, BIT24 = 3, BIT32 = 4 }
| Enum for Audio Resolution in bits. More...
enum | samplingRateT { SR22, SR32, SR44, SR48, SR88, SR96, SR192, UNDEF }
| Sampling Rates supported by JACK. More...
Static Public Member Functions inherited from AudioInterface
static void | fromSampleToBitConversion (const sample_t *const input, int8_t *output, const AudioInterface::audioBitResolutionT targetBitResolution)
| Convert a 32bit number (sample_t) into one of the bit resolution supported (audioBitResolutionT). More...
static void | fromBitToSampleConversion (const int8_t *const input, sample_t *output, const AudioInterface::audioBitResolutionT sourceBitResolution)
| Convert a audioBitResolutionT bit resolution number into a 32bit number (sample_t) More...
static int | getSampleRateFromType (samplingRateT rate_type)
| Helper function to get the sample rate (in Hz) for a JackAudioInterface::samplingRateT. More...

## Detailed Description

Class that provides an interface with the Jack Audio Server.

Todo:

  implement srate_callback

  automatically starts jack with buffer and sample rate settings specified by the user

## Constructor & Destructor Documentation

## ◆ JackAudioInterface()

JackAudioInterface::JackAudioInterface | ( | JackTrip * | jacktrip,
|  | int | NumInChans,
|  | int | NumOutChans,
|  | AudioInterface::audioBitResolutionT | AudioBitResolution = `AudioInterface::BIT16`,
|  | const char * | ClientName = `"JackTrip"`
| ) |  |

The class constructor.

Parameters

  jacktrip | Pointer to the JackTrip class that connects all classes (mediator)
  NumInChans | Number of Input Channels
  NumOutChans | Number of Output Channels
  AudioBitResolution | Audio Sample Resolutions in bits
  ClientName | Client name in Jack

## ◆ ~JackAudioInterface()

JackAudioInterface::~JackAudioInterface | ( |  | ) |
| virtual

The class destructor.

## Member Function Documentation

## ◆ connectDefaultPorts()

void JackAudioInterface::connectDefaultPorts | ( |  | ) |
| virtual

Connect the default ports, capture to sends, and receives to playback.

Implements AudioInterface.

## ◆ getBufferSizeInBytes()

virtual uint32_t JackAudioInterface::getBufferSizeInBytes | ( |  | ) | const
| inline virtual

Get the Jack Server Buffer Size, in bytes.

## ◆ getBufferSizeInSamples()

uint32_t JackAudioInterface::getBufferSizeInSamples | ( |  | ) | const
| virtual

Get the Jack Server Buffer Size, in samples.

Reimplemented from AudioInterface.

## ◆ getSampleRate()

uint32_t JackAudioInterface::getSampleRate | ( |  | ) | const
| virtual

Get the Jack Server Sampling Rate, in samples/second.

Reimplemented from AudioInterface.

## ◆ getSizeInBytesPerChannel()

size_t JackAudioInterface::getSizeInBytesPerChannel | ( |  | ) | const
| virtual

Get size of each audio per channel, in bytes.

Reimplemented from AudioInterface.

## ◆ setBufferSizeInSamples()

virtual void JackAudioInterface::setBufferSizeInSamples | ( | uint32_t |  | ) |
| inline virtual

Reimplemented from AudioInterface.

## ◆ setClientName()

virtual void JackAudioInterface::setClientName | ( | const char * | ClientName | ) |
| inline virtual

Set Client Name to something different that the default (JackTrip)

Implements AudioInterface.

## ◆ setSampleRate()

virtual void JackAudioInterface::setSampleRate | ( | uint32_t |  | ) |
| inline virtual

Reimplemented from AudioInterface.

## ◆ setup()

void JackAudioInterface::setup | ( |  | ) |
| virtual

Setup the client.

Reimplemented from AudioInterface.

## ◆ startProcess()

int JackAudioInterface::startProcess | ( |  | ) | const
| virtual

Tell the JACK server that we are ready to roll. The process-callback will start running. This runs on its own thread.

Returns
  0 on success, otherwise a non-zero error code

Implements AudioInterface.

## ◆ stopProcess()

int JackAudioInterface::stopProcess | ( |  | ) | const
| virtual

Stops the process-callback thread.

Returns
  0 on success, otherwise a non-zero error code

Implements AudioInterface.

The documentation for this class was generated from the following files:

- src/JackAudioInterface.h
- src/JackAudioInterface.cpp