Jack2  1.9.9
Public Member Functions | List of all members
Jack::NetMidiBuffer Class Reference

#include <JackNetTool.h>

Public Member Functions

 NetMidiBuffer (session_params_t *params, uint32_t nports, char *net_buffer)
 
void Reset ()
 
size_t GetCycleSize ()
 
int GetNumPackets (int data_sizen, int max_size)
 
void SetBuffer (int index, JackMidiBuffer *buffer)
 
JackMidiBufferGetBuffer (int index)
 
void DisplayEvents ()
 
int RenderFromJackPorts ()
 
void RenderToJackPorts ()
 
void RenderFromNetwork (int sub_cycle, size_t copy_size)
 
int RenderToNetwork (int sub_cycle, size_t total_size)
 

Detailed Description

Midi buffer and operations class

This class is a toolset to manipulate Midi buffers. A JackMidiBuffer has a fixed size, which is the same than an audio buffer size. An intermediate fixed size buffer allows to uninterleave midi data (from jack ports). But for a big majority of the process cycles, this buffer is filled less than 1%, Sending over a network 99% of useless data seems completely unappropriate. The idea is to count effective midi data, and then send the smallest packet we can. To do it, we use an intermediate buffer. We have two methods to convert data from jack ports to intermediate buffer, And two others to convert this intermediate buffer to a network buffer (header + payload data)

Definition at line 234 of file JackNetTool.h.


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