#include <JackTrip.h>

Public Types | |
| enum | dataProtocolT { UDP, TCP, SCTP } |
| Enum for the data Protocol. At this time only UDP is implemented. More... | |
| enum | jacktripModeT { SERVER, CLIENT, CLIENTTOPINGSERVER } |
| Enum for the JackTrip mode. More... | |
| enum | underrunModeT { WAVETABLE, ZEROS } |
| Enum for the JackTrip Underrun Mode, when packets. More... | |
| enum | audiointerfaceModeT { JACK, RTAUDIO } |
| Enum for Audio Interface Mode. More... | |
Public Slots | |
| void | slotStopProcesses () |
| Slot to stop all the processes and threads. | |
| void | slotUdpWatingTooLong (int wait_msec) |
| This slot emits in turn the signal signalNoUdpPacketsForSeconds when UDP is waited for more than 30 seconds. | |
Signals | |
| void | signalProcessesStopped () |
| Signal emitted when all the processes and threads are stopped | |
| void | signalNoUdpPacketsForSeconds () |
| Signal emitted when no UDP Packets have been received for a while | |
Public Member Functions | |
| JackTrip (jacktripModeT JacktripMode=CLIENT, dataProtocolT DataProtocolType=UDP, int NumChans=2, int BufferQueueLength=8, unsigned int redundancy=1, AudioInterface::audioBitResolutionT AudioBitResolution=AudioInterface::BIT16, DataProtocol::packetHeaderTypeT PacketHeaderType=DataProtocol::DEFAULT, underrunModeT UnderRunMode=WAVETABLE, int receiver_bind_port=gDefaultPort, int sender_bind_port=gDefaultPort, int receiver_peer_port=gDefaultPort, int sender_peer_port=gDefaultPort) | |
| The class Constructor with Default Parameters. | |
| virtual | ~JackTrip () |
| The class destructor. | |
| virtual void | setPeerAddress (const char *PeerHostOrIP) |
| Set the Peer Address for jacktripModeT::CLIENT mode only. | |
| virtual void | appendProcessPlugin (ProcessPlugin *plugin) |
| Append a process plugin. Processes will be appended in order. | |
| virtual void | start () |
| Start the processing threads. | |
| virtual void | stop () |
| Stop the processing threads. | |
| virtual void | wait () |
| Wait for all the threads to finish. This functions is used when JackTrip is run as a thread. | |
| virtual void | checkIfPortIsBinded (int port) |
| Check if UDP port is already binded. | |
| void | printTextTest () |
| void | printTextTest2 () |
| virtual void | setupJackAudio () |
| Set the JackAudioInteface object. | |
| void | closeJackAudio () |
| Close the JackAudioInteface and disconnects it from JACK. | |
| virtual void | setupDataProtocol () |
| Set the DataProtocol objects. | |
| void | setupRingBuffers () |
| Set the RingBuffer objects. | |
| void | clientStart () |
| Starts for the CLIENT mode. | |
| void | serverStart () |
| Starts for the SERVER mode. | |
| void | clientPingToServerStart () |
| Stats for the Client to Ping Server. | |
Getters and Setters Methods to change parameters after construction | |
| virtual void | setJackTripMode (jacktripModeT JacktripMode) |
| Sets (override) JackTrip Mode after construction. | |
| virtual void | setDataProtocoType (dataProtocolT DataProtocolType) |
| Sets (override) DataProtocol Type after construction. | |
| virtual void | setPacketHeaderType (DataProtocol::packetHeaderTypeT PacketHeaderType) |
| Sets the Packet header type. | |
| virtual void | setBufferQueueLength (int BufferQueueLength) |
| Sets (override) Number of Channels after construction. | |
| virtual void | setAudioBitResolution (AudioInterface::audioBitResolutionT AudioBitResolution) |
| Sets (override) Audio Bit Resolution after construction. | |
| virtual void | setUnderRunMode (underrunModeT UnderRunMode) |
| Sets (override) Underrun Mode. | |
| virtual void | setAllPorts (int port) |
Sets port numbers for the local and peer machine. Receive port is port. | |
| virtual void | setBindPorts (int port) |
| Sets port numbers to bind in RECEIVER and SENDER sockets. | |
| virtual void | setPeerPorts (int port) |
| Sets port numbers for the peer (remote) machine. | |
| virtual void | setClientName (const char *ClientName) |
| Set Client Name to something different that the default (JackTrip). | |
| virtual void | setNumChannels (int num_chans) |
| Set the number of audio channels. | |
| virtual int | getReceiverBindPort () const |
| virtual int | getSenderPeerPort () const |
| virtual int | getSenderBindPort () const |
| virtual int | getReceiverPeerPort () const |
| virtual DataProtocol * | getDataProtocolSender () const |
| virtual DataProtocol * | getDataProtocolReceiver () const |
| virtual void | setDataProtocolSender (DataProtocol *const DataProtocolSender) |
| virtual void | setDataProtocolReceiver (DataProtocol *const DataProtocolReceiver) |
| virtual RingBuffer * | getSendRingBuffer () const |
| virtual RingBuffer * | getReceiveRingBuffer () const |
| virtual void | setSendRingBuffer (RingBuffer *const SendRingBuffer) |
| virtual void | setReceiveRingBuffer (RingBuffer *const ReceiveRingBuffer) |
| virtual void | setPacketHeader (PacketHeader *const PacketHeader) |
| virtual int | getRingBuffersSlotSize () |
| virtual void | setAudiointerfaceMode (JackTrip::audiointerfaceModeT audiointerface_mode) |
Mediator Functions | |
| virtual void | createHeader (const DataProtocol::packetHeaderTypeT headertype) |
| void | putHeaderInPacket (int8_t *full_packet, int8_t *audio_packet) |
| virtual int | getPacketSizeInBytes () |
| void | parseAudioPacket (int8_t *full_packet, int8_t *audio_packet) |
| virtual void | sendNetworkPacket (const int8_t *ptrToSlot) |
| virtual void | receiveNetworkPacket (int8_t *ptrToReadSlot) |
| virtual void | readAudioBuffer (int8_t *ptrToReadSlot) |
| virtual void | writeAudioBuffer (const int8_t *ptrToSlot) |
| uint32_t | getBufferSizeInSamples () const |
| RtAudioInterface::samplingRateT | getSampleRateType () const |
| int | getSampleRate () const |
| uint8_t | getAudioBitResolution () const |
| int | getNumInputChannels () const |
| int | getNumOutputChannels () const |
| virtual void | checkPeerSettings (int8_t *full_packet) |
| void | increaseSequenceNumber () |
| int | getSequenceNumber () const |
| int | getPeerSequenceNumber (int8_t *full_packet) const |
| uint64_t | getPeerTimeStamp (int8_t *full_packet) const |
| size_t | getSizeInBytesPerChannel () const |
| int | getHeaderSizeInBytes () const |
| virtual int | getTotalAudioPacketSizeInBytes () const |
Private Attributes | |
| jacktripModeT | mJackTripMode |
| JackTrip::jacktripModeT. | |
| dataProtocolT | mDataProtocol |
| Data Protocol Tipe. | |
| DataProtocol::packetHeaderTypeT | mPacketHeaderType |
| Packet Header Type. | |
| JackTrip::audiointerfaceModeT | mAudiointerfaceMode |
| int | mNumChans |
| Number of Channels (inputs = outputs). | |
| int | mBufferQueueLength |
| Audio Buffer from network queue length. | |
| uint32_t | mSampleRate |
| Sample Rate. | |
| AudioInterface::audioBitResolutionT | mAudioBitResolution |
| Audio Bit Resolutions. | |
| QString | mPeerAddress |
| Peer Address to use in jacktripModeT::CLIENT Mode. | |
| DataProtocol * | mDataProtocolSender |
| Pointer to Abstract Type DataProtocol that sends packets. | |
| DataProtocol * | mDataProtocolReceiver |
| Pointer to Abstract Type DataProtocol that receives packets. | |
| AudioInterface * | mAudioInterface |
| Interface to Jack Client. | |
| PacketHeader * | mPacketHeader |
| Pointer to Packet Header. | |
| underrunModeT | mUnderRunMode |
| underrunModeT Mode | |
| RingBuffer * | mSendRingBuffer |
| Pointer for the Send RingBuffer. | |
| RingBuffer * | mReceiveRingBuffer |
| Pointer for the Receive RingBuffer. | |
| int | mReceiverBindPort |
| Incoming (receiving) port for local machine. | |
| int | mSenderPeerPort |
| Incoming (receiving) port for peer machine. | |
| int | mSenderBindPort |
| Outgoing (sending) port for local machine. | |
| int | mReceiverPeerPort |
| Outgoing (sending) port for peer machine. | |
| unsigned int | mRedundancy |
| Redundancy factor in network data. | |
| const char * | mJackClientName |
| JackAudio Client Name. | |
| QVector< ProcessPlugin * > | mProcessPlugins |
| Vector of ProcesPlugins. | |
All audio and network settings can be set in this class. This class also acts as a Mediator between all the other class. Classes that uses JackTrip methods need to register with it.
Enum for the JackTrip mode.
Enum for the JackTrip Underrun Mode, when packets.
| JackTrip::JackTrip | ( | jacktripModeT | JacktripMode = CLIENT, |
|
| dataProtocolT | DataProtocolType = UDP, |
|||
| int | NumChans = 2, |
|||
| int | BufferQueueLength = 8, |
|||
| unsigned int | redundancy = 1, |
|||
| AudioInterface::audioBitResolutionT | AudioBitResolution = AudioInterface::BIT16, |
|||
| DataProtocol::packetHeaderTypeT | PacketHeaderType = DataProtocol::DEFAULT, |
|||
| underrunModeT | UnderRunMode = WAVETABLE, |
|||
| int | receiver_bind_port = gDefaultPort, |
|||
| int | sender_bind_port = gDefaultPort, |
|||
| int | receiver_peer_port = gDefaultPort, |
|||
| int | sender_peer_port = gDefaultPort | |||
| ) |
The class Constructor with Default Parameters.
| JacktripMode | JackTrip::CLIENT or JackTrip::SERVER | |
| DataProtocolType | JackTrip::dataProtocolT | |
| NumChans | Number of Audio Channels (same for inputs and outputs) | |
| BufferQueueLength | Audio Buffer for receiving packets | |
| AudioBitResolution | Audio Sample Resolutions in bits | |
| redundancy | redundancy factor for network data |
| JackTrip::~JackTrip | ( | ) | [virtual] |
The class destructor.
| void JackTrip::setPeerAddress | ( | const char * | PeerHostOrIP | ) | [virtual] |
Set the Peer Address for jacktripModeT::CLIENT mode only.
| void JackTrip::appendProcessPlugin | ( | ProcessPlugin * | plugin | ) | [virtual] |
Append a process plugin. Processes will be appended in order.
| plugin | Pointer to ProcessPlugin Class |
| void JackTrip::start | ( | ) | [virtual] |
Start the processing threads.
| void JackTrip::stop | ( | ) | [virtual] |
Stop the processing threads.
| void JackTrip::wait | ( | ) | [virtual] |
Wait for all the threads to finish. This functions is used when JackTrip is run as a thread.
| void JackTrip::checkIfPortIsBinded | ( | int | port | ) | [virtual] |
Check if UDP port is already binded.
| port | Port number |
| virtual void JackTrip::setJackTripMode | ( | jacktripModeT | JacktripMode | ) | [inline, virtual] |
Sets (override) JackTrip Mode after construction.
| virtual void JackTrip::setDataProtocoType | ( | dataProtocolT | DataProtocolType | ) | [inline, virtual] |
Sets (override) DataProtocol Type after construction.
| virtual void JackTrip::setPacketHeaderType | ( | DataProtocol::packetHeaderTypeT | PacketHeaderType | ) | [inline, virtual] |
Sets the Packet header type.
| virtual void JackTrip::setBufferQueueLength | ( | int | BufferQueueLength | ) | [inline, virtual] |
Sets (override) Number of Channels after construction.
| virtual void JackTrip::setAudioBitResolution | ( | AudioInterface::audioBitResolutionT | AudioBitResolution | ) | [inline, virtual] |
Sets (override) Audio Bit Resolution after construction.
| virtual void JackTrip::setUnderRunMode | ( | underrunModeT | UnderRunMode | ) | [inline, virtual] |
Sets (override) Underrun Mode.
| virtual void JackTrip::setAllPorts | ( | int | port | ) | [inline, virtual] |
Sets port numbers for the local and peer machine. Receive port is port.
| virtual void JackTrip::setBindPorts | ( | int | port | ) | [inline, virtual] |
Sets port numbers to bind in RECEIVER and SENDER sockets.
| virtual void JackTrip::setPeerPorts | ( | int | port | ) | [inline, virtual] |
Sets port numbers for the peer (remote) machine.
| virtual void JackTrip::setClientName | ( | const char * | ClientName | ) | [inline, virtual] |
Set Client Name to something different that the default (JackTrip).
| virtual void JackTrip::setNumChannels | ( | int | num_chans | ) | [inline, virtual] |
Set the number of audio channels.
| virtual int JackTrip::getReceiverBindPort | ( | ) | const [inline, virtual] |
| virtual int JackTrip::getSenderPeerPort | ( | ) | const [inline, virtual] |
| virtual int JackTrip::getSenderBindPort | ( | ) | const [inline, virtual] |
| virtual int JackTrip::getReceiverPeerPort | ( | ) | const [inline, virtual] |
| virtual DataProtocol* JackTrip::getDataProtocolSender | ( | ) | const [inline, virtual] |
| virtual DataProtocol* JackTrip::getDataProtocolReceiver | ( | ) | const [inline, virtual] |
| virtual void JackTrip::setDataProtocolSender | ( | DataProtocol *const | DataProtocolSender | ) | [inline, virtual] |
| virtual void JackTrip::setDataProtocolReceiver | ( | DataProtocol *const | DataProtocolReceiver | ) | [inline, virtual] |
| virtual RingBuffer* JackTrip::getSendRingBuffer | ( | ) | const [inline, virtual] |
| virtual RingBuffer* JackTrip::getReceiveRingBuffer | ( | ) | const [inline, virtual] |
| virtual void JackTrip::setSendRingBuffer | ( | RingBuffer *const | SendRingBuffer | ) | [inline, virtual] |
| virtual void JackTrip::setReceiveRingBuffer | ( | RingBuffer *const | ReceiveRingBuffer | ) | [inline, virtual] |
| virtual void JackTrip::setPacketHeader | ( | PacketHeader *const | PacketHeader | ) | [inline, virtual] |
| virtual int JackTrip::getRingBuffersSlotSize | ( | ) | [inline, virtual] |
| virtual void JackTrip::setAudiointerfaceMode | ( | JackTrip::audiointerfaceModeT | audiointerface_mode | ) | [inline, virtual] |
| void JackTrip::createHeader | ( | const DataProtocol::packetHeaderTypeT | headertype | ) | [virtual] |
| int JackTrip::getPacketSizeInBytes | ( | ) | [virtual] |
| virtual void JackTrip::sendNetworkPacket | ( | const int8_t * | ptrToSlot | ) | [inline, virtual] |
| virtual void JackTrip::receiveNetworkPacket | ( | int8_t * | ptrToReadSlot | ) | [inline, virtual] |
| virtual void JackTrip::readAudioBuffer | ( | int8_t * | ptrToReadSlot | ) | [inline, virtual] |
| virtual void JackTrip::writeAudioBuffer | ( | const int8_t * | ptrToSlot | ) | [inline, virtual] |
| uint32_t JackTrip::getBufferSizeInSamples | ( | ) | const [inline] |
| RtAudioInterface::samplingRateT JackTrip::getSampleRateType | ( | ) | const [inline] |
| int JackTrip::getSampleRate | ( | ) | const [inline] |
| uint8_t JackTrip::getAudioBitResolution | ( | ) | const [inline] |
| int JackTrip::getNumInputChannels | ( | ) | const [inline] |
| int JackTrip::getNumOutputChannels | ( | ) | const [inline] |
| void JackTrip::checkPeerSettings | ( | int8_t * | full_packet | ) | [virtual] |
| void JackTrip::increaseSequenceNumber | ( | ) | [inline] |
| int JackTrip::getSequenceNumber | ( | ) | const [inline] |
| int JackTrip::getPeerSequenceNumber | ( | int8_t * | full_packet | ) | const [inline] |
| uint64_t JackTrip::getPeerTimeStamp | ( | int8_t * | full_packet | ) | const [inline] |
| size_t JackTrip::getSizeInBytesPerChannel | ( | ) | const [inline] |
| int JackTrip::getHeaderSizeInBytes | ( | ) | const [inline] |
| virtual int JackTrip::getTotalAudioPacketSizeInBytes | ( | ) | const [inline, virtual] |
| void JackTrip::printTextTest | ( | ) | [inline] |
| void JackTrip::printTextTest2 | ( | ) | [inline] |
| void JackTrip::slotStopProcesses | ( | ) | [inline, slot] |
Slot to stop all the processes and threads.
| void JackTrip::slotUdpWatingTooLong | ( | int | wait_msec | ) | [inline, slot] |
This slot emits in turn the signal signalNoUdpPacketsForSeconds when UDP is waited for more than 30 seconds.
It is used to remove the thread from the server.
| void JackTrip::signalProcessesStopped | ( | ) | [signal] |
Signal emitted when all the processes and threads are stopped
| void JackTrip::signalNoUdpPacketsForSeconds | ( | ) | [signal] |
Signal emitted when no UDP Packets have been received for a while
| void JackTrip::setupJackAudio | ( | ) | [virtual] |
Set the JackAudioInteface object.
| void JackTrip::closeJackAudio | ( | ) |
Close the JackAudioInteface and disconnects it from JACK.
| void JackTrip::setupDataProtocol | ( | ) | [virtual] |
Set the DataProtocol objects.
| void JackTrip::setupRingBuffers | ( | ) |
| void JackTrip::clientStart | ( | ) |
Starts for the CLIENT mode.
| void JackTrip::serverStart | ( | ) |
Starts for the SERVER mode.
| void JackTrip::clientPingToServerStart | ( | ) |
Stats for the Client to Ping Server.
dataProtocolT JackTrip::mDataProtocol [private] |
Data Protocol Tipe.
Packet Header Type.
int JackTrip::mNumChans [private] |
Number of Channels (inputs = outputs).
int JackTrip::mBufferQueueLength [private] |
Audio Buffer from network queue length.
uint32_t JackTrip::mSampleRate [private] |
Sample Rate.
Audio Bit Resolutions.
QString JackTrip::mPeerAddress [private] |
Peer Address to use in jacktripModeT::CLIENT Mode.
DataProtocol* JackTrip::mDataProtocolSender [private] |
Pointer to Abstract Type DataProtocol that sends packets.
DataProtocol* JackTrip::mDataProtocolReceiver [private] |
Pointer to Abstract Type DataProtocol that receives packets.
AudioInterface* JackTrip::mAudioInterface [private] |
Interface to Jack Client.
PacketHeader* JackTrip::mPacketHeader [private] |
Pointer to Packet Header.
underrunModeT JackTrip::mUnderRunMode [private] |
underrunModeT Mode
RingBuffer* JackTrip::mSendRingBuffer [private] |
Pointer for the Send RingBuffer.
RingBuffer* JackTrip::mReceiveRingBuffer [private] |
Pointer for the Receive RingBuffer.
int JackTrip::mReceiverBindPort [private] |
Incoming (receiving) port for local machine.
int JackTrip::mSenderPeerPort [private] |
Incoming (receiving) port for peer machine.
int JackTrip::mSenderBindPort [private] |
Outgoing (sending) port for local machine.
int JackTrip::mReceiverPeerPort [private] |
Outgoing (sending) port for peer machine.
unsigned int JackTrip::mRedundancy [private] |
Redundancy factor in network data.
const char* JackTrip::mJackClientName [private] |
JackAudio Client Name.
QVector<ProcessPlugin*> JackTrip::mProcessPlugins [private] |
Vector of ProcesPlugins.