JackTrip
Todo List
Member JackTrip::setupRingBuffers ()
Make all this operations cleaner
Member UdpHubListener::releaseThread (int id)
Check if we really need to return an argument here
Member UdpHubListener::run ()
temp default to 1 channel
Member UdpDataProtocol::run ()
fix this to avoid memory leaks
Member Settings::startJackTrip ()
Change this, just here to test
Member Settings::parseInput (int argc, char **argv)
Specify mandatory arguments
Member RingBuffer::insertSlotNonBlocking (const int8_t *ptrToSlot)
It may be better here to insert the slot anyways, instead of not writing anything
Member PacketHeader::fillHeaderCommonFromAudio ()=0
Implement this using a JackTrip Method (Mediator) member instead of the reference to JackAudio
Member DefaultHeader::checkPeerSettings (int8_t *full_packet)
Check number of channels and other parameters
Member gVersion
Add this namespace
Member JackTrip::createHeader (const DataProtocol::packetHeaderTypeT headertype)
Document all these functions
Member AudioInterface::callback (QVarLengthArray< sample_t * > &in_buffer, QVarLengthArray< sample_t * > &out_buffer, unsigned int n_frames)
Implement for more than one process plugin, now it just works propertely with one. do it chaining outputs to inputs in the buffers. May need a tempo buffer
Member JackTrip::setupAudio ()
FIX THIS REPETITION OF CODE
Class JackAudioInterface

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

implement srate_callback

Member DataProtocol::mJackTrip
check a better way to access the header from the subclasses
Member DataProtocol::setPeerPort (int port)=0
implement here instead of in the subclass UDP
Member DataProtocol::setPeerAddress (const char *peerHostOrIP)=0
implement here instead of in the subclass UDP
Class DataProtocol

The transport protocol itself has to be implemented subclassing this class, i.e., using a TCP or UDP protocol.

This Class should contain definition of jacktrip header and basic funcionality to obtain local machine IPs and maybe functions to manipulate IPs. Redundancy and forward error correction should be implemented on each Transport protocol, cause they depend on the protocol itself

Member AudioInterface::appendProcessPlugin (ProcessPlugin *plugin)
check that channels in ProcessPlugins are less or same that jack channels